当UpdateCommand运行时,为什么Telerik RadGrid KeyValues字符串为空?

时间:2016-05-23 20:59:12

标签: c# telerik radgrid

在调试RadGrid1_UpdateCommand时,我注意到GridEditableItem的KeyValues为空(只是一个括号)。有49个SavedOldValues。源网格的数据表上有一个主键 网格数据源是在C#代码中手动指定的。

为什么KeyValues会为空?

1 个答案:

答案 0 :(得分:1)

您是否在RadGrid的MasterTableView元素上指定了DataKeyNames属性的键名?假设您的PK列被称为ID,那么您可以像这样分配它。

<telerik:RadGrid runat="server" ID="radgrid1">
    <MasterTableView DataKeyNames="ID">
        <Columns>...</Columns>
    </MasterTableView>
</telerik:RadGrid>

然后,您可以通过DataKeyValues集合获取键值,然后将其转换为整数以供使用。

protected void radgrid1_UpdateCommand(object source, Telerik.Web.UI.GridCommandEventArgs e)
{
    var keyValue = e.Item.OwnerTableView.DataKeyValues[e.Item.ItemIndex]["ID"].ToString();
    int id = Convert.ToInt32(keyValue);
}