说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

在Delphi中运用QuickReport实现多栏列印

HTML文档下载 WORD文档下载 PDF文档下载
在Delphi中运用QuickReport实现多栏列印

---- 在所有有关Delphi的书籍中,都没有讲解如何实现一个打印项的多栏打印,而实现生活中往往有许多报表要求同一项目多栏打印,QuickReport提供了报表打印一整套完整的解决方案,完全可以实现同一项目的多栏打印,技术关键是如何控制表中记录提取个数,如果在Treport的DataSet属性中选定一个Table

那么QuickReport每次打印详细列表(BandType=rbDetail)属性的TQRBand时,系统会自动取出一个记录供打印,并将表中的记录指针移到下一位,这样程序无法控制表中记录指针的移动,就无法实现多栏打印,只要程序不在Treport的DataSet属性选定任何表

QuickReport便不会控制表记录的提取,QuickReport特为其它类型数据打印提供了一个OnNeedData事件,QuickReport 每次打印详细列表(BandType=rbDetail)属性的TQRBand时,会触发这个事件,要求提供打印数据,如果程序在OnNeedData事件中编写运用表中数据提供打印资料,便能实现多栏打印,现举例说明:

---- 现在要实现一个Table1中Name项两栏打印,在窗口上放TquickReport组件 quickReport1,并在上面放Tband组件band1,将其BandType属性改为Detail,在Tband 组件上并排放两个QRLabel组件QRLabel1和QRLabel2,在quickReport1的OnNeedData事件中写如下代码:

procedure TForm1.QuickRep1NeedData(Sender:

TObject; var MoreData: Boolean);

var

I: integer;

begin

MoreData := True;

for I:= 1 to 2 do

begin

if Table1.Eof then Break;

case I of

1: QRLabel1.Caption :=

Table1.FieldByName('Name').AsString;

2: QRLabel2.Caption :=

Table1.FieldByName('Name').AsString;

end;

Table1.Next;

end;

if Table1.Eof then MoreData := False;

end;

---- 为了保证打印或者打印预览开始时Table1指针在第一条记录,在quickReport1的 BeforePrint事件中写如下代码:

procedure TForm1.QuickRep1BeforePrint

(Sender: TCustomQuickRep;

var PrintReport: Boolean);

begin

Table1.First;

end;

---- 这样程序调用QuickRep1.Preview或者QuickRep1.Print便能预览或者打印到一个关于 Name的从左至右,从上到下的多栏报表。

CTO容易犯的三大错误 谷歌艺术计划:互联网能否取代真实的博物馆? Hadoop技术沙龙:Hortonworks技术研发总监展望Hadoop 2.0 Marissa Mayer:雅虎月活跃用户增长了20%达8亿 移动用户3.5亿 气死偷车贼:脑电波防盗技术,让偷车贼无计可施 TIOBE 2013年9月编程语言排行榜:Transact-SQL首次进入前十 前Oracle总裁Charles Phillips:商业软件领域的“乔布斯” 留住你的用户:8款第三方移动推送服务 人气最旺:主流移动应用创建工具大合集(一) 不要强迫用户注册,请让他们先试用产品 Eve:基于Python的REST API框架 想扩展你的数据库吗?那么先了解一下I/O 白帽黑客将现场爆料Android系统及框架漏洞 9月13日:程序员节,一起来过节吧! 欲与Siri、Google Now比高低:微软开始打造个人助理Cortana 【开源专访】禅道创始人王春生:覆盖项目全周期,回归管理的本质 携程无线创业者大赛成功落幕 梁建章为头名“快展”颁20万奖金 Bug报告:小角色,大用处! iOS开发者必备: 五大编程类工具 多核优化软件MCx释放EMC VNX闪存潜能 手把手教学:详解HTML5移动开发框架PhoneJS 快速学习新技术的几条建议 研发周报:Angular.js or Ember.js 谁将成为Web开发的新宠? 10款免费且开源的项目管理工具 Greg Pass:拯救Twitter的无名英雄 Cassandra杀回数据库排行Top 10,及需求Java 7的2.0版本 安全专家王清将揭秘“大数据时代的大安全” BrainSpace:跟传统搜索说再见 艾普网络的OpenStack实践 移动周报:无需编程,分秒钟DIY一个移动网站 抢占先机:豌豆荚发布视频搜索产品 根据一些来历不明的消息说,微软将在2008年停止对 VB.NET 进行技术支持。是真的吗??? 怎样实现倒退和快进,用mediaplay组件播放影片,想在影片结束时自动调用某个过程,这个影片结束的事件是什么? 怪:DataGrid中选择一行后此行不能编辑! 有谁用过工商银行的国际借记卡了吗? 如何将反馈表中的若干表单内容发送到指定的邮箱并同时抄送到另一信箱? 使用游标时出现 -1002 的错误如何解决? 数据的初始化问题。 [求助] 如何用DirectX显示YUV格式的图像 我在安装Red Hat8时说一个文件坏了,但我有源代码,怎样编译成成哪个文件。 桌面内容不见了! 怎么获得当前目录 快救命啊高手们、菜鸟兄弟们,偶遇到sql语句问题啦,怎么对数据库插入数据啊100分给你 一个很白痴的问题,不过我实在搞不定,关于dbGrid的 一个关于数组基本使用方法的问题 请问如何把数据写到用OleContainer控件建立的WordApplication文档里面和如何从里面读取数据? 重回pb论坛,庆祝一下! [初级]请问如何在WebServer连接DBServer的Access资料库? WIN2000的MSDOS下无法输汉字 win2000p的老问题了,关于虚拟内存,页面文件 如何删除sql的日志文件!! 快救命啊高手们、菜鸟兄弟们,偶遇到sql语句问题啦,怎么对数据库插入数据啊100分给你 datagrid的问题,请大家进去看看,帮帮忙!在线等待 各位高手 用什么方法可以拖慢我的机器 在delphi中如何动态建立oracle的存储过程和触发器? 刷新父窗体的问题 请问:float数据的转换(见文章) 高手,救命啊!!在線等! 急问:win2000 的sp3可以打在win2000高级服务器版上么? 急死人了!!!!! TMNHttp组件的post方法的使用问题? 快救命啊高手们、菜鸟兄弟们,偶遇到sql语句问题啦,怎么对数据库插入数据啊100分给你 怎么样在bcb5里做一个类似于资源管理器的浏览界面? 请教数据类型转换的完整答案 马上结帖! oracle8.1.7支持全文检索吗? CMap<int, int, CString, CString> m_cMap 如何方便地找到函数的定义和包 为什么IdPOP3一用Retrieve方法就出错???? 在程序中无何派断本地机是否装了OFFICE中的word,并且如何获得它的路径(.exe的完全路径,我要调用这个程序) 请教资源文件问题 insert 语句~总出错,从一个表中查出来的数据插入到另一个表中~大家看看 String的长度最大有多大啊? 急切盼望 一个小问题 急待解决 请问关于套接字发送文件的问题 请问哪里有JDBC 2.1 下载? 当我打开evc的添加控件时,没有如何控件供选择,怎么办? 关于Calendar的问题 能引起数据库超时已过期的原因是什么? 请大家帮我一把好吗 怎样得到浏览器的分辨率? in more recent times的汉语意思是什么 thewater may take the bridge away怎么翻译 Many owners feel their pets understand them,for animals are_____to sense anger and sorrow.我选的是easy,答案是quick什么叫迅速感知悲伤吗~ ★in more recent times的意思,用法.在线等啊!★主要是用法,不要百度知道上复制过来的,我都看过了。 好的会多给分的! 2.I think it~s impolite to _____others .I agree with you.A.shout on B.shout at C.shame at3.Jim,why do you look ____?Because i worked for a few hours last night ,it~s very_____.A.tired ,tired B.tiring,tiring C.tiring tired D.tired tiring4.Would you li you ought to spend more time on english改写 in more recent———(time)为什么,谢了 I think it silly of you not to forgive othersI think __silly __you not to forgive others for their mistakes. it's of 第一个空为什么不是it? 这个不可以符合主语+think it+adj.of/for sb. to do sth.吗? 英语试题,请给出解题详情.Sarah,hurry up.I am afraid you can't have time to _(change)before the party. in recent times?in recent times 为什么time要用复数?前面为什么用in? It is very____(think)____(介词)you____(think)of others first. 最近的亲属 THE NEXT OF KIN怎么样 有一首舒缓英文歌,其中有句歌词,“you are bad man” 但不是这首歌,歌词里有you are super man ,还有you are bad man是一个男歌手,有一期非诚勿扰一位男嘉宾的VCR里用那首歌做背景的应该是一首情歌吧. 填上适当的介词:I think it's impolite to shout _______ others . Never give up,said,is to insist on victory是什么意思 找一首英文老歌,歌词中有you are bad man!找一首英文老歌,歌词中有一句you are bad man! dear student my name is bob .live in toronto ,canada .and i want a pen pal in chain .i think chaindery student my name is bob .live in toronto ,canada .and i want a pen pal in chain .i think chain is very interesting country.i am 14 yerys old my birt Emergency Contact Person是什么意思 选择填空:--____I finish the work by tomorrow?--Yes,you____.--____I finish the work by tomorrow?--Yes,you____.A Must,must B Should,must C May,must D Must原因 Few remained of the house after the earthquake.这里的remained是什么词性 Dear students,My mane is Bob.I live in Toronto,Canada,and I want a ______ (1) pal in China. 为什么我下载了半条命2启动不了 显示only one instance of the game can be running at one time 请专业人士解答 一下大豆油在我国食用油中所占比例有多大? I live in Toronto Canada.的中文 _______quick,or you will be late.a)Be b) To be _____up!Tom.You will be late for school.(wake)I ______ alresdy ________(wake) up,mom.I just _________(pretend)_________(sleep).适当形式填空 My name is Jane.My home is in ( ) A. Toronto,Canada B. Canada,Toronto 背过新概念第三册的进,英语口语新概念第三册都背下来是不是跟外国人对话就没有问题了? the food was wrapped in newspaper and eaten with your fingers I live in Toronto Canada.这句话里为什么把Toronto放在Canada前面?请说明大小地名的用法 The work is so difficult that he can't finish it in under a week.同义句?The work is so difficult that he can't finish it in ______ ______one week.一个横线一个词 知道的填下.同义句 Thr boy asked them,"Do you take some food and drink with you?"改为宾语从句的复合句 The tall building ____ when the earthquake happened.用shake,shook,is shaking来填空 为什么军团要塞2出现only on instance of the game can be running at one time,玩不了 Tom,you should go___(quick).It is late for school. The houses,building last year were destroyed by the earthquake 改错 四个元素.黑桃.英语字母soon.球.海浪.猜成语 food是用take it away还是take them away? ----May I take it away?----___________.A.All right B.That's all right C.That's right D.You are welcome Don't leave your pet dog at home alone for too time.-____.I usually take it out for a walk in theafternoon.A.Yes,I do B.Yes,I'll C.No I won't D.I don't 请做出回答并解释 The homework is too much.I need ten more minutes to do it 改为同义句The homework is too much.I need (两道横线) minutes to do it L want a pen pal in China >(改为同义句) There--- an important meeting the day after tomorrow.是 is 是 are 是 will have 是 is going to beis going to be 那如果我用is,理由是现在进行时表将来呢?可不可以 They need____actors for the talent show.A.much more B.many more哪个正确?为什么? I want a Chinese pen pal改为一般疑问句 My father _ for London tomorrow ,there is _ an important meetingA is leaving to be B is goning to leave having 有there is dong 的结构吗 还有表示将来时的有什么 他们有什么区别 1I do not think it will snowy tomorrow(单句改错) 2.You will not be late for school next time(改为祈使句) what,pen,a,pal,China,in,I There _________ (not be) an important meeting tomorrow afternoon 连词成句yourself,go,teacher,new,please,tell,about,your,and we think it our duty to help others为什么不加IS啊we think it is our duty to help others there is going to be an important meeting tomorrow please try___latea not to be b not be 翻译:we are hanging out in here there's a bridge [ ] the river.A;aboveB;nearC;acroosD;through必须有理由 中国有几个石油公司中国石油和中国海油是同一个么?有啥区别?还有哪些石油公司? the tiger _____ (keep )in a tiny cage and can't move 首字母填空 In many situations,a tiny thing can be c______ to an important event.指千里之堤溃于蚁穴 请问下中国四大石油公司用石油运输车运送油运到加油站都是同一个地方开采的油吗 此句中,keep 要改成被动语态吗temperature________( keep )between 2 and 10.此句子中,keep 要改成被动语态吗?是 keeps,还是is kept? the bridge is a_______the river(首字母答问题)
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘