关于报表分页的script
1、选中table的details,选择script标签页,打开birt的脚本编辑窗口;
2、从下拉列表中选择onPrepare,在下面加入Javascript脚本如下:
var count = 0;
3、从下拉列表中选择OnCreate,在下面加入Javascript脚本如下:
count++;
if(count % 10 == 0){
style.pageBreakAfter = "always";
}
这样就会报错,说找不到count,不是已经定义了count的么,我把count定义到script的initialize中就可以了
为什么会这样呢,网上很多例子的初始化都是在onPrepare中,我的都不行呢?
------------------------------------------------------------------------------------------------------------------
报表生成阶段的事件:
1、 报表级事件:
initialize 在报表开始执行生成阶段前执行。包含定义全局变量、函数、和对象。
beforeFactory :在开始生成阶段之前执行。可以访问报表中的元素。如数据集、标签等等。
afterFactory:在开始生成阶段阶段之前执行
2、 数据源事件:
beforeOpen:在BIRT打开数据源连接之前执行,一般进行连接数据源的配置信息的编写,包括:驱动、数据库的URL、用户名、密码等等。
AfterOpen :在BIRT打开数据源连接之后执行
BeforeCLose::在BIRT关闭数据源连接之前执行
afierClose: 在BIRT关闭数据源连接之后执行
3、 数据集事件:
beforeOpen:在BIRT打开数据集之前执行,一般编写要执行的SQL语句。
AfterOpen :在BIRT打开数据集之后执行
Onfetch:获取每一行的数据以后,并应用过滤器计算列之前执行onFetch事件处理程序。
BeforeCLose::在BIRT关闭数据源连接之前执行
afierClose: 在BIRT关闭数据源连接之后执行
4、报表元素事件:
onPrepare:在报表生成阶段调用,并且针对报表设计中的每一个元素,在此事件中就可以修改元素的设计。
onCreate:在此事件中可以修改和访问元素的实例。
报表显示阶段事件:
1、报表级事件:
initialize : 在报表开始执行显示阶段前执行。在初始化事件中可以定义全局变量、函数、和对象。
beforeRender:在开始显示阶段前执行。
afterRender:在开始显示阶段后执行。
2、报表元素事件:
onRender:可以改变元素实例。
你如果把一张报表当做一个html文档你就会明白的。onprepare,是先执行的js方法,但是里面定义的局部变量,var count,你在后面的方法oncreate里,是访问不到的。但是想像一下,initialize,可能就不是一个方法,里面的代码直接放在脚本最前面执行,所以定义var count,也是一个全局变量,在后面的方法里就可以访问到了。另外,和js一样,你如果定义count,不加var,也就表示他是个全局变量,那么你在onprepare里定义,在oncreate里照样可以访问到的。
其中隔行变色,OnCreate方法后,添加-----
if(count%2 !=0){
style.setBackgroundColor("#ccdae7");
}else{
style.setBackgroundColor("white");
}
相关推荐
Thunderbird是一款由Mozilla开发的开源电子邮件客户端,它提供了丰富的功能,包括邮件管理、新闻组、聊天和RSS阅读等。在日常使用中,为了防止数据丢失或进行迁移,定期备份Thunderbird的邮件设置和数据是非常重要的...
在Scratch中,可以创建两个不同的角色,分别代表管道的上下两部分,并设置它们的移动速度和位置,与小鸟的角色进行碰撞检测。 3. **小鸟状态资源**:小鸟在游戏中的状态包括静止、上升、下降和碰撞后的坠落等。这些...
《FlappyBird游戏源码解析》 FlappyBird是一款风靡全球的休闲小游戏,以其简单易上手的操作和高难度的挑战性吸引了大量玩家。本文将深入探讨cocos2dx和Unity两个版本的游戏源码,解析其背后的编程原理和技术实现。 ...
在本文中,我们将深入探讨这款游戏中的一些关键素材,并通过提供的压缩包文件,了解游戏场景、障碍物以及用户界面的基本构成。 1. 游戏背景: - bg_day.png 和 bg_night.png:这两个文件代表了游戏的日间和夜间...
通过学习这些内容,初学者可以了解游戏开发的基本流程,并逐步掌握游戏开发的核心技能。 总的来说,"flappybird图像音频资源包"提供了开发类似《Flappy Bird》小游戏所需的关键素材,不仅包括游戏的核心视觉元素,...
在学习游戏开发的过程中,掌握并理解游戏素材——尤其是图像和音效——是至关重要的一步。本篇文章将深入剖析Flappy Bird的全套图片和音效,帮助你更好地理解游戏素材在游戏开发中的应用。 首先,我们来看看“gfx”...
《flappy bird》是一款由来自越南的独立游戏开发者Dong Nguyen所开发的作品,游戏于2013年5月24日上线,并在2014年2月突然暴红。2014年2月,《Flappy Bird》被开发者本人从苹果及谷歌应用商店撤下。2014年8月份正式...
《Flappy Bird游戏资源与开发解析》 在游戏开发领域,Unity引擎因其强大的功能和易用性而备受青睐,尤其对于初学者来说,它是一个极好的起点。本篇将深入探讨利用Unity进行游戏开发,以Flappy Bird为案例,同时延伸...
在这个名为“OpenCv制作的FlappyBird”的项目中,开发者利用OpenCV技术实现了一个经典游戏FlappyBird的版本。下面我们将详细探讨OpenCV在该项目中的应用以及相关知识点。 首先,我们要理解OpenCV的基本概念。OpenCV...
总结,Flappy Bird的制作资源素材包为游戏开发者提供了制作此类游戏的基础元素,通过理解和运用这些素材,开发者可以快速构建出类似的游戏框架,并在此基础上进行创新和个性化设计。无论你是初学者还是经验丰富的...
开发者需要考虑 Thunderbird 的版本兼容性,并进行跨平台测试,以保证在Windows、macOS和Linux等操作系统上的用户体验一致。 7. **发布和更新**:完成主题设计后,开发者可能需要将其上传到Mozilla Add-ons ...
游戏循环是游戏运行的基础,它不断地更新游戏状态并绘制屏幕。在Flappy Bird中,鸟的飞行高度受重力影响,玩家通过点击或触摸屏幕来控制鸟的上升力,这些都需要在游戏循环中进行处理。 此外,历史记录功能也是游戏...
理解这些,有助于我们构建自己的游戏框架,并在后续项目中实现更多复杂功能。 其次,贴图是游戏视觉呈现的关键。在Unity中,贴图被用来赋予游戏对象颜色、纹理和细节,从而让虚拟世界更具真实感。Flappy Bird的贴图...
Thunderbird是一款开源、免费的邮件客户端,由Mozilla基金会开发,其源代码主要使用C++语言编写。这款软件在设计上与Microsoft的Outlook类软件有相似之处,但更注重自由软件的理念和网络安全性。在深入探讨Thunder...
【FlyBird资源文件图片加音效】是一款深受国内外玩家喜爱的游戏资源包,它包含了用于创建类似"FlappyBird"游戏的素材,包括视觉元素和音频效果。这些资源为开发者提供了便利,使他们能够快速构建一个与原版Flappy...
【标题】"Flybird创作,源代码见博客主页!" 提示我们这是一份与Flybird相关的创作项目,其中可能包含编程源代码。Flybird可能是该项目的名称或开发者昵称,而“源代码见博客主页”意味着我们可以在这个项目的博客...
《Flappy Bird游戏素材解析与应用》 Flappy Bird,这款曾经风靡全球的休闲小游戏,以其简单却极具挑战性的玩法吸引了无数玩家。本素材包是根据某博主在CSDN上的分享(链接:...
Bluebird作为Promise库,它的性能出色,支持多种Promise A+规范,并提供了丰富的API,如`.then()`, `.catch()`, `.finally()`, `.map()`, `.each()`等,使得开发者能够更方便地处理异步流程。此外,Bluebird还提供了...
6. **得分系统**:实现一个计分系统,记录并显示玩家的成绩。 7. **碰撞检测**:编写算法来检测小鸟与管道的碰撞,以判断游戏是否结束。 通过以上分析,我们可以看到,Flappy Bird虽然看起来简单,但背后涉及的...
《Flappy Bird游戏源码解析——Java编程篇》 Flappy Bird是一款在2013年由越南开发者Dong Nguyen推出的简单却又极具挑战性的手机游戏。它以其独特的像素艺术风格和令人上瘾的游戏机制赢得了全球玩家的喜爱。本篇将...