首次接触birt遇到的一些问题
2012-07-05 10:39
176 查看
要创建一个birt,首先应该确定要展示的数据有哪些,一般使用的是数据库中的数据,再创建一个.rptdesign文件,做好基本的布局(或者直接使用Template),报表的形式有Table、Chart,Table就是简单的表格,Chart又分为几种格式,有直方图、柱状图、饼形图、线形图等。外观定下后,非常重要的工作就是,数据绑定(Data
Binging)。在进行数据绑定时一定要对应的列名,还有数据类型注意匹配。
在工厂模式下,每个Service实例只会被构造一次,如果在这个类的内部有对象字段,构造方法对其做了实例化,然后再处理方法中使用该对象。这样就会出现,对象只初始化一次,而方法被调用多次,这在某些初始化条件严格的情况下就会导致一些莫名其妙的错误,尤其是当这个对象是List时。解决这个问题的办法是把这个对象的初始化放在方法内部。
另外,在写birt的open和fetch时,变量的声明要慎重,比如在birt中的报表里的JavaScript函数,都是被birt调用的,而这又是一个个的分离的function,那么其中的变量要注意是用局部还是全局的。参见http://www.w3schools.com/js/js_variables.asp
,其中部分如下:
GLOBAL, and allscripts and functions on the web page can access it.
Global variables are deleted when you close the page.
Assigning Values to Undeclared JavaScript Variables
If you assign values to variables that have not yet been declared, thevariables will automatically be declared as global
variables.
This statement:
carname="Volvo";
will declare the variable
carname as a global variable (if it doesnot already exist).
即要使变量的生命周期长一点,那就请不要使用var来声明一个变量。
还要注意在hive
的HQL中,group by 后不能用alias,然而在MySql中确是可以使用别名的,也许是各种数据库的方言不同吧。
Binging)。在进行数据绑定时一定要对应的列名,还有数据类型注意匹配。
在工厂模式下,每个Service实例只会被构造一次,如果在这个类的内部有对象字段,构造方法对其做了实例化,然后再处理方法中使用该对象。这样就会出现,对象只初始化一次,而方法被调用多次,这在某些初始化条件严格的情况下就会导致一些莫名其妙的错误,尤其是当这个对象是List时。解决这个问题的办法是把这个对象的初始化放在方法内部。
另外,在写birt的open和fetch时,变量的声明要慎重,比如在birt中的报表里的JavaScript函数,都是被birt调用的,而这又是一个个的分离的function,那么其中的变量要注意是用局部还是全局的。参见http://www.w3schools.com/js/js_variables.asp
,其中部分如下:
Global JavaScript Variables
Variables declared outside a function, becomeGLOBAL, and allscripts and functions on the web page can access it.
Global variables are deleted when you close the page.
Assigning Values to Undeclared JavaScript Variables
If you assign values to variables that have not yet been declared, thevariables will automatically be declared as global
variables.
This statement:
carname="Volvo";
will declare the variable
carname as a global variable (if it doesnot already exist).
即要使变量的生命周期长一点,那就请不要使用var来声明一个变量。
还要注意在hive
的HQL中,group by 后不能用alias,然而在MySql中确是可以使用别名的,也许是各种数据库的方言不同吧。
相关文章推荐
- USB设备首次接入电脑时遇到的一些问题及解决方法
- 来谈一下我在使用fo-dicom开源库时遇到的一些问题,这篇主要就是针对从RIS那获取worklist的,希望能帮助那些刚接触这个开源库的。
- 首次用epoll遇到的一些问题
- 刚接触IDEA遇到的一些问题 不定时更新
- 初次接触 Google App Engine 遇到的一些问题
- 想交一些朋友。 特别是刚接触java的初学者,可以给你们解决一些小问题。 最近遇到瓶顶,希望前辈给一些建议
- 首次关于IIS配置遇到的一些问题
- Fedora14下首次搭建Samba服务器遇到的一些问题
- 接触linux系统中遇到的各个问题及解决方案
- 我用Red Hat遇到的一些问题解决方法
- XEN 4.1.0 PVOPS设置和启动中遇到的一些问题
- 多线程爬虫遇到的一些问题
- Navicat Premium连接Oracle遇到的一些问题和其解决方法
- oracle 连接遇到的一些问题
- 关于android ListView倒计时遇到的一些问题
- 贪吃蛇的制作过程中遇到的一些小问题
- 编译ORBSLAM2中遇到的一些问题
- Oracle安装过程中遇到的一些问题及解决方案
- ScrollView 嵌套 WebView 遇到的一些界面问题总结
- 项目适配iOS9遇到的一些问题及解决办法(持续 c0f3 更新)