2011-12-05 51 views
3

当用户在Telerik Rad Grid中选择一行时,我想要在这一行中输入字段。这个怎么做? 如何选择Telerik RadGrid中的行?

+0

http://stackoverflow.com/questions/33822075/cannot-identify-selected-page-in-telerik-grid-i-need-selected-page-to-be - underl – Sachin

回答

9

这是一个有点棘手,但很容易,你做完一次后。

第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"]; 

等等......您明白了。

2

试试这个。这可能会帮助你。

步骤1:在radgrid控件

STEP 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

+1

欢迎来到StackOverflow!请在答案中添加一些解释。这样,如果链接死亡,你的答案仍然有用。 –

+0

你可以在这个网站上编辑你的帖子。在这种情况下,我已将您的评论编辑为答案 - 其他人也可以在此处编辑您的帖子。 –

+0

谢谢@ S.L.Barth。 – suyog