Radgrid里面的editform设置

时间:2013-08-13 16:26:13

标签: c#-4.0 telerik telerik-grid itemdatabound

我在编辑表单中有一个radgrid。我绑定了itemdatabound上的radgrid。

        int id= Convert.ToInt32(editForm.GetDataKeyValue("ID").ToString());
        RadGrid SummaryGrid = (RadGrid)item.FindControl("SummaryGrid");
        SummaryGrid.DataSource = spObj.Sp_GetProjectDetails(id);
        SummaryGrid.Visible = true;
        SummaryGrid.Enabled = true;
        SummaryGrid.DataBind();

问题是我只能编辑网格中的最后一行。我能够看到数据绑定到最后一行的内部网格。对于所有其他行,我得到以下错误。

“从DataSource中提取DataKeyValues时出现问题。请确保正确指定了DataKeyNames,并且DataSource中存在指定的所有字段。”

我的网格内编辑:

     <telerik:RadGrid ID="SummaryGrid" runat="server" AllowPaging="True" PageSize="50"      AutoGenerateColumns="true"   Visible="true"   
 AllowMultiRowSelection="true" AllowSorting="true" Skin="Hay" Width ="500px" >
  <MasterTableView  DataKeyNames="ProjectID"  CommandItemDisplay="Top"      TableLayout="Fixed" Caption ="Position-Specific Network + Activity Code Totals"  Font-Bold="true" Font-Size="Small" Font-Names ="Ericsson Capital TT" >
   <PagerStyle Mode="NumericPages" Position="Top"></PagerStyle>
 <CommandItemSettings ShowAddNewRecordButton="false"/>
  </MasterTableView></telerik:RadGrid>
 </telerik:RadAjaxPanel>

这个问题阻碍了开发。有人建议对此有任何帮助吗?任何帮助/想法都受到高度赞赏。

由于

1 个答案:

答案 0 :(得分:0)

  

int id= Convert.ToInt32(editForm.GetDataKeyValue("ID").ToString());

这应该使用ProjectID而不是ID。 ID不是您在MasterTableView中指定的数据密钥。