select * from a order by a.xxxx

解决方案 »

  1.   

    DataTable的排序一般就通过DataView来做,可以设定sort方式,也能设定filter。
      

  2.   

    你用DateaTable.AcceptChanges(),不行么?
      

  3.   


     System.Data.DataRow[] drow=datatable.Selct(filter,sort);
     System.Data.DataTable newtable=datable.Copy();
     datatable.Clear();
     for (int i=0;i<drow.length;i++)
     {
       datatable.Rows.ADD(newtable.Rows[i].ItemArray);
     }
     datatable.AcceptChanges();
      

  4.   

    DataView dv = new DataView();
                dv = table.DefaultView;
    dv.Sort ="列";
    dv.RowFilter="字段='值'";
    table.AcceptChanges();
     看看table变化了么?
      

  5.   

    其实你说的那种问题用DataView就可以解决了,DataView类似于数据库的视图。
    如果你实在觉得不爽,那么上面这位的办法重新把数据倒一次,内存占用两倍而已。当然如果你愿意你也可以在本表里面排序,那就请你去研究研究数据结构吧。
      

  6.   

    to  yuhan0001(雨涵) 
    肯定是没有变化的,但是有必要变化吗?用DataView就能逐条访问数据,和使用DataTable有什么太大区别吗?
      

  7.   

    我也觉得没有必要,只是楼主要这么做,所以我才往这方面想的,其实完全可以把dataview当datatable使的。
      

  8.   

    你可以在select * from a order by 参数(x)
      然后,在绑定数据的时候,给他一个参数不就行了???
      

  9.   

    oDS.Tables[0].DefaultView.Sort= "* DESC/ASC";
    DataTable.DataSource = oDS.Tables[0].DefaultView;
      

  10.   

    dataTable 有selete语句可以进行排序的