如何在Telerik RadGrid中选择行?

ozk*_*ank 3 c# asp.net telerik telerik-grid

当用户在Telerik Rad Grid中选择一行时,我想在此行中获取字段.这该怎么做?

Kre*_*epN 10

这有点棘手,但在你完成一次之后很容易.

步骤1.

转到Radgrid本身并编辑字段DataKeyNames =""(在MasterTableView下)并添加您要拉的数据字段:

<MasterTableView ... DataKeyNames="ColumnNameFromSqlGoesHere">
Run Code Online (Sandbox Code Playgroud)

第2步.

决定如何获取值,行更改(SelectedIndexChanged)或按下附加命令的Buttong按下(ItemCommand).

如果行更改,请根据您的问题:

protected void RadGrid1_SelectedIndexChanged(object sender, EventArgs e)
{
    var z = RadGrid1.SelectedItems[0].OwnerTableView.DataKeyValues[RadGrid1.SelectedItems[0].ItemIndex]["ColumnNameFromSqlGoesHere"];
}
Run Code Online (Sandbox Code Playgroud)

这会将变量"z"分配给您在该给定行选择的列(ColumnNameFromSqlGoesHere)的值.

如果您希望每次更改行时选择多个变量,则需要在DataKeyNames =""下添加要选择的所有值.(以逗号分隔).然后,您将通过SelectedIndexChanged方法中的代码获取每个值:

var a = RadGrid1.SelectedItems[0].OwnerTableView.DataKeyValues[RadGrid1.SelectedItems[0].ItemIndex]["SecondColumnGoesHere"];

var b = RadGrid1.SelectedItems[0].OwnerTableView.DataKeyValues[RadGrid1.SelectedItems[0].ItemIndex]["ThirdColumnGoesHere"];
Run Code Online (Sandbox Code Playgroud)

等等......你明白了.