Code Behind中的模板和DataGrid列

时间:2008-11-20 23:55:19

标签: .net asp.net datagrid itemplate

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

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

1 个答案:

答案 0 :(得分:8)

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