如何在c#中按两列排序DataTable [英] How to sort DataTable by two columns in c#
本文介绍了如何在c#中按两列排序DataTable的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个 DataTable
,如下所示;
ID | ItemIndex | ItemValue
ce895bd9-9a92-44bd-8d79-986f991154a9 1 3
ae7d714e-a457-41a8-8bb4-b5a0471c3d2f 2 2
a774dff3-acc0-4f50-a211-a775e28dcae3 2 1
292bbd50-290b-4511-9e4e-2e74e3ebe273 3 2
ae7d714e-a457-41a8-8bb3-b5a0471c3d22 3 1
我想先通过 ItemIndex
对这个表进行排序,然后按 ItemValue
排序排序表。 / p>
如何实现?
编辑:排序后,我想要我的表如下:
| ID | ItemIndex | ItemValue
ce895bd9-9a92-44bd-8d79-986f991154a9 1 3
a774dff3-acc0-4f50-a211-a775e28dcae3 2 1
ae7d714e-a457-41a8-8bb4-b5a0471c3d2f 2 2
ae7d714e-a457-41a8-8bb3-b5a0471c3d22 3 1
292bbd50-290b-4511-9e4e-2e74e3ebe273 3 2
解决方案
您可以使用 LINQ到DataSet / DataTable
var newDataTable = yourtable.AsEnumerable()
.OrderBy(r => ; r.Field< int>(ItemIndex))
.ThenBy(r => r.Field< int>(ItemValue))
.CopyToDataTable();
I have a DataTable
that looks like below;
| ID | ItemIndex | ItemValue
ce895bd9-9a92-44bd-8d79-986f991154a9 1 3
ae7d714e-a457-41a8-8bb4-b5a0471c3d2f 2 2
a774dff3-acc0-4f50-a211-a775e28dcae3 2 1
292bbd50-290b-4511-9e4e-2e74e3ebe273 3 2
ae7d714e-a457-41a8-8bb3-b5a0471c3d22 3 1
I want to sort this table by ItemIndex
first, then sort the sorted table by ItemValue
.
How can I achieve this?
Edit: after sorting, I want my table like below;
| ID | ItemIndex | ItemValue
ce895bd9-9a92-44bd-8d79-986f991154a9 1 3
a774dff3-acc0-4f50-a211-a775e28dcae3 2 1
ae7d714e-a457-41a8-8bb4-b5a0471c3d2f 2 2
ae7d714e-a457-41a8-8bb3-b5a0471c3d22 3 1
292bbd50-290b-4511-9e4e-2e74e3ebe273 3 2
解决方案
You can use LINQ to DataSet/DataTable
var newDataTable = yourtable.AsEnumerable()
.OrderBy(r=> r.Field<int>("ItemIndex"))
.ThenBy(r=> r.Field<int>("ItemValue"))
.CopyToDataTable();
这篇关于如何在c#中按两列排序DataTable的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文