自定义报表功能集.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
自定义报表功能集

自定义报表1.0功能范围 一:已实现的功能 导出、导入自定义的报表格式。 能够对同一功能设置多种报表格式,并对这些报表格式进行增加、默认设置、删除等管理。 提供具有一定限制的、用户可使用的报表格式在线修改功能。 具有同步功能,将报表格式的修改同步到所有的工作站中,该功能的具体表现形式分为两部分(1---系统启动的时候能够将用户定义的报表格式自动更新到程序中,2---可在程序的同步功能窗口中通过操作将用户定义的报表格式更新到程序中)。 升级后能够继续使用用户自定义的报表格式。 升级时能够升级系统定义的报表格式(系统定义的报表格式指程序开发人员在程序中定义的报表格式,如果是易通LIS程序则包括检验报告单,该功能只有999999的用户能够使用)。 报表的多格式管理直接在报表所在的功能中实现,不设计专门的统一的系统管理功能来完成报表的多格式管理(易通LIS的检验报告仍然用统一的方式进行管理)。 8、对于修改过的报表,可以恢复到上一次时的设计状态。 9、自定义报表功能必须得到系统管理员的授权才能获得。(自定义权限指以下功能:1):设置将某一种报表格式设为默认格式,2)删除报表格式,3)对报表格式进行自定义. 也就是说没有权限的用户只具备临时换报表格式和导入导出的功能) 二:目前不支持的功能 1:控制某些控件强行可见,置顶(这里要考虑因为可以导入,导出,所以即使在自定义里面控制了,那么客户也可以将报表导出后修改再导入,从而避开我们的控制,导入后控制某些控件是否可见等)。 2:报表格式在线修改功能的主要限制: 不支持的报表类型:crosstab,richtext, graph, ole2.0。 不支持的属性修改: 对象名称。 计算列表达式。 对于矩形、圆型、矩圆型只支持调整位置、缩放大小、修改颜色。 带区属性。 分组的增加、删除。 对于Grid风格报表中的控件,如果其layer属性为background或foreground,不能够拖放其到对应网格线外的位置. 对于bringtofront,bringtoback属性,只在设计预览时支持,不支持对该属性的保存. 属性表达式必须明确的返回适合的数据类型:比如对于visible的属性表达式,该表达式必须能够明确的返回整形,写成long(lsh)或if(lsh= ‘1’,1,0)都是正确的,如果写成lsh 或 if(lsh= ‘1’,’1’,’0’)等都是错误的。 对于N_UP风格的报表,如果有多列,比如lsh_1,lsh_2,lsh_3,则只有第一列也就是lsh_1能够显示列名,其它列不能,但是仍然可以编辑其属性 数据窗口本身的属性编辑不支持,比如pbunit、grid.columnmove等属性. 三:编程说明 1:在第一次使用前请首先将您的程序进行备份,防止意外。 2:在数据库中添加两个表‘USER_DEFINED_REPORT’和‘USER_UPDATE_DATAWINDOW_DATETIME’,这两个表的创建语法见附录部分,在用户表中增加一个字段用来设置自定义报告的权限,比如增加一个字段CAN_DEFINED_DATAWINDOW CHAR(1) DEFAULT ‘0’ 3:将报表库(report.pbl)添加进程序的库列表中。 4:将res文件夹放到应用程序开发目录下,如果您的程序中打包了资源文件,则将report.pbr中的内容拷贝进您的资源文件中 5:检查报表库中的对象有没有在应用程序中有同名对象。 6:在连接上数据库之后应用程序主窗口打开之前调用一个您定义的全局函数或对象函数,该函数中封装下列代码: int li_rtn n_cst_syn_report lnv_syn_report if sqlca.dbhandle( ) = 0 then return 0 lnv_syn_report = create n_cst_syn_report li_rtn = lnv_syn_report.of_syn_start( ) destroy lnv_syn_report return li_rtn 7:在要自定义报表的数据窗口的rbuttonup或 rbuttondown事件中加载下列代码: 1)该数据窗口中本身没有弹出菜单 n_cst_dwsrv_user_defined lnv_user_defined lnv_user_defined = Create n_cst_dwsrv_user_defined lnv_user_defined.of_setrequestor( this) lnv_user_defined.of_pop_user_defined_menu( ) destroy lnv_user_defined 2)该数据窗

文档评论(0)

XRjSpZjplx + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档