2016-05-23 3 views
0

При отладке RadGrid1_UpdateCommand я заметил, что KeyValues ​​объекта GridEditableItem пустые (просто набор скобок). Есть 49 SavedOldValues. В таблице данных, которая выводит сетку, есть первичный ключ.
Источник данных сетки указан вручную в коде C#.Почему строка Telerik RadGrid KeyValues ​​пуста при запуске UpdateCommand?

Почему ключи были бы пустыми?

ответ

1

Вы указали имя (имена) ключа для атрибута DataKeyNames на элементе MasterTableView RadGrid? Скажите, что ваш столбец PK вызывается, ID, тогда вы можете просто назначить его следующим образом.

<telerik:RadGrid runat="server" ID="radgrid1"> 
    <MasterTableView DataKeyNames="ID"> 
     <Columns>...</Columns> 
    </MasterTableView> 
</telerik:RadGrid> 

Затем вы можете получить значение ключа с помощью коллекции DataKeyValues ​​и затем преобразовать его в качестве целого для использования.

protected void radgrid1_UpdateCommand(object source, Telerik.Web.UI.GridCommandEventArgs e) 
{ 
    var keyValue = e.Item.OwnerTableView.DataKeyValues[e.Item.ItemIndex]["ID"].ToString(); 
    int id = Convert.ToInt32(keyValue); 
} 
+0

Это было, спасибо! –