打印预览调用的问题 两种方法: 1.用继承; 2.把报表作成dll; 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 不知是在预览窗体激活时载入报表,还是在报表预览时调用预览窗体。我想可能是后者,但不知具体的实现过程。 或者是后者????? 我在报表窗体的uses单元声明了预览窗体, 在quickrep1.onpreview事件中加入如下代码。 preview1.qrprinter:=quickrep1.qrprinter;等,在具体运行总是报错。。或者只显示自带的预览窗体,或只显示quickrep1............ 各位高手是否明确指小弟一条出路??????????????? 上面那位bpc的朋友的做法,小弟相当想知道,如果能详细讲解,那求之不得,如果能指出大概思路,我也相当感谢。愿闻其祥 在onpreview中写入 form2.preview1.qrprinter:=form1.quickrep1.qrprinter;在button1 onclick form1.quickrep1.preview 我不想介绍我的东西,只想您看到这样的方法做控件了 一次偶然机会,公司几个产品都需使用报表,因而由我主持开发了这样一报表控件,它经过了2,3,4,5版本的升级,又有很多功能的扩充,它目前有十几万行代码,经历了七八个大型项目的使用,减轻了我们太多的工作 使用此控件主要的目的:1, 主要目的减轻程序员的工作量;我相信通过此控件简单报表设计只须一分钟不到;2, 增加整个系统的稳定性,界面统一;3, 减小整个应用程序大小,不必再为一个报表建立一quickrep甚至form;4, 动态报表设计,它将随着Dbgrid的变化而变化;5, 其它一些优点如:加入图表功能,可设定文字自动居左、中、右;6, 在多层架构应用中使用,如CICS,7, 支持多表头8, 支持EXCEL导入出整个报表设计过程:1, 统计数据并反应在DBGRID中;2, 增加lbs_rep控件,必须指定其两个属性, a,Ddbgrid (打印的数据源 如 dbgrid1) b:filename(报表样式名,测试时请将rptcomm.prt 拷到c:\,并指定为’c:\rptcomm.rpt’)3, 增加如下代码: lbs_rep1.clearvar; //清空变量 lbs_rep1.add('BM1=1999年12月公司统计总表'); //增加表头,变量名可调整 lbs_rep1.add('TJ1=统计条件:12月'); lbs_rep1.add('W1=列表人:张大勇'); lbs_rep1.execute; //执行预览与打印;就这样简单,如须减变报表样式,请下载rptx.exe来调整;属性说明:(请不要使用已取消属性,有些属性必须按提示使用) (ZC开头为图表属性,新开发)属性 例值 说明Dbgrid Dbgrid1 需列印的数据源,Tdbgrid,与Mydbgrid互斥Dgdposi 0 报表列印的左边位置Double Flase 必须设置为False,因与以前版本有关Filename C:\rptcomm.prt 报表样式文件位置,在最终应用版本中请将所有样式文件拷贝到应用执行程序当前目录;Haspsum False 已取消Mydbgrid Mydbgrid1 需列印的数据源,Tmydbgrid,与dbgrid互斥Noprint 已取消Orientation poPortrait 报表纵横向Papesize A4 纸张大小Preview True 是否预览Psumtext 已取消Zcdataset Table1 数据源 TdatasetZcfields partno;cost 图表字段Zcfieldcount 2 图表字段数量(必须与Zcfields对应)Zchave True 是否含图表Zcheight 350 图表高度Zcissum True 图表在报表右端还是在底部Zcleft -1 图表与报表左端相应位置Zctitle 统计总表 图表标题Zctop 10 相对高度Zctype 4 图表类型Zcwidth 400 图表宽度 Email:[email protected]如果想看一下请与我联系,不过没源程序 我发表一下自己的看法,只是初学delphi,可能不正确。我觉得在delphi自带的qb2demo中使用的方法大概可行。该例中在mainform中定义一个报表变量report,然后在程序运行中动态设定report:=midiform.quickRep;最后在mainform里调用report.preview如果你的预览程序接口是一样的,上述方法应该可行 我可以给你发一个我用QREPORT的打印程序!联系我:[email protected] ScanLine函数如何使用?求示范 Bitbtn 添加圖片 如何向其他程序当前光标处自动输入若干汉字? 资料显示问题 刚做一个安装程序,请问如做移除程序,不用到控制面板内才能移除! D7要求注册,怎么办啊? 关于让记录上移或下移的问题. 在程序中怎样删除某个文件夹中的临时文件啊?如 c:\databack\sql.bak 诸位大虾,有没有人对delphi6.0 的INSTALLSHIELD 有研究?高分求助!!! 如何使程序最小化时不出现在应用程序状态栏中? 新手问一个关于事务操作的问题,还望高手指教 改颜色
我在报表窗体的uses单元声明了预览窗体,
在quickrep1.onpreview事件中加入如下代码。
preview1.qrprinter:=quickrep1.qrprinter;等,在具体运行总是报错。。或者只显示自带的预览窗体,或只显示quickrep1............
各位高手是否明确指小弟一条出路???????????????
上面那位bpc的朋友的做法,小弟相当想知道,如果能详细讲解,那求之不得,如果能指出大概思路,我也相当感谢。愿闻其祥
form2.preview1.qrprinter:=form1.quickrep1.qrprinter;
在button1 onclick
form1.quickrep1.preview
1, 主要目的减轻程序员的工作量;我相信通过此控件简单报表设计只须一分钟不到;
2, 增加整个系统的稳定性,界面统一;
3, 减小整个应用程序大小,不必再为一个报表建立一quickrep甚至form;
4, 动态报表设计,它将随着Dbgrid的变化而变化;
5, 其它一些优点如:加入图表功能,可设定文字自动居左、中、右;
6, 在多层架构应用中使用,如CICS,
7, 支持多表头
8, 支持EXCEL导入出
整个报表设计过程:
1, 统计数据并反应在DBGRID中;
2, 增加lbs_rep控件,必须指定其两个属性,
a,Ddbgrid (打印的数据源 如 dbgrid1)
b:filename(报表样式名,测试时请将rptcomm.prt 拷到c:\,并指定为’c:\rptcomm.rpt’)
3, 增加如下代码:
lbs_rep1.clearvar; //清空变量
lbs_rep1.add('BM1=1999年12月公司统计总表'); //增加表头,变量名可调整
lbs_rep1.add('TJ1=统计条件:12月');
lbs_rep1.add('W1=列表人:张大勇');
lbs_rep1.execute; //执行预览与打印;
就这样简单,如须减变报表样式,请下载rptx.exe来调整;
属性说明:
(请不要使用已取消属性,有些属性必须按提示使用)
(ZC开头为图表属性,新开发)
属性 例值 说明
Dbgrid Dbgrid1 需列印的数据源,Tdbgrid,与Mydbgrid互斥
Dgdposi 0 报表列印的左边位置
Double Flase 必须设置为False,因与以前版本有关
Filename C:\rptcomm.prt 报表样式文件位置,在最终应用版本中请将所有样式文件拷贝到应用执行程序当前目录;
Haspsum False 已取消
Mydbgrid Mydbgrid1 需列印的数据源,Tmydbgrid,与dbgrid互斥
Noprint 已取消
Orientation poPortrait 报表纵横向
Papesize A4 纸张大小
Preview True 是否预览
Psumtext 已取消
Zcdataset Table1 数据源 Tdataset
Zcfields partno;cost 图表字段
Zcfieldcount 2 图表字段数量(必须与Zcfields对应)
Zchave True 是否含图表
Zcheight 350 图表高度
Zcissum True 图表在报表右端还是在底部
Zcleft -1 图表与报表左端相应位置
Zctitle 统计总表 图表标题
Zctop 10 相对高度
Zctype 4 图表类型
Zcwidth 400 图表宽度
Email:[email protected]
如果想看一下请与我联系,不过没源程序
我觉得在delphi自带的qb2demo中使用的方法大概可行。
该例中在mainform中定义一个报表变量report,然后在程序运行中动态设定
report:=midiform.quickRep;
最后在mainform里调用report.preview
如果你的预览程序接口是一样的,上述方法应该可行
联系我:[email protected]