2010-05-10 2 views
2

При обработке события OnUpdateCommand в RadGrid DataItem имеет значение NULL.Telerik Radgrid GridDataItem.DataItem пуст при обновлении (обработчик OnUpdateCommand)

Я думал, что это также будет представлять элемент данных, представляемый строкой.

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 строки, с которой я хочу обработать обновление.

Спасибо,

ответ

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 
} 
2

Предполагая, что ваша сетка находится в режиме редактирования BEFOR Command Ethe Update, вы должны бросить e.Item в GridEditableItem вместо GridDataItem