例如:
DataTable dt
dt中的字段为:
ClassId   ClassName   ItemPrice交换后变成:
ClassId   ItemPrice   ClassName也可以在DataView中实现,只要能实现其功能就行了,谢谢!

解决方案 »

  1.   

    是动态加载的吗?如果是,那就在程序里自己再一次重新加载呀,就是实现换行要不是动态的,那就再建立一个临时table ,用动态的方法加载
      

  2.   

    在Grid里用BoundColumn ,把列的顺序排一下。如果是根据某个配置来决定列的顺序,那就在从数据库取表的时候,把列的顺序搞定
      

  3.   

    数据不是很多,就直接对这个DataTable处理也可以。
      

  4.   

    dt.Columns.Remove(column);
    dt.Columns.Add(column);
      

  5.   

    idda(碗掉了,头大个疤)你那种方法不对的,那样那列里面的数据都没了
      

  6.   

    用手动的帮定例就行了====CSDN 小助手 V2.5 2005年11月05日发布====
    CSDN小助手是一款脱离浏览器也可以访问Csdn论坛的软件
    界面:http://blog.csdn.net/Qqwwee_Com/archive/2005/11/05/523395.aspx
    下载:http://szlawbook.com/csdnv2
      

  7.   

    ljhkim6(龙成啊少) 的方法好,用他的吧
      

  8.   

    ljhkim6(龙成啊少),你的方法如何做呀DataTable中的列我都是要加到dataGrid中的去,但只是列的位置不对呀,比如最后两列要求正确的显示为"金额","备注",可现在在DataTable中最后两列显示"备注","金额"呀 ,如何实现
      

  9.   

    这个不应该去修改DataTable,而是修改你UI层的绑定
      

  10.   

    如果是要修改数据集的话,可以这么来 DataTable dt=   数据源
     DataTable tempdt = new DataTable(); //临时数据集
            
            DataColumn dc;                //建立你需要的顺序
            dc = new DataColumn("ClassId");
            tempdt.Columns.Add(dc);
                   
            dc = new DataColumn("ItemPrice");
            tempdt.Columns.Add(dc);        dc = new DataColumn("ClassName");
            tempdt.Columns.Add(dc);                 DataRow dr;
            for(int i=0;i<dt.Rows.Count;i++)
            {
            dr = tempdt.NewRow();
            dr["ClassId"] = dt.Rows[i]["ClassId"];
            dr["ItemPrice"] = dt.Rows[i]["ItemPrice"];
            dr["ClassName"] = dt.Rows[i]["ClassName"];
             tempdt.Rows.Add(dr);
            }
    这时候 tempdt数据集 就是你要的顺序了
           
      

  11.   

    如何调整列的顺序?
    DataColumn.SetOrdinal(int ordinal)方法 
    将 DataColumn 的序号或位置更改为指定的序号或位置。
    将 DataColumn 的序号或位置更改为指定的序号或位置。如果序号小于 0 或大于现有的列数 1(大于最后一列的序号),则将引发表示无效的 ArgumentException。
      

  12.   

    你的情况就是
    dt.Columns[2].SetOrdinal(1);