如何在C#中对DataTable进行排序 [英] How to Sort DataTable in C#

查看:344
本文介绍了如何在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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆