我正在构建一个GridView,我想预先定义要包含在需求中的TemplateFields。所以,我想要做的是有一个声明性文件,它定义了不同模板如何查找特定列。像:
<asp:TemplateField>
<HeaderTemplate>
this is a text column
</HeaderTemplate>
<ItemTemplate>
data goes here
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox Text="databindhere" />
</EditItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<HeaderTemplate>
this is a bool column
</HeaderTemplate>
<ItemTemplate>
if(true) "yes" else "no"
</ItemTemplate>
<EditItemTemplate>
<asp:CheckBox Checked="databindme" />
</EditItemTemplate>
</asp:TemplateField>
因此,如果我的查询有一个文本和两个bool字段,我可以根据需要在Columns属性中推送相应的TemplateFields。 (我希望我在这里有意义)
那么,我将如何为上述定义创建声明性文件?然后,我将如何以编程方式引用这些定义?
好的,最好的方法是继承System.Web.UI.WebControls.TemplateField,但是当我这样做时,我似乎无法使用带有&lt;%@ Register%&gt;的对象。指示。如果可以的话,我会用新衍生物创建一些UserControl,然后根据需要将LoadControl()和Add()它们添加到我的网格的列中。
有什么想法吗?