2

处理 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。

谢谢,

4

2 回答 2

2

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

于 2010-05-10T14:59:22.017 回答
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
}
于 2010-05-14T11:04:50.340 回答