drs = DataTables("表A").Select("项目 = '" & dr1("项目") & "'", "日期") '注意要根据日期排序 这一行已经很慢了,终于明白你要干什么了
先排序,再计算,不需要再查找了,你这样是个有序集合
Dim dic As New Dictionary(of DataRow, String)
Dim drs As List(of DataRow)
drs = DataTables("表A").Select("", "项目,日期")
Dim sm As Double = 0
Dim strXM as string = drs(0)("项目")
For Each dr1 As DataRow In drs
if strXM = dr1("项目") then
sm = sm + dr1("支出")
dr1("累计支出")=sm
else
sm =dr1("支出")
strXM = dr1("项目")
dr1("累计支出")
= dr1("支出")
end if
Next
速度慢加上 datatable.Stop/ResumeRedraw
[此贴子已经被作者于2018/6/5 20:33:42编辑过]