pb报表制作powerbuilder报表制作教程pb报表编制教程步骤

pb报表制作powerbuilder报表制作教程pb报表编制教程步骤

ID:34725250

大小:56.68 KB

页数:3页

时间:2019-03-10

pb报表制作powerbuilder报表制作教程pb报表编制教程步骤_第1页
pb报表制作powerbuilder报表制作教程pb报表编制教程步骤_第2页
pb报表制作powerbuilder报表制作教程pb报表编制教程步骤_第3页
资源描述:

《pb报表制作powerbuilder报表制作教程pb报表编制教程步骤》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、pb报表制作powerbuilder报表制作教程pb报表编制教程步骤在通常的管理信息系统开发过程中,总是有没完没了的报表需要制作,调试报表花费的时间也是最多而且乏味,还常常不能满足客户的要求。如果能够让用户自己调整报表的格式和内容,然后将它保存下来,程序下次启动时若能自动调用保存了的报表格式那就方便多了。实现原理   PowerBuilder中有一种以PSR为后缀的特殊的保存报表的文件格式(本文简称PSR文件),数据窗口可以直接读取PSR文件生成报表,而程序通过生成PSR文件,就可以实现动态报表格式的保存。  首先,通过设置数据窗口对象(dataobject)中的文本、列等的Resizeabl

2、e和moveable属性为1来实现对象位置的拖动控制,通过数据窗口的Modify函数实现对象值的更改(包括增加和删除)。  其次要保存报表格式。在一个应用中,数据窗口对象的名称总是惟一的,将每一个数据窗口对象转化成PSR文件存于数据库表中。在窗口打开时,程序先校验报表格式是否存在。如果存在,将报表格式读出来放在一个临时文件当中,然后设置数据窗口(datawindow)的数据对象(dataobject)为这个报表文件,并提取数据;如果不存在,直接提取数据即可。实现过程  1.建立一个数据库表用以保存报表格式文件,各个字段定义如下:    2.建立一个窗口w_temp。定义实例变量如下:   st

3、ringis_dwtype,is_dwobject   //保存报表中对象的类型及名称    3.在窗口的Open事件中加入如下代码,校验报表格式是否存在,如果存在,读取定义好的报表格式到数据窗口。  blobemp_pic  longll_handle  stringls_dwobject,ls_reportfile,ls_path  ls_dwobject=dw_print.dataobject  //判断是否存在该数据窗口的报表格式  selectcount(*)into:ll_countfromdyn_reportwheredwobject=:ls_dwobject;  ifll_co

4、unt>0then  //读取报表格式文件到大文本变量  selectblobmemointo:emp_picfromdyn_reportwheredwobject=:ls_dwobject;  //创建PSR临时文件并保存到硬盘  ls_reportfile=‘temp7089.psr’  ll_handle=FileOpen(is_reportfile,StreamMode!,write!,LockWrite!,Replace!)  FileWrite(ll_handle,emp_pic)  FileClose(ll_handle)  dw_print.dataobject=ls_rep

5、ortfile  dw_print.settransobject(sqlca)  else  Dw_print.settransobject(sqlca)  Endif  Dw_print.retrieve()  4.保存报表格式,这可以通过Cb_savereport按钮的clicked事件实现。  stringls_filename  longll_count  blobEmp_id_pic  ls_filename=“temp70201.psr”  //保存报表格式到硬盘临时文件  dw_print.saveas(ls_filename,PSReport!,false)  sqlca.au

6、tocommit=true  selectcount(*)into:ll_countfromdyn_reportwheredwobject=:is_dwobject;  ifll_count=0then  insertintodyn_report(dwobject,rptitle)  values(:is_dwobject,:ls_filename,:ls_path);  endif  //从硬盘临时文件读取数据保存到数据库表中  emp_id_pic=of_readbmpfile(ls_filename)  //该函数将二进制文件内容读到大文本对象中  UPDATEBLOBdyn_repor

7、tSETmemo=:Emp_id_picwheredwobject=:is_dwobject;  //更新数据库  sqlca.autocommit=false    5.动态报表的实现。通过数据窗口dw_print的clicked事件捕获数据窗口中的对象,并将对象名存放在实例变量is_dwobject中,为下一步修改报表做准备。  stringls_type,ls_dwoname  //得到对象

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。