排列名称使用LINQ for datatable

时间:2016-07-22 09:26:13

标签: wpf linq sorting

我有一个数据表

public void CreatTable()
        {
            DataTable dt = new DataTable();
            dt.Columns.Add("First Name");
            dt.Columns.Add("Middle Name");
            dt.Columns.Add("Last Name");
            dt.Rows.Add("A", "B", "C");
            dt.Rows.Add("A1", "B1", "C1");
            dt.Rows.Add("A2", "B2", "C2");
            dt.Rows.Add("A3", "B3", "C3");
            dt.Rows.Add("A4", "B4", "C3");
        }

我想使用Last Name > First Name > Middle NameLINQ排序此表并保存到另一个表(dt2)。寻求帮助,谢谢

1 个答案:

答案 0 :(得分:2)

您可以使用OrderByThenBy扩展方法。

var newTable = dt.AsEnumerable()
            .OrderBy(x=>x.Field<string>("Last Name"))
            .ThenBy(x=>x.Field<string>("First Name"))
            .ThenBy(x=>x.Field<string>("Middle Name"))
            .CopyToDataTable();

选中此Demo