[原创]锐浪报表动态加入列和最后加入合计列+进度条显示

[原创]锐浪报表动态加入列和最后加入合计列+进度条显示

有网友向我询问锐浪报表动态生成列的有关代码,反正也是学来的,就开源一下,顺便还有进度条显示的哦!

动态生成的截图[attachment=58733]

代码如下:

.版本 2

.支持库 gregn40

主报表.从文件加载报表 (取运行目录 () + “\Reports\销售统计报表.grf”)

主报表.挂接事件 (报表事件1)

查询显示器1.设置关联报表 (主报表)

主报表.获取明细网格 ().获取数据集 ().忽略数据绑定 = 假

' 查询显示器1.启动 ()

.子程序 _按钮1_被单击

进度条1.可视 = 真

查询显示器1.刷新 ()

按钮1.禁止 = 真

.子程序 _打印按钮_被单击

主报表.打印预览 (真)

.子程序 _报表事件1_请求记录数据

.参数 pEof, 逻辑型, 参考

.局部变量 调拨句柄, 整数型, , "0"

.局部变量 M, 整数型

.局部变量 调拨数量, 文本型, , "0"

.局部变量 调拨金额, 文本型

.局部变量 N, 整数型

.局部变量 库存记录, 整数型, , , 从库存表中获取数据数

.局部变量 货号, 文本型

.局部变量 p, 整数型

.局部变量 库存句柄, 整数型

.局部变量 库存数, 整数型

进度条1.位置 = 1

外部数据库1.打开MDB数据库 (取运行目录 () + “\data\xshk.mdb”, , feng, , )

外部数据库2.打开MDB数据库 (取运行目录 () + “\data\xshk.mdb”, , feng, , )

.判断开始 (组合框3.取项目文本 (组合框3.现行选中项) = “全部规格”)

库存记录 = 外部数据库1.查询 (“select 货品编号,规格,货品名称,单位 from 当前库存表 order by 货品编号 asc”)

库存句柄 = 外部数据库2.查询 (“select count (*) from 货品表”)

库存数 = 外部数据库2.读 (库存句柄, 1)

进度条1.最大位置 = 库存数

.默认

库存记录 = 外部数据库1.查询 (“select 货品编号,规格,货品名称,单位 from 当前库存表 where 规格='” + 组合框3.取项目文本 (组合框3.现行选中项) + “'order by 货品编号 asc”)

库存句柄 = 外部数据库2.查询 (“select count (*) from 货品表 where 规格='” + 组合框3.内容 + “'”)

库存数 = 外部数据库2.读 (库存句柄, 1)

进度条1.最大位置 = 库存数

.判断结束

重定义数组 (调拨句柄, 假, 客户数)

重定义数组 (调拨数量, 假, 客户数)

外部数据库1.到首记录 (库存记录)

.判断循环首 (外部数据库1.尾记录后 (库存记录) = 假)

主报表.获取明细网格 ().获取数据集 ().追加 ()

主报表.获取明细网格 ().获取数据集 ().获取字段集合 ().获取项目 (1).字符值 = 外部数据库1.读 (库存记录, 1)

主报表.获取明细网格 ().获取数据集 ().获取字段集合 ().获取项目 (2).字符值 = 外部数据库1.读 (库存记录, 2)

主报表.获取明细网格 ().获取数据集 ().获取字段集合 ().获取项目 (3).字符值 = 外部数据库1.读 (库存记录, 3)

主报表.获取明细网格 ().获取数据集 ().获取字段集合 ().获取项目 (4).字符值 = 外部数据库1.读 (库存记录, 4)

货号 = 外部数据库1.读 (库存记录, 1)

.计次循环首 (客户数, M)

调拨句柄 [M] = 外部数据库2.查询 (“select sum(数量)as ersl from 出货表 where 类型='” + 组合框4.取项目文本 (组合框4.现行选中项) + “'and 年度='” + 组合框1.内容 + “'and 月份='” + 组合框2.内容 + “'and 货品编号='” + 货号 + “'and 单位名称='” + 单位名 [M] + “'”)

调拨数量 [M] = 到文本 (外部数据库2.读 (调拨句柄 [M], “ersl”))

主报表.获取明细网格 ().获取数据集 ().获取字段集合 ().获取项目 (4 + M).字符值 = 数值到格式文本 (到数值 (调拨数量 [M]), 数量精度, 假)

.如果真 (到数值 (主报表.获取明细网格 ().获取数据集 ().获取字段集合 ().获取项目 (4 + M).字符值) = 0)

主报表.获取明细网格 ().获取数据集 ().获取字段集合 ().获取项目 (4 + M).字符值 = “”

.如果真结束

外部数据库2.关闭记录集 ()

.计次循环尾 ()

主报表.获取明细网格 ().获取数据集 ().提交 ()

外部数据库1.到后一记录 (库存记录)

进度条1.位置 = 进度条1.位置 + 1

.判断循环尾 ()

外部数据库1.关闭记录集 (库存记录)

外部数据库1.关闭记录集 ()

外部数据库2.关闭记录集 ()

进度条1.位置 = 进度条1.最大位置

进度条1.可视 = 假

.子程序 _调拨汇总_尺寸被改变

查询显示器1.移动 (10, 50, 调拨汇总.宽度 - 28, 调拨汇总.高度 - 90)

进度条1.移动 (查询显示器1.左边, 查询显示器1.顶边 + 查询显示器1.高度 - 进度条1.高度, 查询显示器1.宽度, )

.子程序 _打印_被单击

锐浪报表_风之打印 (_启动窗口, 主报表)

.子程序 _报表事件1_初始化事件

.局部变量 客户记录, 整数型

.局部变量 L, 整数型

.局部变量 N, 整数型

主报表.按名称取部件框 (“MemoBox1”).获取为综合文字框 ().文字 = 组合框1.内容 + “年” + 组合框2.内容 + “月”

主报表.按名称取部件框 (“MemoBox2”).获取为综合文字框 ().文字 = “规格:” + 组合框3.取项目文本 (组合框3.现行选中项)

外部数据库2.打开MDB数据库 (取运行目录 () + “\data\xshk.mdb”, , feng, , )

主报表.获取明细网格 ().锁定列数 = 4

客户记录 = 外部数据库2.查询 (“select distinct(单位名称) from 出货表 where 年度='” + 组合框1.内容 + “'and 月份='” + 组合框2.内容 + “'and 类型='” + 组合框4.取项目文本 (组合框4.现行选中项) + “'”)

外部数据库2.到首记录 (客户记录)

列表框1.清空 ()

.判断循环首 (外部数据库2.尾记录后 (客户记录) = 假)

列表框1.加入项目 (外部数据库2.读 (客户记录, 1), )

外部数据库2.到后一记录 (客户记录)

.判断循环尾 ()

客户数 = 列表框1.取项目数 ()

' 输出调试文本 (客户数)

重定义数组 (单位名, 假, 客户数)

.计次循环首 (客户数, L)

主报表.获取明细网格 ().增加列 (“Column” + 到文本 (4 + L), 列表框1.取项目文本 (L - 1), 列表框1.取项目文本 (L - 1), 2)

主报表.获取明细网格 ().获取标题行 ().获取标题格集合 ().获取项目 (4 + L).文字对齐方式 = 33

主报表.获取明细网格 ().获取标题行 ().获取标题格集合 ().获取项目 (4 + L).文字绕行 = 真

主报表.获取明细网格 ().获取数据集 ().增加字段 (“Field” + 到文本 (4 + L), 1)

主报表.获取明细网格 ().获取内容行 ().获取内容格集合 ().获取项目 (4 + L).数据字段 = “Field” + 到文本 (4 + L)

主报表.获取明细网格 ().获取内容行 ().获取内容格集合 ().获取项目 (4 + L).文字对齐方式 = 36

单位名 [N] = 主报表.获取明细网格 ().获取标题行 ().获取标题格集合 ().获取项目 (4 + L).文字

.计次循环尾 ()

外部数据库2.关闭记录集 ()

' 输出调试文本 (“单位名称” + 到文本 (N) + 单位名 [N])

' 输出调试文本 (主报表.获取明细网格 ().获取列集合 ().获取项目 (4 + L).名称)

' 输出调试文本 (主报表.获取明细网格 ().获取内容行 ().获取内容格集合 ().获取项目 (4 + L).数据字段)

.子程序 _调拨汇总_将被销毁

外部数据库1.关闭记录集 ()

外部数据库2.关闭记录集 ()

外部数据库1.关闭 ()

外部数据库2.关闭 ()

.子程序 _查询显示器1_列排列发生改变事件

查询显示器1.保存当前列排列 ()

.子程序 _报表事件1_开始处理事件

.局部变量 报表格数, 整数型

.局部变量 字段, 整数型

.局部变量 n, 整数型

.局部变量 累加文本, 文本型

.局部变量 m, 整数型

字段 = 主报表.获取明细网格 ().获取数据集 ().获取字段集合 ().数目

m = 主报表.获取明细网格 ().获取内容行 ().获取内容格集合 ().数目 + 1

报表格数 = 主报表.获取明细网格 ().获取内容行 ().获取内容格集合 ().数目

主报表.获取明细网格 ().增加列 (“合计”, “合 计”, “合计”, 2)

主报表.获取明细网格 ().获取列集合 ().获取项目 (m).获取标题格 ().文字对齐方式 = #文字对齐方式枚举.中中

主报表.获取明细网格 ().获取内容行 ().获取内容格集合 ().获取项目 (m).自由格 = 真

主报表.获取明细网格 ().获取内容行 ().获取内容格集合 ().获取项目 (m).获取部件框集合 ().增加 (#部件框类型枚举.综合文字框)

主报表.获取明细网格 ().获取内容行 ().获取内容格集合 ().获取项目 (m).获取部件框集合 ().获取项目 (1).获取为综合文字框 ().宽度 = 2

主报表.获取明细网格 ().获取内容行 ().获取内容格集合 ().获取项目 (m).获取部件框集合 ().获取项目 (1).获取为综合文字框 ().停靠 = #停靠方式枚举.填充

主报表.获取明细网格 ().获取内容行 ().获取内容格集合 ().获取项目 (m).获取部件框集合 ().获取项目 (1).获取为综合文字框 ().文字色 = #红色

主报表.获取明细网格 ().获取内容行 ().获取内容格集合 ().获取项目 (m).获取部件框集合 ().获取项目 (1).获取为综合文字框 ().文字对齐方式 = #文字对齐方式枚举.右中

.变量循环首 (5, 字段, 1, n)

累加文本 = 累加文本 + “Field” + 到文本 (n) + “+”

.变量循环尾 ()

' 输出调试文本 (累加文本)

累加文本 = 取文本左边 (累加文本, 取文本长度 (累加文本) - 1)

' 输出调试文本 (累加文本)

主报表.获取明细网格 ().获取内容行 ().获取内容格集合 ().获取项目 (m).获取部件框集合 ().获取项目 (1).获取为综合文字框 ().文字 = “[#” + 累加文本 + “:0.00#]”

[此贴子已经被作者于2007-5-3 23:47:57编辑过]

横向合计代码 锐浪报表_[原创]锐浪报表动态加入列和最后加入合计列+进度条显示...相关推荐

  1. 利用curl下载文件(进度条显示) 代码片段

    在项目中需要用到程序更新的功能,同事介绍说是curl中的开发库很不错,于是下载这个包测试了一下,确实不错.准备正式用到项目中,以下一个例子用于从互联网上抓取一个文件下载到本地,并加上进度条显示,做得挺 ...

  2. python 水晶报表_什么是水晶报表与水晶报表功能分析

    水晶报表 水晶报表(Crystal Report)是业内最专业.功能最强的报表系统,它除了强大的报表功能外,最大的优势是实现了与绝大多数流行开发工具的集成和接口.在VS.Net平台做过报表开发的程序员 ...

  3. vue 新手指引_精通react/vue组件设计之快速实现一个可定制的进度条组件

    前言 这篇文章是笔者写组件设计的第四篇文章,之所以会写组件设计相关的文章,是因为作为一名前端优秀的前端工程师,面对各种繁琐而重复的工作,我们不应该按部就班的去"辛勤劳动",而是要根 ...

  4. 大数据量下水晶报表的实现及显示过程中的进度条显示讨论

    最近一段收到的反馈中,有几位是问到在应用程序中使用水晶报表时,大数据量情况下因为等待时间过长,给用户的感觉不好 所以想增加一个进度条,给用户一个比较直观的印象. 本文针对此问题而生,但是并没有一个像样 ...

  5. VB下载网上文件代码(有进度条显示)

    本栏文章均来自于互联网,版权归原作者和各发布网站所有,收集这些文章仅供学习参考之用.任何人都不能将这些文章用于商业或者其他目的. '添加 internet transfer control 6.0 和 ...

  6. python制作进度条显示_Python进度条的制作代码实例

    这篇文章主要介绍了Python进度条的制作代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 import sys,time #导入模块 for ...

  7. python代码弄成网站_原创:用python把链接指向的网页直接生成图片的http服务及网站(含源码及思想)...

    原创:用python把链接指向的网页直接生成图片的http服务及网站(含源码及思想) 总体思想: 希望让调用方通过 http调用传入一个需要生成图片的网页链接生成一个网页的图片并返回图片链接 最终调用 ...

  8. python代码执行过程记录_[原创]IDAPython+OdbgScript动态获取程序执行流程

    题记: 最近知道了有一种方法,可以获取到程序的执行流程,具体做法是先获取程序中每一个函数的地址,在这些地址上设置断点,然后让程序运行起来,hook调试器,断点中断时,不要停下来继续执行,并记录命中的断 ...

  9. python代码少的作品_原创 8行python代码展示程序员从入门到大神(或跑路)的全部状态...

    一行python代码可以做什么? 人生苦短,我用python.python的世界里无处不在的简洁和短小,往往一行代码可以实现很多有意思功能. 你敢想象你从入门python代码.网络达人.反重力怪才.爱 ...

  10. 右边补0 润乾报表_关于润乾报表的补充说明 -

    分页说明:为方便大家开发,本人在工资系统中作出一个DEMO,经过测试后能正常使用.先将部分代码与注意事项发给大家看一下 第一步: 如果该报表需要分页的话,请将下面的 替换掉原先的. 第二步: 增加 $ ...

最新文章

  1. java 之 面向对象
  2. CachedNetworkImage 图片缓存
  3. gitlab 邮件配置(smtp)
  4. cadence 添加自己设计的pad方法
  5. java实现分页打印功能_web 页面分页打印的实现
  6. 正则表达式||grep的使用
  7. go语言一天入门(上)
  8. 小新pro13 重装注意_新款小新pro 13注意什么?买前必读
  9. java 元组_简单实现 Java 的 Tuple 元组数据类型
  10. [OpenGL] opengl常见问题汇总
  11. mx350显卡天梯图_分享电脑显卡天梯图2020
  12. MYSQL 命令行大全
  13. cpy几天爬出密道问题
  14. IDEA社区版tomcat配置
  15. 计算机打印中没有记录纸,打印机出来白纸没有字
  16. w10投影全屏设置_win10如何让投影仪铺满全屏
  17. 文献—Emergent simplicity in microbial community assembly-- 全文框架分析
  18. Spring Boot: Bean definition overriding
  19. 侯捷C++ STL体系结构与源码剖析:关于moveable的说明
  20. 论文学习-Exploiting Long-Term Dependencies for Generating Dynamic Scene GraphsExploiting Long-Term Depe

热门文章

  1. Mac触控板Magic Trackpad的常用手势
  2. Python爬取美女图片 爬虫基础
  3. CTPN - 自然场景文本检测
  4. 卷积神经网络的基本原理
  5. 小米平板4twrp一键刷入工具_不要浪费小米10的双扬声器!杜比全景音刷入教程分享...
  6. 4G多卡聚合路由器解决视频直播中的网络不稳定问题
  7. 怎么用python扫描主机_如何调用python-nmap来实现扫描局域网存活主机(代码)
  8. NISP第一讲信息安全和网络空间安全
  9. os+rom+android+6.0+n9005,三星S8+官方韩版安卓9固件rom系统线刷升级包:G955NKSU3DSG5
  10. 常用HSQL汇总(不定时添加)