我遇到一种情况,我需要使用数据网格并在PageInit中动态添加列,因为网格有一些必须处理的条件请求。我可以轻松地使用BoundColumns和ButtonColumns,它们很容易。问题在于通过代码创建TemplateColumn。我找到了有关创建自定义类的示例,该类通过创建使用ITemplate实现的类来动态添加控件。那行得通,但是,我正在努力如何对元素进行数据绑定。
在我的网格中,我应该使用或类似的方法,但这不是这里的选择。在ITemplate中的Container也不具有数据项属性,因此我无法在那里绑定。任何人都有建议或链接可能会有所帮助,我只是在google中找不到合适的东西。
最佳答案
您可以像在this MSDN Article中一样,将事件处理程序附加到在ITemplate.InstantiateIn中创建的控件的DataBinding事件上。发送者将是控件,而NamingContainer属性将是DataGridItem,它具有对DataItem的引用,您可以使用该引用来获取所需的任何数据。
关于.net - 背后的代码中的ITemplate和DataGrid列,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/307333/