我的表格字段顺序是这样的 id, title, text, date
在绑定到datagrid后 显示列的顺序也是按照这个顺序,我现在想把date放到第一列,然后在显示其他的列,请问如何做啊???

解决方案 »

  1.   

    1.如果是自动绑定上去的,则在sql中处理,如select date,id, title, text from table
    2.如果是写死的,那就在设计grid时在设计器里把它人为的移到前面
      

  2.   

    在程序中,实际上DataGrid绑定的是数据集。只要你改变了绑定数据集中列的顺序,则会达到你要得效果。
      

  3.   

    同意楼上的方法~~补充一下~如果你用detaset控件捆绑了datagrid,只要再datagrid里面点击属性生成器,里面有个列的选项卡~好容易就可以排列了~还有就是用代码~再html那里可以手动创建列和捆绑列,循序就创建的循序,如
    <asp:datagrid id="DG_Persons" runat=server>
    <Columns>
        <asp:TemplateColumn HeaderText="姓名">
    <ItemTemplate>
         <asp:Label Runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "PersonName") %>' ID="Label1"/>
    </ItemTemplate>
    </asp:TemplateColumn>
    <asp:TemplateColumn HeaderText="电子邮件">
    <ItemTemplate>
    <asp:Label Runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "PersonEmail") %>' ID="Label2"/>
    </ItemTemplate>
    </asp:TemplateColumn>
    <asp:TemplateColumn HeaderText="性别">
    <ItemTemplate>
    <asp:Label Runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "PersonSex") %>' ID="Label3"/>
    </ItemTemplate>
    </asp:TemplateColumn>
    <asp:TemplateColumn HeaderText="出生日期">
    <ItemTemplate>
    <asp:Label Runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "PersonDOB") %>' ID="Label4"/>
    </ItemTemplate>
    </asp:TemplateColumn>
    <asp:TemplateColumn HeaderText="照片">
    <ItemTemplate>
    <asp:Image Runat=server ID="Image1" ImageUrl='<%# FormatURL(DataBinder.Eval(Container.DataItem, "PersonID")) %>' />
    </ItemTemplate>
    </asp:TemplateColumn>
    </Columns>
    </asp:datagrid>
      

  4.   

    一个可以使用 SQL 语句来改变所取出数据列的顺序。
    另一种可以在程序中使用手工的方法来改变
      

  5.   

    搂住使用datagrid的时候不要仅仅停留在自动生成columns, 手动配置datagrid的功能更强大,推荐去
    dotnet.aspx.cc中看看,很精彩