动态改变数据源后填报问题
问题描述:通过api动态修改了填报模板的数据源,通过标签发布之后,在页面填报提交的时候报错:找不到数据源。
原因分析:经过分析发现通过api只是动态的修改了模板的数据源名称,并没有对应修改更新属性中的数据源,这样模板中的数据源跟更新属性的数据源是不一致的,所以造成了在填报提交的时候报错:找不到数据源。
解决方法:对应动态修改的模板中的数据源,动态修改更新属性的数据源。
程序原理:通过填报属性取得更新属性中的对应关系,进而修改更新属性的数据源。
相关的例子如下:
ReportDefine rd = (ReportDefine)ReportUtils.read(raq);
INormalCell cell = rd.getCell(2, (short)1);
//取得填报属性
InputProperty ip = cell.getInputProperty();
ArrayList al = ip.getUpdateList();
UpdateProperty up = (UpdateProperty)al.get(0);
// 获取对应关系
Object relations = up.getRelation();
if(relations instanceof com.runqian.report4.usermodel.input.TableRelations){
TableRelations trs = (TableRelations)relations;
System.out.println(trs.getDataSourceName());
//设置更新属性数据源
trs.setDataSourceName(”northwind”);
up.setRelation(trs);
ArrayList ups = new ArrayList(1);
ups.add(up);
ip.setUpdateList(ups);
cell.setInputProperty(ip);
原文链接:动态改变数据源后填报问题
相关文章:在润乾参数表单中如何不点击查询按钮自动传参;关于润乾报表自定义函数报错的问题 ;决策分析解决方案 ;润乾报表填报处理类问题
其他相关内容:润乾报表 ; RAQSOFT ; 报表工具知识库 ; 商业智能专业知识库
本文地址:动态改变数据源后填报问题
暂无留言我要留言 »