如何对DataSet中的数据进行排序

jupiterII 2004-03-15 09:54:45
因为我一个DataSet中的数据不是直接取自数据库,所以不能在sql语句中加order by.而我又想对其中数据进行排序,我考虑的做法是,因为里面只有一张表,所以就把这个DataTable转成DataView,然后排序,再通过dataView.Table.DataSet转回成一个DataSet.
可是,这个办法大部分情况下都可以,可是有几个就是没有,一旦转成DataTable的时候排序就失效了.
...全文
339 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
jupiterII 2004-03-24
  • 打赏
  • 举报
回复
zhzuo(秋枫),那其实就是dataView的Sort
这个问题我在ms的动力营也问过了,看来是不可能了,结了吧
xiaowangtian 2004-03-15
  • 打赏
  • 举报
回复
用起泡法自己手动排序
jupiterII 2004-03-15
  • 打赏
  • 举报
回复
那我如何对DataSet的数据排序呢?
CMIC 2004-03-15
  • 打赏
  • 举报
回复
dataView只是dataTable的一个View它并不是真的改变dataTable的排序顺序。
marvelstack 2004-03-15
  • 打赏
  • 举报
回复
对DataSet排序,没有必要吧,这个效率肯定低。
楼主直接操作dataSet1.Tables["table1"].DefaultView.Sort的属性就是了。
jupiterII 2004-03-15
  • 打赏
  • 举报
回复
DataTable.Select(...)类似于SQL语句中的where语句,只是取出符合条件的DataRow而已
moeryang 2004-03-15
  • 打赏
  • 举报
回复
DataRow 提供了排序的方法 不知道有没有用
sdk上的例子

private void GetRowsByFilter(){
DataTable myTable;
myTable = DataSet1.Tables["Orders"];
// Presuming the DataTable has a column named Date.
string strExpr;
strExpr = "Date > '1/1/00'";
DataRow[] foundRows;
// Use the Select method to find all rows matching the filter.
foundRows = myTable.Select(strExpr);
// Print column 0 of each returned row.
for(int i = 0; i < foundRows.Length; i ++){
Console.WriteLine(foundRows[i][0]);
}
}
jupiterII 2004-03-15
  • 打赏
  • 举报
回复
xiaowangtian(笑望天)的方法效率太低了....

110,538

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧