DataView dv = dt.DefaultView;
dv.Sort="ID DESC";
DataGrid1.DataSource = dt;
DataGrid1.DataBind();
----------------------
排序没有任何问题可是现在 需求是 还要遍历DataTable 才能绑定DataView dv = dt.DefaultView;
dv.Sort="ID DESC";
DataTable dt = Table.Clone();
DataRow dr;
for (int i=0; i < Table.Rows.Count; i++)
{
dr = dt.NewRow();
dr.ItemArray = Table.Rows[i].ItemArray;
dt.Rows.Add(dr);
}
DataGrid1.DataSource = dt;
DataGrid1.DataBind();这样绑定后的结果 就不是排序的了为什么啊 要疯了
排序必须在遍历前进行 有没有高人帮我看看 谢谢了

解决方案 »

  1.   

    DataTable dt = Table.Clone(); 
    DataRow dr; 
    for (int i=0; i  < Table.Rows.Count; i++) 

    dr = dt.NewRow(); 
    dr.ItemArray = Table.Rows[i].ItemArray; 
    dt.Rows.Add(dr); 

    DataView dv = dt.DefaultView; 
    dv.Sort="ID DESC"; DataGrid1.DataSource = dv; 
    DataGrid1.DataBind(); 
      

  2.   

    直接用datagrid控件对ID排序
    把AllowSorting属性为true 
      

  3.   

    DataView dv = dt.DefaultView; 
    dv.Sort="ID DESC"; 
    DataTable dt = Table.Clone(); 
    DataRow dr; ----------这里是给datatable增加新行,建议增加新行后,再进行排序。
    for (int i=0; i  < Table.Rows.Count; i++) 

    dr = dt.NewRow(); 
    dr.ItemArray = Table.Rows[i].ItemArray; 
    dt.Rows.Add(dr); 

    ---------------------------
    DataGrid1.DataSource = dt; 
    DataGrid1.DataBind(); 改为:
    DataRow dr; 
    for (int i=0; i  < Table.Rows.Count; i++) 

    dr = dt.NewRow(); 
    dr.ItemArray = Table.Rows[i].ItemArray; 
    dt.Rows.Add(dr); 

    DataView dv = dt.DefaultView; 
    dv.Sort="ID DESC"; 
    DataTable dt = Table.Clone(); 
    DataGrid1.DataSource = dv; 
    DataGrid1.DataBind(); 
      

  4.   

    2楼和4楼两位请主要我的问题 “排序必须在遍历前进行 有没有高人帮我看看 谢谢了 ” 我也知道 写在后面可以!
    2楼fahuigan你能不能说的具体点啊
      

  5.   

    最后绑定DataView,别绑定DataTable
      

  6.   

    555555555555~~~~~
    找到点资料 说是 DataView的排序没有反应到DataTable里去!sun_Ke(浪迹天涯のKE) 我举的这个例子 其实在遍历和绑定里面有很复杂的操作
      

  7.   

    DataTable是否可以进行排序呢,答案是肯定的,通过DataView嘛,但是实质上DataView是视图,用DataView进行排序以后展现出来的是已经排好序的,但实质上DataTable内部还是原来的顺序,这就导致,展现与内部行与行有可能对应不上,谁知道如何对DataTable内部进行排序阿(再DataView进行排序的同时)   
        
      例如:talbe   Student(ID,Name)   
      DataView按ID排序,但实质DataTable并未排序   
      DataView如下:   
      ID                     Name   
      001                   wang   
      002                   zhang   
      003                   li   
      而DataTable如下   
      ID                     Name   
      002                   zhang   
      001                   wang   
      003                   li   
        
      这样DataView的第一行与DataTable的第一行就对应不上了阿,咋办呢