当用户在Telerik Rad Grid中选择一行时,我想在此行中取字段。这该怎么做?
答案 0 :(得分:10)
这有点棘手,但在你完成一次之后很容易。
第1步。
转到Radgrid本身并编辑字段DataKeyNames =“”(在MasterTableView下)并添加您要拉的数据字段:
<MasterTableView ... DataKeyNames="ColumnNameFromSqlGoesHere">
第2步。
决定如何获取值,行更改(SelectedIndexChanged)或按下附加命令的Buttong按下(ItemCommand)。
如果行更改,请根据您的问题:
protected void RadGrid1_SelectedIndexChanged(object sender, EventArgs e)
{
var z = RadGrid1.SelectedItems[0].OwnerTableView.DataKeyValues[RadGrid1.SelectedItems[0].ItemIndex]["ColumnNameFromSqlGoesHere"];
}
这会将变量“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"];
等......你明白了。
答案 1 :(得分:2)
这应该让你去。这是来自Telerik的解决方案:Retrieving primary key values for selected items
答案 2 :(得分:2)
试试这个。这可能对你有所帮助。
步骤1:在radgrid中添加一个radiobutton列
第1步:获取radgrid中所选行的主键。
int primaryKey =0;
RadioButton radioButton;
for (int i = 0; i < RadGrid1.Items.Count; i++)
{
radioButton = RadGrid1.Items[i].FindControl("rdSelect") as RadioButton;
If (radioButton.Checked)
{
primaryKey = RadGrid1.MasterTableView.Items[e.Item.ItemIndex]["ID"].Text;
}
}
如果条件条件中的行将仅用于通过更改字段datakey名称来获取所选行中的字段,即将“ID”更改为其他字段
阅读这篇文章了解更多详情...
http://codedotnets.blogspot.in/2012/01/get-primary-key-selected-radiobutton.html