我正在研究RadGrid,我想访问它的行,但似乎它没有 .Rows 属性 .
.Rows
这是我到现在为止所尝试的:
我怎样才能访问 rgCustomers 的Rows系列?我想为每一行添加一个按钮 .
rgCustomers
我假设它是WPF / Silverlight RadGrid?
如果要访问数据绑定网格中的行控制(而不是行数据) - 您必须使用RadGrid的ItemContainerGenerator属性 . 例如:
rgCustomers.ItemContainerGenerator.ContainerFromIndex(0);
要么
rgCustomers.ItemContainerGenerator.ContainerFromItem(odsCustomers[0]);
将返回第一行控件(如果我没记错的话,是RadGridViewRow类型)
根据Telerik's documentation,
“网格中的每个动态行表示来自指定数据源的记录 . 动态行由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将起到作用 .
<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>
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");
3 回答
我假设它是WPF / Silverlight RadGrid?
如果要访问数据绑定网格中的行控制(而不是行数据) - 您必须使用RadGrid的ItemContainerGenerator属性 . 例如:
要么
将返回第一行控件(如果我没记错的话,是RadGridViewRow类型)
根据Telerik's documentation,
“网格中的每个动态行表示来自指定数据源的记录 . 动态行由GridDataItem类(GridItem的后代)表示 .
每个GridTableView都有一组GridDataItem类型的行(Items集合) . “
所以你想使用网格的Items集合,它是GridDataItems的集合 .
- 如果要在每一行上添加一个按钮:
GridTemplateColumn或GridButtonColumn将起到作用 .
- 如果要访问当前行: