- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Birt报表中使用jQuery排序
Birt报表中使用jQuery排序
问题分析
Birt报表引用的prototype库和jQuery库快捷方式“$”有冲突。如果需要在Birt报表中使用jQuery库,需要解决prototype库和jQuery库快捷方式“$”的冲突。
Birt报表无法用常规方法写js代码,无法用常规方法引用外部js。编写js代码需要在报表布局空白位置插入一个文本,格式改为html,在这里可以编写js代码和动态引用js和css,也可以修改源码文件,在源码文件中导入外面js文件。
Birt报表的默认html结构不符合jQuery排序方法要求的结构。需要在源码中修改Birt报表默认的html结构或者用js动态改变页面上的html结构。
解决prototype库和jQuery库冲突
分析:prototype库和jQuery是快捷方式“$”的冲突,需要修改prototype或者jQuery的快捷方式“$”。因为prototype是Birt自带的js库,只能修改jQuery的快捷方式“$”。
解决方法:
·调用jQuery.noConflict();方法将jQuery中”$”快捷方式还原成jQuery
·或者var jq= jQuery.noConflict();此方法是将jQuery中“$”快捷方式替换为“jq”
解决在Birt报表中引用外部js和css
分析:在Birt报表中引用外部js和css有几种方法。一种是在插入html文本中直接引用外部js和css;另一种是用js动态引用外面js和css;还有一种可以修改birt源码,在源码文件中引用外部js和css。
·在插入html文本中直接引用外部js和css,这里必须用绝对路径(当然,你如果有办法用相对路径更好)但用绝对路径不方便移植;
·用js动态加载js和css可以使用相对路径,但稍麻烦些,而且不稳定(因为网络不畅原因可能会导致js加载不理想js报错等问题)
·修改Birt源码,在源码中引用外部文件可以用相对路径,而且稳定。缺点是修改源码后,每个报表都会引用该外部文件。
解决方法:修改Birt源码加载外部js,使用js动态加载外部css
·在webcontent\birt\pages\layout\FramesetFragment.jsp文件中添加下面代码,并定义baseHref变量
·在插入的html文本中添加加载外部css的方法,并调用。其中baseHref变量是在FramesetFragment.jsp文件中定义,如下图:
修改Birt报表的html格式
分析:因为jQuery排序方法只能针对固定的结构有效,所以需要修改Birt报表的html结构。
·默认结构如图:
·需要修改的结构表头必须包含在thead标签下,如下图:
解决方法:
·首先需要得到table对象,才能对table对象进行操作。一般可以根据table的id取到该对象。但Birt报表中table的id有不确定性,可以在table中自己定义一个div元素。通过div元素的固定id得到table对象,如下图:
·在布局的空白位置插入一个文本,改文本的格式为html,如下图:
1.
2.
·在文本中编写js脚本代码,用js动态改变table的结构,如下图:
调用排序方法
以上问题都处理完成,调用排序方法就很简单了,如下图:
预览效果
原创力文档


文档评论(0)