引用嵌套控件
我有两个网格视图 – 一个嵌套在另一个 – 我试图以编程方式设置子网格的数据源,但我不知道如何引用它。
我试过这个:
RadGrid radGridDetails = RadGridResults.FindControl("RadGridDetails") as RadGrid; radGridDetails.DataSource = myList.ToList();
但是这会返回NullReferenceException。
有人可以告诉我如何实现这一目标吗?
直接对数据集进行数据绑定:
您可以通过获取网格的GridNestedViewItem
在NestedViewTemplate
找到任何控件。 以下是以编程方式引用子网格的方法:
var radGridDetails = ((RadGridResults.MasterTableView.Items[0].ChildItem as GridNestedViewItem) .FindControl("RadGridDetails") as RadGrid);
我仍然会像@Servy演示的那样对网格进行数据绑定,但是为了像你问的那样引用网格,上面的代码应该可行。
object dataKeyValue = ((source as RadGrid).NamingContainer as DataItem).GetDataKeyValue("ID");
//使用dataKeyValue获取正确的Employee对象