BIRT知识集锦(基础知识大全)

BIRT知识集锦(基础知识大全)


0.
File - New - Project - BIRT - Report Project
Report Project - New - Report
---------------------------------
1.Data Sources
Driver Class:oracle.jdbc.driver.OracleDriver ( v1.0)
Driver [url=jdbc:oracle:thin:@192.168.1.1:1521:ORA92]URL:jdbc:oracle:thin:@192.168.1.1:1521:ORA92[/url]
---------------------------------
2.
我现在用的birt是2.3.0的版本,
GEF是3.5.0的
emf-xsd-Update是2.5.0的
emf-xsd-SDK是2.5.0的
请问有没有兼容问题?
---------------------------------
3.
请先安装Eclipse、GEF 、EMF 和BIRT 。

---------------------------------
4.
在web工程里使用birt
下载birt的示例工程,将示例工程里的webcontent和web-inf下的东西拷到你的工程根目录下。
在jsp页面里访问报表使用url : frameset?__report=reportName¶m=?paramValue
这里,frameset也可使用run,使用frameset支持ajax功能,支持报表的分页等
---------------------------------
5.
birt去除报表下面的日期
这个问题之前也有人问过,不过觉得很简单一直没在论坛里写出来,今天又有人问了,我就写一下吧
首先点击设计器主页 - 点击属性,- 取消“页眉”“页脚”。即取消显示页眉和页脚。
也可以在xml里设置:
<page-setup>
<simple-master-page name="Simple MasterPage" id="2">
<property name="type">a4</property>
<property name="leftMargin">10px</property>
<property name="rightMargin">10px</property>
<property name="showHeaderOnFirst">false</property>
<property name="showFooterOnLast">false</property> //是否显示页脚
</simple-master-page>
</page-setup>
说明:
打印报表会出现一些如网页地址的信息,那是在IE里设置的。和birt没有关系。
---------------------------------
6.
property editor table用法:
properties可以设置整张表的属性,如边距、边框、字体等
binding可对任何报表指定数据集
sorting可以指定报表中数据决定排序顺序的列和排序方向
groups可以添加、删除和编辑分组字段
highlights格式化规则,规则可细分为两部分:条件部分和应用格式部分。如条件部分:成绩小于60分,格式部分就是:用红色字体标记成绩。
filters可对数据集的数据进行进一步的筛选
---------------------------------
7.
请问如何将生成的.rptdesign文件内容不以文件形式存在,而是存入到数据表中的一个字段
那个字段应该使用blob大字段了。那个报表文件其实是个xml文件,你看一下xml如何保存为blob字段里吧。

---------------------------------
8.
(1)implements 实现接口
public class DebugProxy implements java.lang.reflect.InvocationHandler {...}
java.lang.reflect.InvocationHandler为接口的名字
DebugProxy 为类名
(2)extends是继承父类,只要那个类不是声明为final或者那个类定义为abstract的就能继承,JAVA中不支持多重继承,但是可以用接口来实现,这样就要用到implements,继承只能继承一个类,但implements可以实现多个接口,用逗号分开就行了
比如
class A extends B implements C,D,E

---------------------------------
9.
birt uil详细说明
__report: 指定要显示的报表名称
__title:定义报表标题
__parameterpage:是否弹出报表参数对话框
__format:指定输出报表的格式
__toolbar: 是否显示工具条
__navigationbar:是否显示导航条
__showtitle:是否显示标题
__locale: 指定语言
__rtl:文字显示顺序
__bookmark:设置书签名字
__page:指定报表页数
__pagerange:指定页数范围
__masterpage:是否显示页脚
__maxrows:设置数据最大行数

---------------------------------
10.
隐藏与显示报表工具栏,导航栏

webcontent\birt\pages\layout\FramesetFragment.jsp里找到下面这句:
Mask.setBaseElements( new Array( birtToolbar.__instance, navigationBar.__instance, birtReportDocument.__instance) );
birtToolbar.__instance报表工具栏,就是上面有打印,导出图片按钮的那行。
navigationBar.__instance导航栏,就是有下一页,多少页什么的。
在里只要new Array去除相应的就行了。
---------------------------------
11.
报表与页面交互功能演示:
现在我们来看查看按钮的制作:
插入文本,选择html,然后 输入以下内容:
<input type="button" style="background: #F1E1CD;border: 1px solid #435425;width: 80px;height: 20px;line-height: 20px;" id="<VALUE-OF>row["TRUNKGRADE"]</VALUE-OF>" name="carradio" value="查看">
注意:"<VALUE-OF>row["TRUNKGRADE"]</VALUE-OF>是取我们数据集的列数据。
parent.getCarInfo(this),这里当点击按钮时,调用父窗口的getCarInfo方法,把自己传过去。这个方法是我写在jsp页面里的。
我们来看看getCarInfo方法:
carId = o.id;
var url = "/report/preview?__report=/report/ahlz/"+
"carinfo.rptdesign&__parameterpage=false&carId=" + carId;
window.open(url);

---------------------------------
12.
使用birt 制作报表,在jsp页面传中文参数到报表里显示会出现乱码情况。
应该把tomcat里编码设置为gbk,如下:
<Connector port="8080" protocol="HTTP/1.1" URIEncoding="GBK"
connectionTimeout="30000" />
jsp页面的编码方式也设置为gbk
在报表里以动态数据显示的中文字符,应该先编码中ascii码,再使用。

---------------------------------
13.
在web工程里使用birt
下载birt的示例工程,将示例工程里的webcontent和web-inf下的东西拷到你的工程根目录下。
在jsp页面里访问报表使用url : frameset?__report=reportName¶m=?paramValue
这里,frameset也可使用run,使用frameset支持ajax功能,支持报表的分页等

---------------------------------
14.
birt 动态显示列
使用birt默认数据库,
sql:select *
from CLASSICMODELS.OFFICES
只使用了officecode,city,phone三个列,将这三个列加到表格里。
添加参数p,设置为列表,可多选。
如下图:
然后在表格的各列选择列,属性,可见性,设置可见性表达式如下:
officecode列:
var v = params["p"].value; //获得参数
var s;
for(var i=0; i<v.length; i++){ //对参遍历
s+=v+";"; //加到一个变量里,因为我发现直接在这里判断是不行的。
}
if(s.indexOf("officecode") != -1){ //判断是否含有officecode,如果有就显示,没有就不显示。
false;
}else{
true;
}

---------------------------------
15.
安讯百灵报表BIRT设计器专业版


16. 【DEBUG代码调试】打印信息

Birt中的js脚本不能用alert直接弹出提示,也没法用断点跟踪(至少我没发现)。

** 需要注意的是,必须要把报表部署在tomcat下才能打印,用Preview预览模式不能打印。

用一个简单方法可以打印,在脚本里写上

importPackage(Packages.java.lang);

System.out.println("test==========");
复制代码

就可以再控制台里打印出来,进行简单的调试了。

下面例子顺便给出DEBUG信息

---------------------------------

17.【数据源脚本化】
首先:
设置创建配置文件db.properties,我这里为了方便直接放在c盘目录下了。
db.properties内容如下:
driver=net.sourceforge.jtds.jdbc.Driver
url=jdbc:jtds:sqlserver://localhost:1433/pubs
userid=sa
password=pass
然后:
importPackage( Packages.java.io);
importPackage( Packages.java.util);
importPackage(Packages.java.lang);
fin = new java.io.FileInputStream("c:\\db.properties");
props = new java.util.Properties( );
props.load(fin);
this.setExtensionProperty("odaURL", props.getProperty("url"));
this.setExtensionProperty("odaDriverClass", props.getProperty("driver"));
this.setExtensionProperty("odaUser", props.getProperty("userid"));
this.setExtensionProperty("odaPassword", props.getProperty("password"));
System.out.println("test=========="+this.getName());
fin.close();

---------------------------------
18.
数据源:数据的来源,或提供者。如xml数据源、jdbc数据源等。 数据集:数据集合,它必须与数据源关联,可以理解为查询的结果。 报表以及报表项,报表可视为是针对一组数据集的表现形式,而报表项这是这个表现形式的某个具体的单元。它们之间的关系,与窗体和控件的关系非常类似。报表、数据集、数据源三者间的关系:数据源 --- 数据集 --- 报表。 报表参数:查询参数的表现形式,使用它可以构建更灵活的报表。 模板和库:主要用于复用报表设计,提高报表开发的效率。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值