我将一个DataTable MyTable(有三列分别为C1,C2,C3)绑定到DataGridView1上。
是否可以在DataGridView1显示数据的时候,将C3显示在第一列,C1显示在第二列,C2显示在第三列?
如果可以,How to do?

解决方案 »

  1.   

    可以通过在sql语句中按顺序查询 或者 绑定时写代码设置显示顺序来实现.
      

  2.   


    DataGridView1.Columns["col1"].DisplayIndex = 0;
    DataGridView1.Columns["col2"].DisplayIndex = 1;
    DataGridView1.Columns["col3"].DisplayIndex = 2;绑定后写以上代码就OK了
      

  3.   

    .cs
    代码:
    DataGridView1.DataSouse=MyTable
    DataGridView1.DataBind();.aspx 代码
    <asp:GridView ID="gvEquipInfo" runat="server" AutoGenerateColumns="False" Width="100%">
         <Columns>
           <asp:TemplateField>
             <ItemTemplate>
               <%#DataBinder.Eval(Container.DataItem, "ItemNo")%>
                  </ItemTemplate>
                    <HeaderTemplate>C1</HeaderTemplate>
                     <ItemStyle HorizontalAlign="Center" Wrap="False" />
                        </asp:TemplateField>
                           <asp:TemplateField>
               <ItemTemplate>
                                 <%#DataBinder.Eval(Container.DataItem, "C1")%>
               </ItemTemplate>
               </TemplateField>
                   ......                                                                                  
                                                    </Columns>
                                                    </asp:GridView>   
      

  4.   

    可以,通过SQL语句,用DataTable传就行了!最好写一个类,不然列太多就麻烦了@!
      

  5.   

    DataGridView1.Columns["col1"].DisplayIndex = 0;
    DataGridView1.Columns["col2"].DisplayIndex = 1;
    DataGridView1.Columns["col3"].DisplayIndex = 2;
     这个办法是可以地.