我以表格是以datatable,其栏位有「省别」「城市」「金额」
我想要再加上「百分率」栏,但是他是「省别」来分组计算的
请问要如何实现呢?
可以后台计算好,然后建一个百分比列就行了!
Dim query = dataTable.Rows.Cast(Of DataRow)().Select(Function(x) New With {.省别 = x("省别"), .城市 = x("城市"), 金额 = Val(x("金额")), .百分率 = Val(x("金额")) / dataTable.Rows.Cast(Of DataRow)().Where(Function(y) y("省别") = x("省别")).Select(Function(y) Val(y("金额"))).Sum() }).OrderBy(Function(x) x("省别")).ThenBy(Function(x) x("金额"))
For Each x In Query
MsgBox(x.省别 + x.城市 + " " + x.金额 + " " + x.百分率 * 100 + "%")
Next
Dim query = dataTable.Rows.Cast(Of DataRow)().Select(Function(x) New With { .省别 = x("省别"), .城市 = x("城市"), 金额 = Val(x("金额")), .百分率 = Val(x("金额")) / dataTable.Rows.Cast(Of DataRow)().Where(Function(y) y("省别") = x("省别")).Select(Function(y) Val(y("金额"))).Sum() }).OrderBy(Function(x) x.省别).ThenBy(Function(x) x.金额)