2012-05-24 2 views
0

Mon Infragistics WebDataGrid n'entre pas en mode d'édition de cellule lorsque je double-clique sur une cellule. Il ne passe pas en mode serveur - rien ne se passe. Seuls les événements côté client se produisent mais je doute qu'ils soient nécessaires. Quel est le problème avec le segment asp.net ci-dessous?Impossible d'éditer la cellule est un Infragistics WebDataGrid dans ASP.Net 4.0/Visual Studio 2010. Pourquoi?

<infra:WebDataGrid ID="wdgProjects" runat="server" EnableAjax="true" AutoGenerateColumns="False" 
         DataSourceID="sqlProjects" DataKeyFields="ProjectID" 
         OnInitializeRow="wdgProjects_InitializeRow" 
         OnCellSelectionChanged="wdgProjects_CellSelectionChanged" 
         OnActiveCellChanged="wdgProjects_ActiveCellChanged" 
        > 
         <Columns> 
          <infra:TemplateDataField Key="ProjectID" Header-Text="Project ID"> 
           <ItemTemplate> 
            <asp:Label ID="lblProjectID" runat="server" /> 
           </ItemTemplate> 
          </infra:TemplateDataField> 
          <infra:TemplateDataField Key="ProjectName" Header-Text="Project Name"> 
           <ItemTemplate> 
            <asp:Label ID="lblProjectName" runat="server" /> 
           </ItemTemplate> 
          </infra:TemplateDataField> 
          <infra:TemplateDataField Key="ReportingPeriod" Header-Text="Reporting Period"> 
           <ItemTemplate> 
            <asp:Label ID="lblReportingPeriod" runat="server" /> 
           </ItemTemplate> 
          </infra:TemplateDataField> 
          <infra:TemplateDataField Key="ProjectCreator" Header-Text="Project Creator"> 
           <ItemTemplate> 
            <asp:Label ID="lblProjectCreator" runat="server" /> 
           </ItemTemplate> 
          </infra:TemplateDataField> 
          <infra:TemplateDataField Key="ProjectCreation" Header-Text="Project Creation Date"> 
           <ItemTemplate> 
            <asp:Label ID="lblProjectCreation" runat="server" /> 
           </ItemTemplate> 
          </infra:TemplateDataField> 
         </Columns> 
         <Behaviors> 
          <infra:Activation Enabled="true" /> 
          <infra:Selection RowSelectType="Single" CellClickAction="Cell" /> 
          <infra:EditingCore AutoCRUD="false" Enabled="true" BatchUpdating="false"> 
           <Behaviors> 
            <infra:CellEditing Enabled="true" EditModeActions-MouseClick="Double"> 
             <ColumnSettings> 
              <infra:EditingColumnSetting ColumnKey="ProjectID" ReadOnly="true" /> 
              <infra:EditingColumnSetting EditorID="txtProjectName" ColumnKey="ProjectName" /> 
              <infra:EditingColumnSetting EditorID="ddlReportingPeriod" ColumnKey="ReportingPeriod"/> 
              <infra:EditingColumnSetting EditorID="txtProjectCreator" ColumnKey="ProjectCreator" /> 
              <infra:EditingColumnSetting EditorID="calProjectCreation" ColumnKey="ProjectCreation" /> 
             </ColumnSettings> 
            </infra:CellEditing> 
            <infra:RowAdding Alignment="Bottom" EditModeActions-MouseClick="Double"/> 
            <infra:RowDeleting Enabled="true" /> 
           </Behaviors> 
          </infra:EditingCore> 
          <infra:Sorting> 
           <ColumnSettings> 
            <infra:SortingColumnSetting ColumnKey="ProjectID" /> 
            <infra:SortingColumnSetting ColumnKey="ProjectName" /> 
            <infra:SortingColumnSetting ColumnKey="ReportingPeriod" /> 
            <infra:SortingColumnSetting ColumnKey="ProjectCreator" /> 
            <infra:SortingColumnSetting ColumnKey="ProjectCreation" /> 
           </ColumnSettings> 
          </infra:Sorting> 
          <infra:Paging PageSize="15" /> 
         </Behaviors> 
         <EditorProviders> 
          <infra:TextEditorProvider ID="txtProjectName"> 
           <EditorControl ClientIDMode="Predictable"/> 
          </infra:TextEditorProvider> 
          <infra:DropDownProvider ID="ddlReportingPeriod"> 
           <EditorControl DataSourceID="sqlReportingPeriod" TextField="Name" ValueField="Value" 
            EnableDropDownAsChild="False" DisplayMode="DropDownList" ClientIDMode="Predictable" DropDownContainerMaxHeight="200px" 
           > 
            <DropDownItemBinding TextField="Name" ValueField="Value" /> 
           </EditorControl> 
          </infra:DropDownProvider> 
          <infra:TextEditorProvider ID="txtProjectCreator"> 
           <EditorControl ClientIDMode="Predictable"/> 
          </infra:TextEditorProvider> 
          <infra:WebDateChooserProvider ID="calProjectCreation"/> 
         </EditorProviders> 
         <AjaxIndicator Enabled="True" /> 
        </infra:WebDataGrid> 

        <asp:SqlDataSource runat="server" ID="sqlProjects" ConnectionString="<%$ ConnectionStrings:HelloUranus %>" 
         SelectCommand="<%$ AppSettings:GetProjects %>" SelectCommandType="StoredProcedure" 
         InsertCommand="<%$ AppSettings:InsertProject %>" InsertCommandType="StoredProcedure" 
         UpdateCommand="<%$ AppSettings:UpdateProject %>" UpdateCommandType="StoredProcedure" 
         DeleteCommand="<%$ AppSettings:DeleteProject %>" DeleteCommandType="StoredProcedure" 
         OnSelecting="sqlProjects_Selecting" 
         OnUpdating="sqlProjects_Updating" 
        > 
         <SelectParameters> 
          <asp:Parameter Name="ProjectID" Type="Int32" /> 
          <asp:Parameter Name="ProjectName" Type="String" /> 
         </SelectParameters> 
        </asp:SqlDataSource> 
        <asp:SqlDataSource runat="server" ID="sqlReportingPeriod" ConnectionString="<%$ ConnectionStrings:Floobarf %>" 
         SelectCommand="<%$ AppSettings:ReportingPeriods %>" 
        /> 
+0

Il se peut que j'ai choisi TemplateDataFields; ceux-ci ne semblent pas autoriser le double-clic sur les cellules. La documentation pour TemplateDataFields implique qu'il n'y a pas de différence entre WebDataGrid et les GridViews ASP.Net ordinaires: http://help.infragistics.com/Help/NetAdvantage/ASPNET/2011.2/CLR4.0/html/WebDataGrid_Using_Item_Template.html – JonathanWolfson

Répondre

1

Lorsque vous utilisez TemplateDataField les contrôles dans le modèle sera affiché à tout moment et il n'y a pas un mode d'édition de ces cellules à moins que vous implémentez que, dans votre modèle. Si vous recherchez le comportement par défaut dans lequel vous pouvez double-cliquer pour modifier une cellule, vous devez utiliser BoundDataField à la place. Si cela est fait, la grille utilisera l'éditeur que vous avez spécifié dans le paramètre ColumnSettings pour votre CellEditing.

Questions connexes