我需要對DataTables進行排序,但按列排序會有所不同。使用LINQ對DataTable進行排序時,按列排序時可能會有所不同
場景#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擴展方法?
OrderBy => ThenBy –