Telerik Radgrid GridDataItem.DataItem пуст при обновлении (обработчик OnUpdateCommand) - PullRequest
2 голосов
/ 10 мая 2010

При обработке события OnUpdateCommand в RadGrid DataItem имеет значение null.

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

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

Спасибо

Ответы [ 2 ]

2 голосов
/ 10 мая 2010

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

1 голос
/ 14 мая 2010

Попробуйте это с помощью 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
}
...