自定义*任意* TemplateField定义

时间:2010-03-16 14:29:24

标签: asp.net user-controls declarative templatefield

我正在构建一个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()它们添加到我的网格的列中。

有什么想法吗?

0 个答案:

没有答案