LINQでソートしてみました
motoTable As DataTable には、DBから取得したデータが入っていることとします。
Dim query = From row In motoTable.AsEnumerable
Order By row("StaffCode"), row("WorkingDay")
Select row
Dim SortedTable As DataTable = query.CopyToDataTable()
これでSortedTable に ソート済みのデータが入ります。
次に Group By して Sumする場合。
Dim query = From row In motoTable.AsEnumerable
Group row By スタッフコード = row.Field(Of Integer)("スタッフコード")
Into
金額1合計 = Sum(row.Field(Of Decimal)("金額1")),
金額2合計 = Sum(row.Field(Of Decimal)("金額2")),
金額3合計= Sum(row.Field(Of Decimal)("金額3"))
Order By スタッフコード
Select New Object() {
スタッフコード,
金額1合計,
金額2合計,
金額3合計
}
Dim sumtable As New DataTable("sumTable")
sumtable.Columns.Add("スタッフコード", GetType(Integer))
sumtable.Columns.Add("金額1合計", GetType(Decimal))
sumtable.Columns.Add("金額2合計", GetType(Decimal))
sumtable.Columns.Add("金額3合計", GetType(Decimal))
For Each row As Object() In query
sumtable.Rows.Add(row)
Next row