<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>
场景:-上面给出的是我正在使用的Telerik RagGrid控件的标记。我尝试以通常的方式访问GridColumn的KeyValue,
Int32 key = Convert.ToInt32((e.Item as GridDataItem).GetDataKeyValue("ID"));
这不起作用。有替代品吗?
最佳答案
请尝试以下代码段。
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();
}
}
关于asp.net - 如何从Telerik RadGrid获取 'KeyValue'?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12858487/