7

我有一种情况,我需要使用数据网格并在 PageInit 中动态添加列,因为网格有一些必须处理的条件请求。我很容易使用 BoundColumns 和 ButtonColumns,这些都很容易。问题在于通过代码创建 TemplateColumn。我已经找到了有关创建自定义类的示例,该自定义类通过创建使用 ITemplate 实现的类来动态添加控件。这行得通,但是,我正在努力解决如何对元素进行数据绑定。

在我的网格中,我会使用 <%= DataBinder.Eval(Container.DataItem, "MyValue") %> 或类似的,但这不是一个选项。ITemplate 中的容器也没有数据项属性,所以我不能在那里绑定。任何人都有可能有帮助的建议或链接,我只是在谷歌中找不到合适的东西。

4

1 回答 1

8

您可以将事件处理程序附加到您在 ITemplate.InstantiateIn 中创建的控件的 DataBinding 事件,如本 MSDN 文章中所述。发送者将是控件,而 NamingContainer 属性将是 DataGridItem,它具有对 DataItem 的引用,您可以使用它来获取所需的任何数据。

于 2008-11-21T02:58:07.323 回答