填报应用 >> 典型应用 >> 填报自定义提交

填报自定义提交

顶( )
最后更新日期: 人发表评论 (点击查看)
填报自定义事件,自定义,自定义提交
1. 问题描述
用户在做填报报表时,希望点击提交按钮并不是往数据库中填报数据,而是要获取到填报页面的数据进行进一步处理,这个该如何解决呢?
2. 解决思路
报表填报属性中介绍了报表填报属性有2种设置方式,一个是内置SQL直接绑定字段,往数据库中填报数据,另外一种是添加自定义事件,如果需要获取数据对数据进行进一步处理,则可选择添加自定义事件,下面详细介绍。
3. 示例
获取填报页面的值,通过自定义事件获取到数据并在后台打印出来。
3.1 自定义事件类
自定义事件继承自DefinedSubmitJob这个接口,通过JobValue接口获取填报页面单元格,JobValue与报表填报属性处的属性绑定,然后用getValue()方法获取单元格的值,getValueState()获取值的状态,值状态有四种:VALUE_STATE_CHANGED、VALUE_STATE_INSERT、VALUE_STATE_DELETED和VALUE_STATE_DEFAULT。
在类里面定义几个JobValue,每一个JobValue对应一个单元格,在报表填报属性中通过属性列表中将其与对应的单元格绑定起来,具体使用如DemoSubmitJob1:
注:可以讲所有变量全部定义成JobValue对象,通过getValue()获取对象的值。
通过doJob的方法参数Calculator中的 Property_Value属性, Property_Value属性对应一个map对象,Map中包含报表填报属性中所有属性名称以及它们对应的值,使用map中的getValue()方法获取属性值,即单元格,接着使用JobValue的getValue()方法获取单元格的值,详细如DemoSubmitJob2:
自定义事件除了可继承自DefinedSubmitJob这个接口之外,还可以继承TotalSubmitJob接口,这两个接口的区别在于DefinedSubmitJob多次执行,即一行一行的获取模板中的数据,获取一行数据则执行一次自定义事件,而TotalSubmitJob接口只执行一次,即先获取到模板中所有的数据,然后在类里面循环,具体使用如DemoTotalSubmitJob:
3.2 填报页面主体设置
新建数据库查询ds1:SELECT * FROM [STSCORE] where name <> ''
将studentno,name和grade求和拖曳至单元格中,并为之添加控件,如下图:
B4和D4单元格为数字控件,C4单元格为文本控件。
3.3 报表填报属性设置
如上所述,实现自定义事件获取填报页面的值有三种方法,则下面根据上述的不同方法介绍填报属性的不同设置。
将类文件放置到%FR_HOME%\WebReport\WEB-INF\classes\com\fr\data文件夹下面。
点击模板>报表填报属性,添加自定义事件,选择DemoSubmitJob1这个类,为类中定义的变量绑定单元格或公式,如下图:
注:该方法中属性名称跟类文件中定义的JobValue是一一对应的,必须保证报表填报属性处添加的属性名称与类文件中定义的名称保持一致,并且如果在类文件中对应参数类型不是JobValue的话,则就必须与属性的数据类型保持一致,一般来说,为了便于维护,可以讲java类中的所有变量全部设为JobValue对象,不论报表填报属性中的属性类型是什么,均可以通过GetValue获取其值。
效果展示
后台打印效果如下:
将类文件放置到%FR_HOME%\WebReport\WEB-INF\classes\com\fr\data文件夹下面。
点击模板>报表填报属性,添加自定义事件,选择DemoSubmitJob2这个类,为类中定义的变量绑定单元格或公式,如下图:
注:方法二中是通过Calculator参数属性PROPERTY_VALUE来获取报表填报属性处的属性与属性值,再通过JobValue来得到单元格的值,在类文件中并不是一一对应的获取属性与属性值,而是通过map遍历来获取属性与属性值,所以在报表填报属性处增加属性时,属性名字可随意定义,但是后面的值如果是单元格的话,必须选择单元格类型。
效果展示
后台打印效果如下:
将类文件放置到%FR_HOME%\WebReport\WEB-INF\classes\com\fr\data文件夹下面。
点击模板>报表填报属性,添加自定义事件,选择DemoTotalSubmitJob这个类,为类中定义的变量绑定单元格或公式,如下图:
注:方法三与方法二中的使用方式类似。
3.4 效果展示
后台打印效果如下:
3.5 其他应用
自定义事件不仅可用于报表填报属性处,也可用于按钮控件中的提交事件,具体可查看上传文件至指定路径
 
 
 
 
   
文明发言,用心评论
 
应用此篇文章,您:
不费力
研究了一会
琢磨了好久
 
查看全部条>>
Copyright©2019 帆软软件有限公司
苏ICP备18065767号-3