2012-05-24 25 views
0

雙擊單元格時,我的Infragistics WebDataGrid不進入單元格編輯模式。它不進入服務器模式 - 沒有任何反應。只有客戶端事件發生,但我懷疑這是必要的。下面的asp.net部分有什麼問題?無法編輯單元格是ASP.Net 4.0/Visual Studio 2010中的Infragistics WebDataGrid。爲什麼?

<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

可能是因爲我選擇了TemplateDataFields;那些似乎不允許雙擊單元格。 TemplateDataFields的文檔化意味着WebDataGrid和普通的ASP.Net GridViews之間沒有區別:http://help.infragistics.com/Help/NetAdvantage/ASPNET/2011.2/CLR4.0/html/WebDataGrid_Using_Item_Template.html – JonathanWolfson

回答

1

當使用TemplateDataField在模板中的控件將在任何時候都可以顯示並沒有,除非你實現你的模板內的編輯模式這些細胞。如果您正在尋找可以雙擊編輯單元格的默認行爲,則應該使用BoundDataField。如果這樣做,那麼網格將使用ColumnSettings中爲您的CellEditing行爲指定的編輯器。

相關問題