1

我正在动态构建一个 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>

因此,如果我的查询有一个文本和两个布尔字段,我可以根据需要在 Columns 属性中推送适当的 TemplateFields。(我希望我在这里有意义)

那么,我将如何为上述定义创建声明性文件?然后,我将如何以编程方式引用这些定义?


好的,最好的方法是继承 System.Web.UI.WebControls.TemplateField,但是当我这样做时,我似乎无法将对象与 <%@ Register %> 指令一起使用。如果可以的话,我会使用新的衍生工具创建一些用户控件,然后根据需要将它们加载到网格的列中。

有任何想法吗?

4

0 回答 0