获取Telerik RadGrid的行

我正在研究RadGrid,我想访问它的行,但似乎它没有.Rows属性。

这是我到现在为止所尝试的:

在此处输入图像描述

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

根据Telerik的文档 ,

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

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

所以你想使用网格的Items集合,它是GridDataItems的集合。

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

我假设它是WPF / Silverlight RadGrid?

如果要访问数据绑定网格中的行控制(而不是行数据) – 您将必须使用RadGrid的ItemContainerGenerator属性。 例如:

 rgCustomers.ItemContainerGenerator.ContainerFromIndex(0); 

要么

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

将返回第一行控件(如果我没记错的话,RadGridViewRow类型)

– 如果要在每一行上添加一个按钮:

GridTemplateColumnGridButtonColumn起到 作用

– 如果要访问当前行:

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

      
  2. 使用(sender as RadButton).NamingContainer获取对GridDataItem的引用。

     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");