如何在C#中对DataTable进行排序 [英] How to Sort DataTable in C#
本文介绍了如何在C#中对DataTable进行排序的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
全部
这里我的问题是我希望在数据表中排序为null值,如何做到这一点
i只需尝试使用dataview
Hi, All
Here my prob is i want sort like null values last in datatable, how to do that
i just try with dataview
DataView dvDt4 = dt4.DefaultView; // dt4 is my datatable it contain DataColumn5 coloumn, i want sort that like null at last.
dvDt4.Sort = "DataColumn5 ASC";
或有没有办法做到这一点...
or is there any way to do this...
推荐答案
你可以使用Linq到数据表可以使这个工作
考虑以下代码片段:
You can use Linq to Datatable to get this to work
Consider the following code snippet:
//using System.Collections.Generic;
var dt = new DataTable("test");
dt.Columns.Add("dataColumn5", typeof(string));
dt.Rows.Add("D");
var dr = dt.NewRow();
dr[0] = null;
dt.Rows.Add(dr);
dt.Rows.Add("C");
dt.Rows.Add("A");
IEnumerable<DataRow> query =
dt.AsEnumerable()
.OrderByDescending(dtEnumer => dtEnumer.Field<string>("dataColumn5") != null)
.ThenBy(dtEnumer => dtEnumer.Field<string>("dataColumn5"));
foreach (var s in query)
Console.WriteLine("|{0}|", s[0]);
它产生以下输出
|A|
|C|
|D|
||
这应该有用..
This should work..
dt.DefaultView.Sort = "Parameter_Name ASC";
dt = dt.DefaultView.ToTable();
这篇关于如何在C#中对DataTable进行排序的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文