FastReport中如何按照字段数据确定打印的页数

bingjue1234 2017-11-23 09:37:14
如数据源读取出来是
物料号 物料名称 订单数量 装箱数量
A01 打火机 1000 99

如何打印出来以下的情况
物料号 物料名称 订单数量 装箱数量 页数
A01 打火机 1000 99 第1页/共11页
A01 打火机 1000 99 第2页/共11页
A01 打火机 1000 99 第3页/共11页
A01 打火机 1000 99 第4页/共11页
A01 打火机 1000 99 第5页/共11页
A01 打火机 1000 99 第6页/共11页
A01 打火机 1000 99 第7页/共11页
A01 打火机 1000 99 第8页/共11页
A01 打火机 1000 99 第9页/共11页
A01 打火机 1000 99 第10页/共11页
A01 打火机 1000 10 第11页/共11页
...全文
680 11 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
楼主的意思是把订单的1000件货安装装箱数量分成若干箱,每箱一条记录
kenlewis 2018-12-05
  • 打赏
  • 举报
回复
没明白楼主的意思,11条数据是怎么出来的?
  • 打赏
  • 举报
回复
安装->按照
doloopcn 2018-12-04
  • 打赏
  • 举报
回复
页数一般都在PreView中才有准确的吧

每台打印机精度会有误差,打印的纸张及设备也不一定一样

这种算法没有会么普及性的吧

非要这样算的话,那你倒不如打一个样本出来,测量出每个字的宽度,每行的高度之类的,然后根据这些参数让程序自己匹配计算,得出页数
FastReport 没用过,根据QuickRep的经验,报表没有Prepare之前,页码/总页数不一定正常
weixin_43929346 2018-12-04
  • 打赏
  • 举报
回复
在系统属性中有[page]和[TotalPages#]
liups 2017-11-25
  • 打赏
  • 举报
回复
好久不搞这个了 fr是和word这些有点类似的,有系统变量(不一定是这个叫法)能反映共多少页和当前多少页的
bingjue1234 2017-11-24
  • 打赏
  • 举报
回复
不基于数据库的,直接传的DATALIST过来的
bingjue1234 2017-11-24
  • 打赏
  • 举报
回复
是打印到11张上面
bingjue1234 2017-11-23
  • 打赏
  • 举报
回复
在线等,急急急!!!
zbdzjx 2017-11-23
  • 打赏
  • 举报
回复
引用 楼主 bingjue1234 的回复:
物料号 物料名称 订单数量 装箱数量 页数 A01 打火机 1000 99 第1页/共11页 A01 打火机 1000 99 第2页/共11页 A01 打火机 1000 99 第3页/共11页 A01 打火机 1000 99 第4页/共11页 A01 打火机 1000 99 第5页/共11页 A01 打火机 1000 99 第6页/共11页 A01 打火机 1000 99 第7页/共11页 A01 打火机 1000 99 第8页/共11页 A01 打火机 1000 99 第9页/共11页 A01 打火机 1000 99 第10页/共11页 A01 打火机 1000 10 第11页/共11页
上面的内容,是打印到一张纸上?还是打印到11张纸上? 最好是在数据库中建一个临时表,用程序循环生成结果,再打印。
qq_36272499 2017-11-23
  • 打赏
  • 举报
回复
这个问题我也遇到过, 只有靠计算, 总条数 / 每页条数 再跟据余数决定是否加一
关于FastReport的说明 FastReport是高弹性的报表设计器,用于报表的数据可以从任何类型的数据源获取,包含字符列表,BDE数据库,ADO数据源(不使用BDE),Interbase(使用IBO),Pascal数组和记录,以及一些不常用的数据源。 整个FastReport系统是用Delphi的Pascal编写的。FastReport不需要动态链接库,但需在你的项目占用大约400kb(Delphi 5)。如果你想最终用户拥有设计能力,这将在你的.EXE增加大约500kb。虽然这看上去比较大,但这只是其它设计的几分之一。你同样应该考虑到FastReport不仅仅只是包含最终用户更改报表设计的能力,还能够适应查询和数据库的变化。FastReport还包含自己的脚本语言,让应用程序和最终用户能够更容易地改变报表。如果你的大部分应用使用FastReport,你可以简单地配置FastReport BPL(大约1400kb)而所有你的应用程序只需要保留很少的一部分。 你可以发现FastReport有一个非常吸引人的用户界面,使用最新的用户界面组件,例如可停靠的工具栏。你的最终用户将会非常愿意使用这个设计器,只需使用鼠标就可以创建大多数报表。 FastReport是名副其实的快速报表:较其它一些Delphi报表设计器而言,你可以发现没有什么可以接近于它的开发速度。报表预览窗口一直是大多数报表设计器的弱点,高品质的外观,赋于你的应用程序非常专业的用户界面。 FastReport是一个已经拥有三年历史的非常成熟的报表设计器,成长使它拥有其它Delphi报表设计器所不能相比的诸多先进特性。 FastReport的历史 FastReport应运而生。当我在1997年开发一个工资系统时,我寻找周围的报表设计器能够让我非常简单地创建报表,而且能够在运行时编辑报表。可是,那时没有一个免费组件是我所需要的。这样,我就想创建自己的报表设计器,于是FastReport诞生了。 FastReport的基本思想来源于Windows版的“1S-Bookkeeping”6.0,因此报表的基本元素是包含多行文本的矩形。这些文本既包含标准文本又包含变量。变量,像数据字段,用方括号突出显示。报表生成器的第一个版本仅支持一个区域,但它允许创建多层报表。它还不是一个组件,只是一些单元的集合。 后来,在1998年,报表生成器变成一个完整的Delphi组件。在这时,它命名为“FastReport”,并提供增强的函数功能。现在,FastReport是一个完整的,产品化的可视化报表生成器。它包含以下的特点: l 构建报表的生成器,也可以在运行时使用(重要的是用于最终用户报表的更改!)。 l 类似于MS Word的打印预览。 l 直接编译在Delphi EXE,不需要动态链接库。 l 支持JPEG(使用Delphi类库)和GIF(使用RX类库)。 l 拥有比QuickReport1执行更快速的性能。 l 简洁,纯Delphi代码,比QR3有更小的设计器。 l 类似QuickReportReportBuild的强大的区域导向报表生成器。 l 包含许多非常有用的组件:文本,线段,图像,图形,OLE对象,格式文本,RX Rich2.0,图表,图表,条形码,带阴影的文本。 l 报表生成的页数无限制。 l 多页报表;复合报表;子报表;分组;多栏报表;主从报表;透视表;二次表; l 打印过程全控制;支持所有纸张尺寸; l TXT,RTF(用于图形),CSV,HTML(用于图像)输出转换器。 l 在报表预览查找文本。 l 附加的TfrDataStorage组件允许在运行时创建数据表和查询。这对于需要完全控制报告过程的最终用户报表特别有用。 l 报表生成的页面可以被修改。 l 内置的Pascal解释器可用于非常灵活的报告!语法加亮的支持是使用一个免费的软件库。 l 报表数据可以保存于Delphi的DFM文件,外部文件,数据表的BLOB字段数据流。 l FastReport可以非常容易地用于创建你自己的报表组件,向导和函数类库。 l 报表的核心部分支持IBObject(不需要BDE)。 l 支持Interbase表达式(IBX). l 报表核心支持ActiveX Data Object(ADO)。 l 完善的数据管理函数(不需要BDE)。
第一章设计 1.1、控制键 1.2、鼠标操作 1.3、工具栏 1.3.1、设计模式工具栏 1.3.2、“标准”工具栏 1.3.3、“文本”工具栏 1.3.4、“边筐”工具栏 1.3.5、“对齐”工具栏 1.4、设计选项 1.5、报表设置 1.6页面设置 第二章创建报表 2.1、报表对象 2.2、“世界,你好!”报表事例 2.3、“Text”组件 2.4、在“Text”组件使用HTML标记 2.5、通过“Text”组件显示公式 2.6、FastReport的Bands 2.7、DataBand 2.8、TfrxDBDataSet组件 2.9、“客户列表”报表 2.10、通过text组件显示数据字段 2.11别名 2.12、变量 2.13、“Picture”控件 2.14、图形报表 2.15、多行文本显示 2.16、文本拆分 2.17、组件的Wrap 2.18、显示数据数据 2.19、标签式打印 2.20、子bands 2.21、组件的移动 2.22、两个数据阶的报表(主—细) 2.23、页首和页尾数据Band 2.24、多页报表 第三章分组集合体 3.1、分组打印 3.2、其他分组特性 3.3页码的重设 3.4、组的操作 3.5、行数 3.6、函数集 3.7、页和报表的统计 3.8、插入汇总函数 第四章格式化、加强 4.1、格式化输出结果 4.2、内嵌格式化 4.3、条件显示 4.4、分行显示数据行的颜色 第五章嵌套报表 5.1嵌套报表 5.2、设计子报表 5.3、子报表的限制 5.4、PrintOnParent选项 第六章脚本 6.1、体验脚本语言 6.2、脚本结构 6.3、“世界你好!”脚本 6.4、脚本组件对象的使用 6.5、调用报表变量列表的变量。 6.6、调用数据表子段 6.7、脚本调用汇总函数 6.8、报表变量值的显示 6.9、事件 6.10、一个使用“OnBeforePrint”事件的例子 6.11、在组头打印组的汇总信息 6.12、“OnAfterData”事件 6.13、Service组件 6.13.1、Report组件 6.13.2、Engine组件 6.13.3、“OutLine”组件 6.13.4、引擎组件的使用 6.15Anchors 6.16“Outline”组件的使用方法 6.17“OnManualBuild”页面事件 6.18脚本的组件的建立 第七章交叉报表 7.1、创建交叉报表 7.2、改变显示 7.3、使用函数 7.4、对结果进行排序 7.5、组合标题的表格 7.6、调整单元格的宽度 7.7、字体颜色和突出显示 7.8、使用脚本语言管理组件 7.9、调整行和列的大小 7.10、手动填充表格单元 7.11、在表格单元加入其他组件 7.12、一些有用的设置 第八章制图表 8.1、chart数据数字的限制 8.2、设置 8.3、指定数字制表 8.4、利用脚本进行制表 8.5、在delphi环境创建的报表的打印 第九章点阵报表 9.1、点阵报表使用交叉报表 9.2、点阵报表的打印 9.3、命令组件 第十章对话筐窗体 10.1、控件 10.2、“世界你好!”报表 10.3、输入参数,并传递到报表 10.4、组件的交互 10.5、多个对话筐表单 10.6、对话筐窗体的管理 第十一章数据访问组件 11.1、组件的描述 11.1.1、TfrxDBLookupCombobox组件 11.1.2、TfrxADOTable组件 11.1.3、TfrxAdoQuery组件 11.1.4、TfrxADODatabase 11.2、创建报表 11.3、简单的列表式报表 11.4、参数查询报表 11.5、其他可用配置 第十二章报表的继承性 12.1、创建报表 12.2、修改基础模板 12.3、组件的继承 第十三章报表向导 13.1、新报表向导 13.2、数据连接向导 13.3、新table向导 13.4、新query向导 13.5、查询语句生成 第十四章报表的预览打印导出 14.1、控制键 14.2、鼠标控制 14.3、报表的打印 14.4、报表的文字搜索 14.5、报表的导出

2,507

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧