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

利用填报监听类动态设置更新模式名

阅读更多
在一些项目进行实施的时候,应用的数据库用户名和密码往往都是临时的,而在项目上线后应用的数据库才是正式的。这样,在设计填报表的更新属性时,就需要在更新属性中动态的设置模式名。

润乾报表中对于填报式报表,系统为程序员提供数据保存前后的监听器接口,即用tag标签中inputListener属性指定一个java类名,此java类必须从com.runqian.report4.usermodel.input. AbstractInputListener类继承,并实现beforeSave()、afterSave()方法,保存数据前后的处理代码分别写在这两个方法中。

根据填报监听类的特性,将动态设置报表模版中更新属性的模式名的代码写到beforeSave()方法中,这样就可以实现在填报前设置模式名,从而保证更新顺利进行了。

第一步:先打开一张普通填报表,查看更新属性中的模式名:



先不设置模式名,在后面的填报监听类中设置。

第二步:编写填报监听类:

package com.runqian.input;
import com.runqian.report4.usermodel.*;
import com.runqian.report4.usermodel.input.*;
import java.io.*;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;

public class MyInputListener extends AbstractInputListener
{
//构造方法
public MyInputListener()
{
}
//保存前的处理方法
public void beforeSave()
throws Exception
{
//取得第二行第一个单元格的更新属性
INormalCell iCell = report.getCell(2, (short)1);
InputProperty ip = iCell.getInputProperty();
if (ip != null)
{
ArrayList list = ip.getUpdateList();
int listSize = list.size();
//获取更新属性集合
for (int i = 0; i < listSize; i++)
{
UpdateProperty up = (UpdateProperty)list.get(i);
//up.setMode(UpdateProperty.MODE_CUSTOM);
//up.setMode((byte)3);
TableRelations trs = (TableRelations)up.getRelation();
//设置模式名
trs.setSchema(”public”);//这里根据具体的模式名可以做到动态设置
}
}
}
//保存后的处理方法
public void afterSave(){
}
}

第三步:在展现报表的标签中增加inpuListener的属性:

<report:html name=”report1″ reportFileName=”<%=report%>”
funcBarLocation=”top”
needPageMark=”yes”
generateParamForm=”no”
params=”<%=param.toString()%>”
exceptionPage=”/reportJsp/myError2.jsp”
inpuListener=”com.runqian.input.MyInputListener ”
/>

这样,在更新的时候就会首先进入到填报监听类里面,设置模式名后再进行更新。

在监听器类中可以使用session对象、request对象、response对象、报表运行环境对象、获得前端提交的数据、修改前端提交的数据,因此利用填报监听类可以检查用户登录信息、操作权限、数据有效性或其他信息,而不用额外改动报表模版,实现了批量处理的效果。

分享到:
评论

相关推荐

    全国核技术利用辐射安全申报系统 填报指南.docx

    全国核技术利用辐射安全申报系统 填报指南.docx

    万家企业能源利用状况报告填报系统操作培训.pptx

    万家企业能源利用状况报告填报系统操作培训.pptx

    高考志愿填报系统-高考艺考志愿填报源码

    本系统名为“高考志愿填报系统-高考艺考志愿填报源码”,专为全国艺考生设计,旨在根据考生的综合成绩提供个性化院校和专业推荐,帮助考生做出更为明智的选择。 系统核心功能包括: 1. **综合分推荐**:系统基于...

    基于MVC模式的高考志愿填报系统.zip

    《基于MVC模式的高考志愿填报系统》是一个典型的B/S架构的应用程序,旨在为即将面临高考的学生提供一个方便、高效且实用的志愿填报平台。该系统采用MVC(Model-View-Controller)设计模式,这种模式在Web开发中广泛...

    离线填报快速指南

    解决办法是设置数据版本控制,确保每次同步时优先级最高的更新被采纳。 2. 空间限制:本地存储空间有限,需定期清理不再需要的离线数据。 3. 同步失败:网络恢复后,如果同步失败,可尝试重新启动软件或检查网络设置...

    FCRP考试练习题-动态填报

    资源内包含帆软cpt模板文件,有需要的小伙伴可以自行下载,有需要的小伙伴可以自行下载使用,如需查看视频讲解可以访问西瓜视频:...

    数据填报类产品设计原型0617.rp

    数据填报类产品设计原型设计,Axure源文件版本,质量数据平台产品,含分析报表,数据展现,供参考和学习使用。

    FineReport报表工具填报专辑

    - 在弹出的窗口中选择“填报页面设置”,然后进入“填报页面设置”窗口; - 在该窗口的右侧区域,添加一个加载结束事件。加载结束事件的JS代码如下: ```javascript var slmargin = ($('.content-container')....

    Excel模板多人填报设置.docx

    在Excel中进行多人填报设置是一项实用的功能,尤其在团队协作处理数据时,它能确保不同的人根据各自的职责和权限编辑特定的部分。以下是如何在Excel模板中实现多人填报的详细步骤和涉及的知识点: 1. **建立组织...

    G13《最大十家关注类次级类可疑类损失类贷款情况表》填报说明.doc

    1104系统针对银行业金融机构设计,用于统计辖区内机构存续业务的不良资产情况。

    kjbg2013国家科技重大专项科技报告填报软件 2013 11 14更新

    《kjbg2013国家科技重大专项科技报告填报软件》是2013年11月14日更新的一款专业软件,专为满足国家科技重大项目报告编制需求而设计。这款软件在当时可能由于其重要性和专业性,导致下载途径并不广泛,因此用户上传...

    志愿填报系统

    3. **动态更新**:随着志愿填报阶段的推进,系统会持续更新预测结果,适应填报动态。 4. **数据分析报告**:为用户提供详细的分析报告,包括历年分数线对比、同分考生去向、热门专业等信息。 总的来说,【志愿填报...

    高考志愿填报参谋软件

    《高考志愿填报参谋软件》是一款专为高考考生设计的实用工具,它整合了多本高考志愿填报参考资料的数据,旨在简化复杂的志愿选择过程,为考生提供更便捷、更科学的决策支持。这款软件的核心功能和特点如下: 1. ...

    帆软报表新填报控件,只支持PC端

    3. 在帆软报表设计器中,设置填报模板,引入LayUI控件,并进行布局和样式调整,以满足你的设计需求。 4. 部署更新后的报表服务器,确保所有环境配置正确,以便用户可以正常使用新的填报控件。 需要注意的是,虽然...

    企业能源利用状况报告填报ppt-PowerPointP.pptx

    企业能源利用状况报告填报ppt-PowerPointP.pptx

    DW数据填报精灵

    "DW数据填报精灵"是一款专为用户设计的高效数据录入工具,它极大地简化了日常的数据管理任务。这款软件的核心功能在于其便捷的数据保存机制,能够自动将用户输入的数据存储到数据库中,分为明细表和主表两个部分。...

    Java高考志愿填报参考系统源码.zip

    【Java高考志愿填报参考系统源码.zip】是一个包含Java编程语言实现的高考志愿填报辅助系统的源代码压缩包。这个系统可能旨在帮助考生根据他们的高考成绩、兴趣和目标,为志愿填报提供科学的数据支持和建议。从提供的...

    高考填报系统(微信小程序).zip

    这个系统基于微信小程序开发,旨在利用微信庞大的用户基础和便捷的访问方式,帮助考生了解高校信息、查询历年录取分数线,并进行模拟填报,从而更好地规划自己的高考志愿。 在微信小程序的开发过程中,主要涉及以下...

    帆软填报报表数据导入案例

    这个过程可以分为六个主要步骤:新建普通报表、添加字段名称、添加控件和设置竖向拓展、添加数据导入和提交按钮、设置其他的导入规则、报表保存后选择填报预览。 Step 1: 新建普通报表 在帆软报表设计器中,新建一...

Global site tag (gtag.js) - Google Analytics