我们在 DataTable
中有两列,如下所示:
COL1 COL2
Abc 5
Def 8
Ghi 3
我们试图按递减顺序对 datatable
进行排序 COL2
.
COL1 COL2
ghi 8
abc 4
def 3
jkl 1
我们试过这个:
ft.DefaultView.Sort = "occr desc";
ft = ft.DefaultView.ToTable(true);
但是,如果不使用 DataView
,我们要对 DataTable
本身进行排序,而不是 DataView
.
12 回答
它的使用简单 . 选择功能 .
它已经完成......快乐编码
您是否尝试在DataTable上使用
Select(filterExpression, sortOrder)
方法?有关示例,请参见here . 请注意,此方法不会对数据表进行排序,如果这是您要查找的内容,但它将返回已排序的行数组而不使用数据视图 .或者,如果您可以使用
DataGridView
,则只需调用Sort(column, direction)
:哪个会给你想要的结果:
TL; DR
使用
tableObject.Select(queryExpression, sortOrderExpression)
以排序方式选择数据完整的例子
完成working example - 可以在_86106中测试:
输出
试试这个:
这会对你有所帮助......
There is 2 way for sort data
1)只对数据进行排序并填入网格:
2)排序默认视图,类似于使用网格列 Headers 的排序:
事实证明,有一种特殊情况可以实现 . 诀窍在于构建DataTable时,收集列表中的所有行,对它们进行排序,然后添加它们 . 这个案子就在这里 .
我担心你不能像你想要的那样轻松地进行就地排序的DataTable .
您可以做的是从您从原始DataTable创建的DataView创建一个新的DataTable . 在DataView上应用您想要的任何排序和/或过滤器,然后使用DataView.ToTable方法从DataView创建新的DataTable:
也许以下内容可以帮助:
在这里,您也可以使用其他Lambda表达式查询 .
//希望对你有帮助..