此主题相关图片如下:微信图片_20231122110855.png

这代码弹窗显示的数据都没错,可窗口里本页合计和本页止累计行的金额列都没显,应如何把结果输到本里。
Dim wbl As WinForm.Table = e.Form.Controls("Table1")
Dim tbl As Table = wbl.Table
With tbl
.DataTable.DeleteFor("[分类] = '本页合计'")
.DataTable.DeleteFor("[分类] = '本页止累计'")
Dim r As Row
Dim s As Double = 0
r = .Rows.AddNew()
r("分类") = "本页合计"
Dim dss As List(Of DataRow) = DataTables("表A").Select("[项目] Is Not Null")
If dss IsNot Nothing Then
For Each ds As DataRow In dss
s = s + ds("金额")
Next
MessageBox.Show(s)
r("金额") = s
r.Save()
End If
r = tbl.Rows.AddNew()
Dim s1 As Double = 0
r("分类") = "本页止累计"
Dim Tel As String = e.Form.Controls("TextBox1").Value
Dim Parts() As String = Tel.Split("/")
Dim a As Double = CDbl(Parts(0)) * 25 - 1
Dim drs As List(Of DataRow) = DataTables("表A").SQLSelect("[项目] Is Not Null")
If drs IsNot Nothing Then
For i1 As Integer = 0 To a
s1 = s1 + drs(i1)("金额")
Next
MessageBox.Show(s1)
r("金额") = s1
r.Save()
End If
End With
[此贴子已经被作者于2023/11/22 11:57:11编辑过]
本页合计指已经加载的数据的合计?
本页止累计又是怎么个止法,截止什么?某个日期?分页加载是怎么做的?按什么列进行分页的?
本页合计就是当前已加载的数据合计,本页止累计是表A后台第一页第一行至
e.Form.Controls("TextBox1").Value “/"前数字页数,乘以一页25行的所有金额合计。
上一页下一页等按钮参考窗口afterload事件里的改法

此主题相关图片如下:微信图片_20231122154533.png

按上一页,下一页按钮后
e.Form.Controls("TextBox1").Value显示的数字异常,你在上一页、下一页多按几下就见了,而且第一页窗口的表中显示的行数在逐次递减。
因为代码里删除了2行,但是没有保存,然后又新增了2行,导致行数发生了变化。改为在加载之前删除并保存
With DataTables("表A")
.DeleteFor("[分类] = '本页合计'")
.DeleteFor("[分类] = '本页止累计'")
.Save
If .TotalPages > 0 And .LoadPage < .TotalPages - 1 Then
.LoadPage = .LoadPage + 1
.LoadTop = 25 '每页30行
.LoadOver = "_Identify"
.LoadReverse = True
.Load()
e.Form.Controls("TextBox1").Value = (.LoadPage + 1) & "/" & .TotalPages
End If
End With
个人的建议是在窗口里添加2个标签显示合计和累计,不要放到表格里。
这样动态的删除添加不是合理的做法,可能会导致一些功能行为发生变化