日期:2014-05-19  浏览次数:20759 次

一个DataTable,想按它里的一列从大到小来排序整个表,好像是有一个方法吧,是DT.Select("")吗
rt

------解决方案--------------------
恩,那就新建一个DataTable, Schema和原来的一模一样。
然后用 DataTable.Select() 根据你需要的Sort选出所有的 DataRow 然后添加到新的DataTable中。

假设 dt1 是原DataTable

DataTable dt2 = dt1.Clone();
dt2.Clear();
DataRow[] drs = dt1.Select( " ", "ID DESC "); // 按ID降序
for(int i=0; i <drs.Length; i++)
dt2.Rows.Add(drs[i]);
------解决方案--------------------
恩,一个DataRow不能属于两个DataTable
需要修改一下:

for(int i=0; i <drs.Length; i++)
dt2.Rows.Add(drs[i].ItemArray);