【问题标题】:DataTable Sort in C#?C#中的数据表排序?
【发布时间】:2013-09-13 18:36:37
【问题描述】:

我想按数据表的一列对数据表进行排序,例如名称。虽然我想定义自己的排序方式,例如按文件的内容进行排序,但如何实现?

【问题讨论】:

标签: c# datatable


【解决方案1】:

最简单和最可扩展的方法是使用Linq-To-DataSetPath.GetExtension

var orderedRows = dataTable.AsEnumerable()
    .Select(row => new { // create an anoymous type for readability
        row, 
        extension = Path.GetExtension(row.Field<string>("Filename"))  
    })
    .OrderBy(x => x.extension)
    .Select(x => x.row);

如果您需要查询中的新DataTable(您可以简单地使用foreach 循环它)使用:

dataTable = orderedRows.CopyToDataTable();

【讨论】:

    【解决方案2】:
    DataTable result = dt.AsEnumerable()
                         .OrderBy(d=>d.Field<string>("YourFieldName"))
                         .CopyToDataTable();
    

    【讨论】:

      【解决方案3】:

      最简单的方法:添加一个隐藏的 DataColumn,您将在其中存储文件扩展名并像往常一样在该 DataColumn 上对 DataTable 进行排序。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2010-11-28
        • 2018-08-16
        • 2023-04-03
        • 2022-07-13
        • 2011-06-17
        • 1970-01-01
        • 1970-01-01
        • 2011-09-21
        相关资源
        最近更新 更多