Rss & SiteMap

Foxtable(狐表) http://www.foxtable.com

新一代数据库软件,完美融合Access、Foxpro、Excel、vb.net之优势,人人都能掌握的快速软件开发工具!
共9 条记录, 每页显示 10 条, 页签: [1]
[浏览完整版]

标题:分页加载的本页合计和本页止累计

1楼
采菊东篱下 发表于:2023/11/22 11:24:00

图片点击可在新窗口打开查看此主题相关图片如下:微信图片_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编辑过]
2楼
有点蓝 发表于:2023/11/22 11:34:00
本页合计指已经加载的数据的合计?

本页止累计又是怎么个止法,截止什么?某个日期?分页加载是怎么做的?按什么列进行分页的?
3楼
采菊东篱下 发表于:2023/11/22 11:55:00
本页合计就是当前已加载的数据合计,本页止累计是表A后台第一页第一行至e.Form.Controls("TextBox1").Value “/"前数字页数,乘以一页25行的所有金额合计。
4楼
有点蓝 发表于:2023/11/22 12:04:00
分页加载是怎么做的?按什么列进行分页的?
5楼
采菊东篱下 发表于:2023/11/22 12:19:00
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:改墙砖后最低预算.foxdb

6楼
有点蓝 发表于:2023/11/22 13:46:00
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:改墙砖后最低预算.zip


上一页下一页等按钮参考窗口afterload事件里的改法
7楼
采菊东篱下 发表于:2023/11/22 15:55:00
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:加载显示页面异常.foxdb


图片点击可在新窗口打开查看此主题相关图片如下:微信图片_20231122154533.png
图片点击可在新窗口打开查看
按上一页,下一页按钮后e.Form.Controls("TextBox1").Value显示的数字异常,你在上一页、下一页多按几下就见了,而且第一页窗口的表中显示的行数在逐次递减。
8楼
有点蓝 发表于:2023/11/22 16:27:00
因为代码里删除了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
9楼
有点蓝 发表于:2023/11/22 16:28:00
个人的建议是在窗口里添加2个标签显示合计和累计,不要放到表格里。

这样动态的删除添加不是合理的做法,可能会导致一些功能行为发生变化
共9 条记录, 每页显示 10 条, 页签: [1]

Copyright © 2000 - 2018 foxtable.com Tel: 4000-810-820 粤ICP备11091905号

Powered By Dvbbs Version 8.3.0
Processed in .04803 s, 5 queries.