【发布时间】:2012-07-30 07:35:33
【问题描述】:
我有一个网格视图,其中的列是通过代码 [AutoGenerateColumns="false"] 动态生成的,其中一个 TemplateField 但我正在从 ASPX 创建另一个 TemplateField
如何控制这两个TemplateField的顺序
例如,我需要首先从代码生成的TemplateField,然后从 ASPX 生成的 TemplateField 在 gridview 中作为新行排在第二位。
TemplateField templateField = new TemplateField();
TemplateField uid = new TemplateField();
uid.HeaderText = "userid";
uid.ItemTemplate = new AddItemTemplate(ListItemType.Item, "userid");
GridView1.Columns.Add(uid);
for (int i = 0; i < dt.Columns.Count; i++)
{
BoundField boundField = new BoundField();
if (dt.Columns[i].ColumnName.ToString() != "userid")
{
boundField.DataField = dt.Columns[i].ColumnName.ToString();
boundField.HeaderText = dt.Columns[i].ColumnName.ToString();
GridView1.Columns.Add(boundField);
}
}
aspx 代码
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="false">
<Columns>
<asp:TemplateField>
<ItemTemplate>
<tr>
<td>
<div id="div<%# Eval("userid") %>" >
<asp:GridView ID="GridView2" AllowSorting="true" >
<Columns>
--code--
</Columns>
</asp:GridView>
</div>
</td>
</tr>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
有什么办法可以控制吗?
【问题讨论】:
-
我认为模板字段的顺序是从aspx代码开始的。在 aspx 代码中为模板字段分配索引后,动态生成的模板字段索引开始。
标签: c# asp.net gridview templatefield