获取一个Telerik的radgrid控件的行(Get rows of a Telerik RadG

2019-06-26 18:44发布

我工作的一个radgrid控件,我想访问其行,但现在看来,这没有一个.Rows财产。

这是我曾尝试到现在为止:

如何访问rgCustomers的行集? 我想一个按钮添加到每一行。

Answer 1:

据Telerik的文档 ,

“每个动态行中的网格表示从指定的数据源的记录。动态行由该GridDataItem类(的GridItem的后代)表示。

每个GridTableView有型GridDataItem的一组行(Items集合)。”

所以,你要使用的网格,这是GridDataItems集合的项目集合。

protected void btnLoad_Click(object sender, EventArgs e)
{
  rgCustomers.DataSource = odsCustomers;
  rgCustomers.DataBind();
  foreach (GridDataItem row in rgCustomers.Items)
  {
  }
}


Answer 2:

我假设它是WPF / Silverlight的radgrid控件?

如果您要访问数据绑定网格行控制(未行数据) - 你将不得不使用radgrid控件的ItemContainerGenerator财产。 例如:

rgCustomers.ItemContainerGenerator.ContainerFromIndex(0);

要么

rgCustomers.ItemContainerGenerator.ContainerFromItem(odsCustomers[0]);

将返回第一行控制(类型RadGridViewRow如果我没有记错)



Answer 3:

- 如果你想添加的每一行上一个按钮:

GridTemplateColumnGridButtonColumn会做的伎俩。

- 如果您要访问的当前行:

  1. 使用按钮的OnClick事件处理程序。

     <telerik:RadButton ID="BTN_DEMO" runat="server" HeaderText="N°1 DEMO BTN" Text='<%#"Click Me iM N°"+((IhateEvalDataSource) Container.DataItem).Stuff_ID %>' OnClick="BTN_DEMO_Click"></telerik:RadButton> 
  2. 得到使用对GridDataItem的引用(如发送者RadButton).NamingContainer。

     protected void BTN_BL_Click(object sender, EventArgs e) { GridDataItem G = ((RadButton)sender).NamingContainer as GridDataItem; } 
  3. 使用GetDataKeyValue()方法来提取记录ID:

     DEMO_INT = (int)G.GetDataKeyValue("mySweetInt"); DEMO_STRING = (string)G.GetDataKeyValue("MyString"); 


文章来源: Get rows of a Telerik RadGrid