Я создаю 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, я мог бы при необходимости вставить соответствующие TemplateFields в свойство Columns. (Я надеюсь, что здесь есть смысл)
Итак, как бы я занялся созданием декларативных файлов для приведенных выше определений? И затем, как бы я мог ссылаться на эти определения программно?
* +1007 *
Хорошо, лучше всего было бы создать подкласс System.Web.UI.WebControls.TemplateField, но когда я это делаю, я не могу использовать объект с директивой <% @ Register%>. Если бы я мог, я бы создал несколько UserControls с новой производной, а затем, при необходимости, LoadControl () и Add () их в столбцы моей сетки.
Есть идеи?