C# 获取一行Telerik RadGrid

C# 获取一行Telerik RadGrid,c#,asp.net,telerik,radgrid,C#,Asp.net,Telerik,Radgrid,我正在处理RadGrid,我想访问它的行,但它似乎没有.rows属性 以下是我迄今为止一直在尝试的: 如何访问rgCustomers的行集合?我想在每一行添加一个按钮 我假设是WPF/Silverlight RadGrid 如果要访问数据绑定网格中的行控制(而不是行数据),则必须使用RadGrid的ItemContainerGenerator属性。例如: rgCustomers.ItemContainerGenerator.ContainerFromIndex(0); 或 将返回第一行控件(

我正在处理RadGrid,我想访问它的行,但它似乎没有
.rows
属性

以下是我迄今为止一直在尝试的:


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

我假设是WPF/Silverlight RadGrid

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

rgCustomers.ItemContainerGenerator.ContainerFromIndex(0);

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

根据

“网格中的每个动态行表示来自指定数据源的记录。动态行由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)
  {
  }
}
-如果要在每行上添加按钮:
GridTemplateColumn或GridButtonColumn将完成此任务

-如果要访问当前行,请执行以下操作:
  • 使用按钮的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>
    
  • 用于提取记录ID:

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

  • 如果我想遍历行,我也应该这样做吗?我使用的是Telerik.Web.UI.radgridah,它是Asp.net控件。我的解决方案是基于WPF/Silverlight的。对不起,我对Web控件了解不多。
    protected void BTN_BL_Click(object sender, EventArgs e)
    {
        GridDataItem G = ((RadButton)sender).NamingContainer as GridDataItem;
    }
    
    DEMO_INT = (int)G.GetDataKeyValue("mySweetInt"); 
    DEMO_STRING = (string)G.GetDataKeyValue("MyString");