在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。
谢谢,
答案 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
}