当前位置:  开发笔记 > 编程语言 > 正文

DataTable.DefaultView.Sort不排序

如何解决《DataTable.DefaultView.Sort不排序》经验,为你挑选了3个好方法。

我对DataTable.DefaultView.Sort感到困惑.这是我想要使用它的代码段.

actionLogDT.DefaultView.Sort = "StartDate";

foreach (CustomerService.ActionLogStartEndRow logRow in actionLogDT)
{
  // code here
}

我见过的样本不使用foreach循环,因此让我对如何处理这个问题感到困惑.它没有像我想象的那样排序.

我看到.DefaultView返回一个视图,.Table给出了编译错误.



1> 小智..:
actionLogDT.DefaultView.Sort = "StartDate";

actionLogDT = actionLogDT.DefaultView.ToTable();



2> Jeromy Irvin..:

对视图进行排序不会更改表中数据的排序顺序,只会更改视图中的顺序.如果您foreach在视图上执行操作,将DataRowView中的行转换回强类型行,它应该可以工作.

foreach (DataRowView logRowView in actionLogDT.DefaultView)
{
    CustomerService.ActionLogStartEndRow logRow = logRowView.Row as CustomerService.ActionLogStartEndRow;
    // code here
}



3> Mike Wills..:

我不得不采取略微不同的方法.这篇文章是我能找到的最接近我的代码的帖子.这是工作结果:

actionLogDT.DefaultView.Sort = "StartDate";
DataView dv = actionLogDT.DefaultView;

foreach (DataRowView logRow in dv) { . . . }

从那里我只需要将值重新投入到它的正确类型中.

(string)logRow["Status"].ToString()

推荐阅读
大大炮
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有