2010年11月16日

创建临时表以及临时表的维护工作


create global temporary table tmp_tablename

如果要调式临时表,就必须将临时表固化到数据库中。

posted @ 2010-11-30 14:23 老鼠爱上猫 阅读(182) | 评论 (0)编辑 收藏

iReport 显示不同的字体类型的textfield

    1、自定义样式。styles->style->condtion excetpion
    2、设置2个textfield覆盖在上面设置不同的样式,最重要就是设置print when Exception的属性。

posted @ 2010-11-19 14:23 老鼠爱上猫 阅读(628) | 评论 (0)编辑 收藏

转载

iReport 动态设置属性

文章分类:综合技术

   遇到一个问题:根据姓名的长度不同,需要设置不同的字号,如果是老外可能还要更改字体。

 

  最后通过在iReport中建立conditional style 解决了。

 

  设置如下:

 

   1.右键 style-->添加-->style

   2.选中当前的style,在属性面板更改其属性

        name:style的名字

        default style: 是否默认的style,如果选中的话则此style将做为默认的style。界面上的元素如果没有设置属性和上style属性没有设置为其它style时,则会默认按照default style设置该元素的属性。当有多个style存在时,只能又一个默认的style。

       opaque:设置透明度。

       其它的属性和设置field的属性一样。

  3.右键 当前的style-->添加 conditional style

  4.选中新建的conditional  style,在属性面板中更改其属性

     condition expression : 设置conditional style“工作”的条件,这个属性最重要,其它的属性和设置style的属性相同。

 

      比如现在根据xm(姓名)field的长度设置是否应用当前的conditional style:

 

    condition  expression 的值:new Boolean($F{xm}.length()>4)

                                              或  $F{xm}.length()>4?new Boolean(true):new Boolean(false)

 

   JDK1.5及以上的版本也可以这么写:

 

            $F{xm}.length()>4 或 $F{xm}.length()>4?true:false

  5.在需要用的field或parameters的属性面板中设置其style为新建的style。

 

posted @ 2010-11-19 09:24 老鼠爱上猫 阅读(193) | 评论 (0)编辑 收藏

有关ireport设置字段格式

ireport 提供一个属性设置字段的格式。例如:将Pattern 设置成#,##0.00就是表示千分位

posted @ 2010-11-18 14:02 老鼠爱上猫 阅读(415) | 评论 (0)编辑 收藏

有关Ireport的分页

1.根据修改detail的高度,让其自适应。

2.根据分组来分页(比较好实现),分组时有在“新的一页打开”这个选项

3.定义一个自增的变量index,变量的表达式是“new Integer("1")”,计算类型为“count”其他默认。添加一个“Break”(页分隔符)。修改它的属性“print when expression”,表达式为“new Boolean($V{index}.intValue()%10==0)”。(这个方法最后由其是在分组时)


 

posted @ 2010-11-18 13:59 老鼠爱上猫 阅读(2992) | 评论 (1)编辑 收藏

转载

iReport & JasperReport配置及用户简明手册

iReport & JasperReport配置及用户简明手册- -

                                      

 

关于iReport和JasperReport的简明手册

By Gem 伍子轩


1安装

1.1 iReport的安装

iReport直接解压后,将J2SDK\lib目录下的tools.jar拷贝到iReport\lib目录下,然后在iReport目录下运行iReport.bat即可。
需要注意的是tools.jar的版本必须要与本机安装的jre一致,也就是说,如果系统安装的是jre1.4.2就必须用jdk1.4.2tools.jar

1.2 JapserReport开发(运行)环境的搭建

JasperReport的开发环境必须要导入以下所有包:

1.  JasperReport包,如jasperreports-0.6.1.jar

2.  Aparche Common包,包括loggingdigesterbeanutilscollectionslogging-api

3.  iText包,包括itext-1.1.jariTextAsian.jar(用于输出中文字符到PDF文件)

以上所有包(除了iTextAsian.jar)都已经包含在iReport\lib目录下。

2 开发流程

iReport可视化编辑生成的文件是jrxml文档,这是一种xml文件,记录了一份report的详细信息,我们可以直接用写字板打开它编辑,iReport就是一个方便我们生成和编辑jrxml文件的工具,它也可以很方便地将jrxml文件编译成jasper报表文件。

jrxml文件通过Jasper编译之后就变成了jasper文件,这份文件才是真正在程序中调用生成报表的report文件。

但是有一点要注意的是,jasper的各个版本编译出来的jasper文件并不兼容,就是说用0.6.1版编译出来的文件用0.6.4版调用是会出错的,而iReport自带的Jasper版本是0.6.1,而jasper的最新版本是0.6.4。所以为了保持通用性,我建议只用iReport来开发编辑jrxml文件,而不编译成jasper文件,在我们的打印报表程序中再即时编译一次。虽然这样效率可能会低了一点,但是保证了不同版本的兼容性。

在我们的程序中,要调用Jasper的话,首先要得到一个数据库的Connection,形如:Connection con = ...

需要往JasperReport传参数的话只需要新建一个Map,以参数名作为key,需要传入的对象作为value,譬如:

Map props = new HashMap();

      props.put("name", new String("name"));

需要多个参数只需分别putMap里去就可以了。

JasperReport有如下几个主要的Manager

JasperCompileManager

jrxml文件编译成jasper文件或JasperReport对象

JasperFillManager

从数据源中获取数据并填充jasper文件或JasperReport对象,产生JasperPrint对象

JasperPrintManager

JasperPrint对象直接输出到打印机打印

JasperExportManager

JasperPrint对象导出成PDFHTML文件(或流)

JasperRunManager

运行一个jasper文件或JasperReport对象并输出到PDFHtml文件(或流)中,我的理解是等于集成了JasperFillManagerJasperExportManager的功能

对于上述对象的详细说明请参阅JasperReport的文档。

例程:

例程:

public static void main(String[] args) {

    try {

      Class.forName("org.gjt.mm.mysql.Driver");

      Connection con = DriverManager.getConnection(

          "jdbc:mysql://wes:3306/umpdb?useUnicode=true&characterEncoding=GBK", "root", "elite");

      File f1 = new File("Account.jrxml");

      File f2 = new File("Contact.jrxml");

      JasperReport main = JasperCompileManager.compileReport(f1

          .getAbsolutePath());

      JasperReport report = JasperCompileManager.compileReport(f2

          .getAbsolutePath());

      Map props = new HashMap();

      props.put("subreport", report);

      JasperPrint print = JasperFillManager.fillReport(main, props,con);

      //JasperPrintManager.printReport(print,true);

      JasperExportManager.exportReportToPdfFile(print, "a.pdf");

      //JasperRunManager.runReportToPdfFile("Account.jasper", "a.pdf", props, con);

    } catch (ClassNotFoundException e) {

      // TODO 自动生成 catch

      e.printStackTrace();

    } catch (SQLException e) {

      // TODO 自动生成 catch

      e.printStackTrace();

    } catch (JRException e) {

      // TODO 自动生成 catch

      e.printStackTrace();

    }

  }

3 注意事项

1iReport中新建中文报表的时候记得要输入XML编码GB2312

2iReport中定义中文字体的时候,要选择PDF Font NameSTSong-Light(宋体)、MHei-Medium(黑体)、MSung-Light,在PDF Encoding中选择GB-UCS2-H(Chinese Simplified),否则输出到PDF时会乱码。

3.用Report SQL查询之后,可能会出现某些字段没有自动建立Field,就需要在Field中手动定义了。

posted on 2006-12-04 18:28 Tom 阅读(1169) 评论(0)  编辑  收藏 所属分类: 报表工具Appfuse

posted @ 2010-11-16 09:42 老鼠爱上猫 阅读(256) | 评论 (0)编辑 收藏

<2010年11月>
31123456
78910111213
14151617181920
21222324252627
2829301234
567891011

导航

统计

常用链接

留言簿

随笔档案

搜索

最新评论

阅读排行榜

评论排行榜