2014-07-07 55 views
0

我在.aspx文件中有以下内容。当用户点击编辑时,我喜欢它显示可以更新或取消的表单。目前,当我点击编辑时,它什么都不做。请注意,我正在从后面的代码处理数据源。因此,我没有对radgrid控件在.aspx文件中数据源:Telerik RadGrid需要编辑模式

这里是我的代码:

 <telerik:RadGrid ID="rdClosedLoop" runat="server" GridLines="None" OnDeleteCommand="DeleteClosedLoop" 
       Skin="Metro" ActiveItemStyle-HorizontalAlign="Center" AutoGenerateEditColumn="true" > 
       <MasterTableView EditMode="EditForms" AutoGenerateColumns="False" DataKeyNames="ID" >      
        <RowIndicatorColumn> 
         <HeaderStyle Width="20px" /> 
        </RowIndicatorColumn> 
        <ExpandCollapseColumn> 
         <HeaderStyle Width="20px" /> 
        </ExpandCollapseColumn> 
        <Columns>               


          <telerik:GridBoundColumn DataField="ID" HeaderText="ID" SortExpression="ID" EditFormColumnIndex="0" 
          UniqueName="ID" HeaderStyle-HorizontalAlign="Center"> 
         </telerik:GridBoundColumn>  

         <telerik:GridBoundColumn DataField="ActiveInhibitor" HeaderText="ActiveInhibitor" SortExpression="ActiveInhibitor" EditFormColumnIndex="0" 
          UniqueName="ActiveInhibitor" HeaderStyle-HorizontalAlign="Center"> 
         </telerik:GridBoundColumn>  



         <telerik:GridBoundColumn DataField="Conductivity" HeaderText="Conductivity" SortExpression="Conductivity" EditFormColumnIndex="0" 
          UniqueName="Conductivity" HeaderStyle-HorizontalAlign="Center"> 
         </telerik:GridBoundColumn>                        

         <telerik:GridButtonColumn CommandName="Delete" Text="Delete" UniqueName="DeleteColumn"> 
         </telerik:GridButtonColumn> 

        </Columns> 

         <EditFormSettings ColumnNumber="1" CaptionFormatString="Edit for ID {0}" 
       CaptionDataField="ID"> 
       <FormTableItemStyle Wrap="False"></FormTableItemStyle> 
       <FormCaptionStyle CssClass="EditFormHeader"></FormCaptionStyle> 
       <FormMainTableStyle GridLines="None" CellSpacing="0" CellPadding="3" Width="100%"> 
       </FormMainTableStyle> 
       <FormTableStyle GridLines="Horizontal" CellSpacing="0" CellPadding="2" CssClass="module" 
        Height="110px" Width="100%"></FormTableStyle> 
       <FormTableAlternatingItemStyle Wrap="False"></FormTableAlternatingItemStyle> 
       <FormStyle Width="100%" BackColor="#eef2ea"></FormStyle> 
       <EditColumn UpdateText="Update record" UniqueName="EditCommandColumn1" CancelText="Cancel edit"> 
       </EditColumn> 
       <FormTableButtonRowStyle HorizontalAlign="Left" CssClass="EditFormButtonRow"></FormTableButtonRowStyle> 
      </EditFormSettings> 

       </MasterTableView> 
       <HeaderContextMenu CssClass="GridContextMenu GridContextMenu_Default" EnableImageSprites="True"> 
       </HeaderContextMenu> 
      </telerik:RadGrid> 

后面的代码:

protected void btnClosedLoop_Click(object sender, EventArgs e) 
    { 
     // Note - verId is based on some conditions 

     var resultCLList = (from ms in db.ver_ClosedLoop 
         where ms.VerificationId == verId 
         select ms).ToList(); 


     rdClosedLoop.DataSource = resultCLList; 
     rdClosedLoop.DataBind(); 

    } 
+0

你的意思是“它什么都不做”?当你点击编辑时,没有编辑窗体打开? – FeliceM

+0

@ FeliceM - 是的,这是正确的。没有编辑表单打开。我认为我的问题之一是我没有使用带有.aspx文件的数据源。原因是,点击一个按钮,我需要产生radgrid,因为在后面的代码中,我得到了设置数据源并做了一个数据绑定() –

+0

我不明白你为什么不能在标记中使用数据源。你能否详细说明这一点,以便我可以尝试提供帮助?你的代码中的数据源在哪里? – FeliceM

回答

0

请下面的代码尝试片段。

ASPX

<telerik:RadGrid ID="rdClosedLoop" runat="server" GridLines="None" 
     Skin="Metro" ActiveItemStyle-HorizontalAlign="Center" AutoGenerateEditColumn="true" 
     OnItemCommand="rdClosedLoop_ItemCommand"> 
     <MasterTableView EditMode="EditForms" AutoGenerateColumns="False" DataKeyNames="ID"> 
      <RowIndicatorColumn> 
       <HeaderStyle Width="20px" /> 
      </RowIndicatorColumn> 
      <ExpandCollapseColumn> 
       <HeaderStyle Width="20px" /> 
      </ExpandCollapseColumn> 
      <Columns> 
       <telerik:GridBoundColumn DataField="ID" HeaderText="ID" SortExpression="ID" EditFormColumnIndex="0" 
        UniqueName="ID" HeaderStyle-HorizontalAlign="Center"> 
       </telerik:GridBoundColumn> 
       <telerik:GridButtonColumn CommandName="Delete" Text="Delete" UniqueName="DeleteColumn"> 
       </telerik:GridButtonColumn> 
      </Columns> 
      <EditFormSettings ColumnNumber="1" CaptionFormatString="Edit for ID {0}" CaptionDataField="ID"> 
       <FormTableItemStyle Wrap="False"></FormTableItemStyle> 
       <FormCaptionStyle CssClass="EditFormHeader"></FormCaptionStyle> 
       <FormMainTableStyle GridLines="None" CellSpacing="0" CellPadding="3" Width="100%"> 
       </FormMainTableStyle> 
       <FormTableStyle GridLines="Horizontal" CellSpacing="0" CellPadding="2" CssClass="module" 
        Height="110px" Width="100%"></FormTableStyle> 
       <FormTableAlternatingItemStyle Wrap="False"></FormTableAlternatingItemStyle> 
       <FormStyle Width="100%" BackColor="#eef2ea"></FormStyle> 
       <EditColumn UpdateText="Update record" UniqueName="EditCommandColumn1" CancelText="Cancel edit"> 
       </EditColumn> 
       <FormTableButtonRowStyle HorizontalAlign="Left" CssClass="EditFormButtonRow"></FormTableButtonRowStyle> 
      </EditFormSettings> 
     </MasterTableView> 
     <HeaderContextMenu CssClass="GridContextMenu GridContextMenu_Default" EnableImageSprites="True"> 
     </HeaderContextMenu> 
    </telerik:RadGrid> 

ASPX.CS

protected void Button1_Click(object sender, EventArgs e) 
{ 
    rdClosedLoop.DataSource = getDummyData(0); 
    rdClosedLoop.DataBind(); 
} 

protected DataTable getDummyData(int verId) 
{ 
    // Note - verId is based on some conditions 

    DataTable dt = new DataTable(); 
    dt.Columns.Add("ID",typeof(int)); 
    dt.Rows.Add(1); 
    dt.Rows.Add(2); 
    dt.Rows.Add(3); 

    return dt; 
} 

protected void rdClosedLoop_ItemCommand(object sender, GridCommandEventArgs e) 
{ 
    if (e.CommandName == RadGrid.EditCommandName) 
    { 
     rdClosedLoop.DataSource = getDummyData(0); 
     rdClosedLoop.DataBind(); 
    } 
} 

让我知道如果任何问题。

相关问题