Meh*_*nce 19 c# asp.net sorting 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
Run Code Online (Sandbox Code Playgroud)
我想首先对此表进行排序ItemIndex
,然后按排序对表进行排序ItemValue
.
我怎样才能做到这一点?
编辑:排序后,我想要我的表如下;
| 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
Run Code Online (Sandbox Code Playgroud)
Hab*_*bib 33
您可以使用LINQ to DataSet/DataTable
var newDataTable = yourtable.AsEnumerable()
.OrderBy(r=> r.Field<int>("ItemIndex"))
.ThenBy(r=> r.Field<int>("ItemValue"))
.CopyToDataTable();
Run Code Online (Sandbox Code Playgroud)
Geo*_*ton 28
创建DataView并使用Sort属性:
DataView dv = new DataView(dt);
dv.Sort = "ItemIndex, ItemValue";
Run Code Online (Sandbox Code Playgroud)
例如
foreach (DataRowView row in dv) {
Console.WriteLine(" {0} \t {1}", row["ItemIndex"], row["ItemValue"]);
}
Run Code Online (Sandbox Code Playgroud)
有关更多信息,请查看MDSN以获取更完整的示例:
http://msdn.microsoft.com/en-us/library/system.data.dataview.sort.aspx
小智 20
在datatable对象上,只需获取defaultview对象并设置排序.
dataTable.DefaultView.Sort = "ItemIndex, ItemValue";
Run Code Online (Sandbox Code Playgroud)
小智 10
通过创建数据视图
var dataView = new DataView(dataTable);
dataView.Sort = "ItemIndex ASC, ItemValue ASC"
Run Code Online (Sandbox Code Playgroud)
这里dataTable是您要排序的表
归档时间: |
|
查看次数: |
54464 次 |
最近记录: |