C# webform 我在Gridview中创建了一个ItemTemplate字段,但其位置总是默认在原始列前(从第一个位置向后排),请问有没有办法直接调到其它列的后面啊?

解决方案 »

  1.   

    <asp:GridView ID="grid_queryalarm" runat="server" Width="744px" CellPadding="4" 
                        ForeColor="#333333" GridLines="None" AllowPaging="True" PageSize="20">
                                <PagerSettings Mode="NumericFirstLast" Position="TopAndBottom" />
                                <FooterStyle BackColor="#990000" Font-Bold="True" ForeColor="White" />
                                <RowStyle BackColor="#FFFBD6" ForeColor="#333333" />
                                <Columns>
                                    <asp:TemplateField HeaderText="序号">
                                        <ItemTemplate>
                                            <asp:Label ID="lblIndex" runat="server" Text='<%#Container.DataItemIndex+1 %>'></asp:Label>
                                        </ItemTemplate>
                                    </asp:TemplateField>
                                    <asp:TemplateField HeaderText="图像">
                                        <EditItemTemplate>
                                            <asp:TextBox ID="TextBox1" runat="server"   CommandArgument='<%# Eval("照片") %>' ></asp:TextBox>
                                        </EditItemTemplate>
                                        <ItemTemplate>
                                            <asp:Image ID="Image1" runat="server" />
                                        </ItemTemplate>
                                    </asp:TemplateField>
                                </Columns>
                                <PagerStyle BackColor="#FFCC66" ForeColor="#333333" HorizontalAlign="Center" />
                                <SelectedRowStyle BackColor="#FFCC66" Font-Bold="True" ForeColor="Navy" />
                                <HeaderStyle BackColor="#990000" Font-Bold="True" ForeColor="White" />
                                <AlternatingRowStyle BackColor="White" />
                            </asp:GridView>比如上面的图像字段,总是排在第二个,其它列是从数据库中获取的,现在只有序号和图像两个字段可以相互调次序,就是不能和从数据库中取出的字段调次序
      

  2.   

    问题是只能调整所有绑定TemplateField之间的次序,而不能调整所有TemplateField 和原数据库中 获取列的次序,比如我是select 姓名,年龄 from aa,结果在gridview中显示的是[ 序号 图像 姓名 年龄]
    我在想这样显示 [序号 姓名  年龄 图像]。    序号 图像 是 TemplateField
      

  3.   

    设置GridView自动生成列关闭:AutoGenerateColumns="fasle"
    然后按照你的顺序去排好了
    与什么TemplateField列或者DataBoundField列无关,行处于不同状态,显示不同的模板