2008-11-20 16 views
7

我有一種情況,我需要使用數據網格並在PageInit中動態添加列,因爲網格有一些必須處理的條件請求。我可以很容易地使用BoundColumns和ButtonColumns輕鬆移動。問題是通過代碼創建TemplateColumn。我已經找到了關於創建自定義類的示例,該類通過創建一個使用ITemplate實現的類來動態添加控件。然而,這很有效,我正在努力處理如何綁定元素。Codebehind中的模板和數據網格列

在我的網格中,我會用<%= DataBinder.Eval(Container.DataItem,「MyValue」)%>或類似的,但這不是一個選項。 ITemplate內部的容器也沒有數據項屬性,所以我不能綁定在那裏。任何人都可能有幫助的建議或鏈接,我只是沒有在谷歌找到正確的東西。

回答

8

您可以將事件處理程序附加到您在ITemplate.InstantiateIn中創建的控件的DataBinding事件,如this MSDN Article。發件人將是控件,NamingContainer屬性將是DataGridItem,它具有對DataItem的引用,您可以使用它來獲取所需的任何數據。

+0

太棒了!這是我正在尋找的文章。什麼是主要的PITA才能完成這項工作...... – 2008-11-21 06:42:05