【发布时间】:2012-01-13 15:52:53
【问题描述】:
当用户在 Telerik Rad Grid 中选择一行时,我想获取该行中的字段。这个怎么做?
【问题讨论】:
标签: c# asp.net telerik telerik-grid
当用户在 Telerik Rad Grid 中选择一行时,我想获取该行中的字段。这个怎么做?
【问题讨论】:
标签: c# asp.net telerik telerik-grid
这有点棘手,但完成一次后就很容易了。
第 1 步。
转到 Radgrid 本身并编辑字段 DataKeyNames=""(在 MasterTableView 下)并添加您要提取的数据字段:
<MasterTableView ... DataKeyNames="ColumnNameFromSqlGoesHere">
第 2 步。
决定如何获取值,在行更改 (SelectedIndexChanged) 或在按钮按下时附加命令 (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"];
等等……你懂的。
【讨论】:
这应该会让你继续前进。这是直接来自 Telerik 的解决方案:Retrieving primary key values for selected items
【讨论】:
试试这个。这可能会对您有所帮助。
第一步:在 radgrid 中添加一个单选按钮列
第一步:获取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;
}
}
if 条件中的行将用于从选定行中获取字段,只需更改字段数据键名称即可,即将“ID”更改为其他字段
阅读本文了解更多详情...
http://codedotnets.blogspot.in/2012/01/get-primary-key-selected-radiobutton.html
【讨论】: