Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/321.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/29.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何控制模板字段顺序_C#_Asp.net_Gridview_Templatefield - Fatal编程技术网

C# 如何控制模板字段顺序

C# 如何控制模板字段顺序,c#,asp.net,gridview,templatefield,C#,Asp.net,Gridview,Templatefield,我有一个网格视图,其中列是通过代码[AutoGenerateColumns=“false”]动态生成的,其中有一个模板字段,但我正在从ASPX创建另一个模板字段 如何控制这两个模板字段的顺序 例如,我需要首先从代码生成的TemplateField,然后从ASPX生成的TemplateField作为gridview中的第二个新行 TemplateField templateField = new TemplateField(); TemplateField uid = new TemplateFi

我有一个网格视图,其中列是通过代码
[AutoGenerateColumns=“false”]
动态生成的,其中有一个
模板字段
,但我正在从ASPX创建另一个
模板字段

如何控制这两个
模板字段的顺序
例如,我需要首先从代码生成的
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);
   }
}
TemplateField TemplateField=new TemplateField();
TemplateField uid=新的TemplateField();
uid.HeaderText=“userid”;
uid.ItemTemplate=新的AddItemTemplate(ListItemType.Item,“用户ID”);
GridView1.Columns.Add(uid);
对于(int i=0;i
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>

--代码--
有什么方法可以控制这一点吗?

而不是

GridView1.Columns.Add(boundField); 
使用:


我认为模板feild的顺序是从aspx代码开始的。在aspx代码中将索引分配给模板字段后,动态生成的模板字段索引开始。
GridView1.Columns.Insert(0, boundField);