2011-07-13 46 views
1

任何人都可以告訴我,如果使用TemplateColumns的GridView可以在此示例中詳細說明什麼。 http://www.codeproject.com/KB/webforms/CustomDataGridColumn.aspx將多個數據類型綁定到GridView中的單個列

我需要動態生成一個GridView,可能不需要在列中有一個數據類型。說列1可以有複選框或文本框控件(當然基於邏輯)

我試着實現ITemplate並在InstantiateIn()中添加自定義控件,但據我所知 - 綁定在每列級別而不是每個項目級別。

我該如何實現這個目標?

在此先感謝。如果問題需要更多解釋,我可以將我所擁有的代碼剔除。

回答

2

是的,Telerik的RadGrid支持這個。

相同的代碼只能做很小的修改。例如,ListItemType變爲GridItemTypeDataGridItem成爲GridDataItem等。此外,Telerik創建控件的方式意味着某些索引需要更改。例如,他們ItemDataBound事件有以下代碼:

string dataType = e.Item.Cells[0].Text; 

但有Telerik的radgrid控件,需要爲:

比種微小的變化
string dataType = e.Item.Cells[2].Text; 

其他,這一切工作與radgrid控件。

注意:當我看到來自Telerik的代碼示例時,它們通常會採用不同的路線。我看到他們爲單元格提供自定義內容的方式是將您的自定義邏輯放在ItemCreated事件中。這將被稱爲每一行。因此,您可以讓列的模板包含所有可能的控件,然後在ItemCreating事件中,通過根據您的邏輯將正確的控件設置爲Visible來修改該模板的實例(這是您鏈接到的文章中使用的方法)。或者,您可以在該事件中爲正確的控件類型創建唯一的特定控件。 Here is the documentation用於ItemCreated事件,還有一個Telerik代碼示例,它修改每行的LinkBut​​ton,但可以使用相同的方法。

+0

感謝您的詳細解答。非常有幫助 –

相關問題