我工作的一个radgrid控件,我想访问其行,但现在看来,这没有一个.Rows
财产。
这是我曾尝试到现在为止:
如何访问rgCustomers
的行集? 我想一个按钮添加到每一行。
我工作的一个radgrid控件,我想访问其行,但现在看来,这没有一个.Rows
财产。
这是我曾尝试到现在为止:
如何访问rgCustomers
的行集? 我想一个按钮添加到每一行。
据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)
{
}
}
我假设它是WPF / Silverlight的radgrid控件?
如果您要访问数据绑定网格行控制(未行数据) - 你将不得不使用radgrid控件的ItemContainerGenerator财产。 例如:
rgCustomers.ItemContainerGenerator.ContainerFromIndex(0);
要么
rgCustomers.ItemContainerGenerator.ContainerFromItem(odsCustomers[0]);
将返回第一行控制(类型RadGridViewRow如果我没有记错)
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>
得到使用对GridDataItem的引用(如发送者RadButton).NamingContainer。
protected void BTN_BL_Click(object sender, EventArgs e) { GridDataItem G = ((RadButton)sender).NamingContainer as GridDataItem; }
使用GetDataKeyValue()方法来提取记录ID:
DEMO_INT = (int)G.GetDataKeyValue("mySweetInt"); DEMO_STRING = (string)G.GetDataKeyValue("MyString");