<telerik:RadGrid ID="radGrid" runat="server" AllowPaging="true" AllowCustomPaging="True"
GridLines="None" PageSize="20" AllowMultiRowSelection="true" ClientSettings-Selecting-AllowRowSelect="true"
AutoGenerateColumns="false" onneeddatasource="radGrid_NeedDataSource" OnItemCreated="radGrid_ItemCreated"
OnItemDataBound="radGrid_ItemDataBound" OnItemCommand="radGrid_ItemCommand"
DataKeyNames="ClientID">
<mastertableview datakeynames="ID" gridlines="None" width="100%">
<PagerTemplate> and so on ... </telerik:RadGrid>
Scenario : - Given above is the markup of a Telerik RagGrid control I am using. I tried to access the KeyValue of the GridColumn, the usual way,
Int32 key = Convert.ToInt32((e.Item as GridDataItem).GetDataKeyValue("ID"));
This is not working. Is there an alternate?
Please try with below code snippet.
protected void RadGrid1_ItemDataBound(object sender, GridItemEventArgs e)
{
if (e.Item is GridDataItem)
{
// NORMAL MODE
GridDataItem item = e.Item as GridDataItem;
string strId = item.GetDataKeyValue("ID").ToString();
}
if (e.Item is GridEditableItem && e.Item.IsInEditMode)
{
if (e.Item is GridEditFormInsertItem)
{
// INSERT MODE
GridEditableItem editedItem = e.Item as GridEditableItem;
}
else
{
// EDIT MODE
GridEditableItem editedItem = e.Item as GridEditableItem;
string strId = editedItem.GetDataKeyValue("ID").ToString();
}
}
}
protected void RadGrid1_ItemCommand(object sender, GridCommandEventArgs e)
{
if (e.CommandName == "YourCommandName")
{
GridDataItem item = e.Item as GridDataItem;
string strId = item.GetDataKeyValue("ID").ToString();
}
}