`
evoleht
  • 浏览: 97896 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

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

    博客分类:
  • 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
---------------------------------
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&para;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数据源等。 数据集:数据集合,它必须与数据源关联,可以理解为查询的结果。 报表以及报表项,报表可视为是针对一组数据集的表现形式,而报表项这是这个表现形式的某个具体的单元。它们之间的关系,与窗体和控件的关系非常类似。报表、数据集、数据源三者间的关系:数据源 --- 数据集 --- 报表。 报表参数:查询参数的表现形式,使用它可以构建更灵活的报表。 模板和库:主要用于复用报表设计,提高报表开发的效率。
分享到:
评论

相关推荐

    flappybird全套图片+音效

    《Flappy Bird游戏素材解析:图像与音效的全...这不仅是对Flappy Bird这款游戏的深入理解,更是对游戏开发基础知识的扎实掌握。无论你是初学者还是经验丰富的开发者,这样的素材分析都将对你的游戏创作之路大有裨益。

    FlappyBird游戏源码

    《FlappyBird游戏源码解析》 FlappyBird是一款风靡全球的休闲小游戏,以其简单易上手的操作和高难度的挑战性吸引了大量玩家。...无论是选择cocos2dx还是Unity,都需要开发者具备扎实的编程基础和良好的问题解决能力。

    ThunderBird常用组件

    ThunderBird是一款开源、免费的电子邮件客户端,由Mozilla基金会开发,其设计目标是提供一个安全、稳定且可定制的邮件管理工具。在ThunderBird中,有许多常用组件和扩展可以帮助用户提升邮件处理的效率和体验。以下...

    flappyBird素材包

    《Flappy Bird游戏素材解析与应用》 Flappy Bird是一款风靡全球的休闲游戏,以其简单易上手的操作和极具挑战性的玩法深受玩家喜爱。在本文中,我们将深入探讨这款游戏中的一些关键素材,并通过提供的压缩包文件,...

    FlappyBird_C++_bird_

    首先,我们要了解C++的基础知识,这包括变量、数据类型、控制结构(如if语句和循环)、函数以及面向对象编程(OOP)概念。在《Flappy Bird》的实现中,我们可能需要用到类来表示鸟、管道和游戏世界。例如,`Bird`类...

    flappy_bird 素材资源

    《Flappy Bird游戏素材资源详解》 在游戏开发领域,Flappy Bird是一款极其经典且具有极高人气的小游戏,它的简洁设计和挑战性吸引了无数玩家。本资源包是针对这款热门游戏——Flappy Bird的素材资源集合,包含了...

    OpenCv制作的FlappyBird

    综上所述,"OpenCv制作的FlappyBird"项目展示了OpenCV在游戏开发中的创新应用,结合了图像处理、物体检测、机器学习等多个方面的知识,是学习和实践OpenCV技术的一个有趣案例。通过深入研究项目源码、观看成果视频并...

    flappy bird素材及源码

    游戏循环是游戏运行的基础,它不断地更新游戏状态并绘制屏幕。在Flappy Bird中,鸟的飞行高度受重力影响,玩家通过点击或触摸屏幕来控制鸟的上升力,这些都需要在游戏循环中进行处理。 此外,历史记录功能也是游戏...

    Flappy Bird 源代码 贴图 以及 音效

    《Flappy Bird源代码、贴图与音效详解——Unity游戏开发深度剖析》 Flappy Bird,这款在2014年风靡全球的小游戏,以其简单却...通过深入研究,我们可以将理论知识转化为实际技能,为未来的游戏开发之路打下坚实基础。

    flappybird图像音频资源包

    在游戏开发领域,资源是构成游戏世界的基础,它们赋予游戏视觉和听觉的生动性。本资源包“flappybird图像音频资源包”便是针对经典游戏《Flappy Bird》而设计的,旨在为开发者提供制作类似小游戏所需的基本素材。...

    thunderbird 邮件备份

    Thunderbird是一款由Mozilla开发的开源电子邮件客户端,它提供了丰富的功能,包括邮件管理、新闻组、聊天和RSS阅读等。在日常使用中,为了防止数据丢失或进行迁移,定期备份Thunderbird的邮件设置和数据是非常重要的...

    安卓FlappyBird资源

    《安卓FlappyBird资源解析与开发知识探讨》 在移动游戏开发领域,Flappy Bird是一款极具代表性的休闲游戏,其简单却极具挑战性的玩法吸引了众多玩家。本资源提供了Flappy Bird在安卓平台上的开发源码及相关的图片...

    flappybird python版

    首先,我们需要了解Python的基础知识。Python是一种解释型、面向对象的高级编程语言,它的特点是代码可读性强,适合快速开发。对于Flappy Bird这样的2D游戏,我们通常会使用Python的pygame库,它是Python的一个游戏...

    FlappyBird素材.zip

    《flappy bird》是一款由来自越南的独立游戏开发者Dong Nguyen所开发的作品,游戏于2013年5月24日上线,并在2014年2月突然暴红。2014年2月,《Flappy Bird》被开发者本人从苹果及谷歌应用商店撤下。2014年8月份正式...

    flappy bird制作资源素材

    总结,Flappy Bird的制作资源素材包为游戏开发者提供了制作此类游戏的基础元素,通过理解和运用这些素材,开发者可以快速构建出类似的游戏框架,并在此基础上进行创新和个性化设计。无论你是初学者还是经验丰富的...

    FlappyBird 素材

    本篇文章将深入探讨Flappy Bird的素材内容及其背后的开发知识,帮助有志于自学开发类似游戏的读者掌握关键要点。 首先,让我们了解一下Flappy Bird的基本结构。游戏的核心是角色——小鸟的飞行控制,通过点击屏幕使...

    FlappyBird游戏(源码+文档)

    总的来说,这个“设计模式课程设计---FlappyBird游戏(源码+文档)”涵盖了从基础的编程概念到高级的设计模式应用,不仅适合游戏开发初学者,也对有一定经验的开发者有着重要的参考价值。通过实践和学习,你可以提升...

    FlappyBird_ByJava

    1. **Java基础知识**:首先要对Java的基本语法、类、对象、数据类型、控制结构等有深入理解。开发者需要创建一个主类(如`FlappyBirdGame`)作为程序的入口,并定义其他类来表示游戏中的角色,如鸟(`Bird`)、管道...

    flappybird图片+音效

    flappybird游戏资源,图片+音效

    Java课程设计大作业FlappyBird

    学生需要熟练掌握类的定义、对象的创建、封装、继承和多态等基础知识。FlappyBird游戏中的主角(小鸟)、环境(管道)和游戏状态(分数、游戏结束)都可以抽象为不同的类。 其次,游戏循环是FlappyBird的核心,通常...

Global site tag (gtag.js) - Google Analytics