更新时Telerik Radgrid GridDataItem.DataItem为空(OnUpdateCommand处理程序)

时间:2010-05-10 14:47:19

标签: asp.net telerik radgrid

在RadGrid上处理OnUpdateCommand事件时,DataItem为空。

我认为这也代表了行所代表的数据项。

Radgrid是从IList填充的,在处理程序中代码看起来像这样......

protected void rgAllocatedClients_UpdateCommand(object sender, GridCommandEventArgs e)
{
    if (e.Item is GridDataItem)
    {
        var gridDataItem = e.Item as GridDataItem;
        var client= gridDataItem .DataItem as Client;
        ....
        ....

这在处理ItemDataBound事件时可以找到,但在处理UpdateCommand事件时却找不到。我真的需要这个,因为在我的Client类中是我想要处理更新的行的Id。

谢谢,

2 个答案:

答案 0 :(得分:2)

假设您的网格处于编辑模式以及更新命令,您应该将e.Item强制转换为GridEditableItem而不是GridDataItem

答案 1 :(得分:1)

使用GridEditableItem

尝试此操作

 protected void grdContacts_UpdateCommand(object source, Telerik.Web.UI.GridCommandEventArgs e)
    {

        string idEditing = e.Item.OwnerTableView.DataKeyValues[e.Item.ItemIndex]["Id"].ToString();
        GridEditableItem editedItem = e.Item as GridEditableItem;
        Hashtable newValues = new Hashtable();
// ur code
}