我需要对 DataTables 进行排序,但是按列排序会有所不同。
场景 #1,DataTable1 应按“Column1”排序。
场景#2,DataTable2 应该按“Column1, Column2”排序。
下面是我为此目的创建辅助函数的第一次尝试。这工作正常。
Private Sub SortDataTable(ByRef dataTable As DataTable, ByVal sortColumnNames As List(Of String))
'Validation (not shown here)
Dim sortOrder = String.Join(", ", sortColumnNames)
dataTable.DefaultView.Sort = sortOrder
dataTable = dataTable.DefaultView.Table
End Sub
我尝试在 LINQ 中实现这一点,但是,我不知道如何将多个按列排序传递给 lambda 函数。进行中的代码如下所示。
Private Sub SortDataTable(ByRef dataTable As DataTable, ByVal sortColumnNames As List(Of String))
'Validation (not shown here)
dataTable.AsEnumerable().OrderBy(Function (row) row(sortColumnNames(0))).ThenBy(...)
End Sub
我应该如何将多个按列排序传递给 OrderBy/ThenBy 扩展方法?