自定义报表系统FineReport中填报控件如何赋值

2025-10-27 00:23:10

1、如下图填报表中,编辑完一个控件的值后,动态地给其他单元格或其他控件赋值:

自定义报表系统FineReport中填报控件如何赋值

2、实现思路

在控件的编辑结束事件中通过js动态地给单元格或其他控件赋值。

不管是单元格还是控件,都是用contentPane.setCellValue([reportIndex], columnIndex, rowIndex, cv);或者contentPane.setCellValue("单元格",null, cv);来赋值。

reportIndex指定单元格或控件所在的sheet,从0开始。

columnIndex指定单元格或控件所在的列,从0开始。

rowIndex指定单元格或控件所在的行,从0开始。

cv表示需要赋给单元格或控件的值。

示例:

contentPane.setCellValue(1,2,3,"abc");表示给sheet2的第3列第4行即单元格C4赋值abc。

3、实现步骤

表样设计

如上图效果对应的设计器界面如下:

自定义报表系统FineReport中填报控件如何赋值

4、编辑结束事件设置

给第一个文本框控件添加编辑结束事件,JS代码:

var a=this.getValue();//获取该控件的值

contentPane.setCellValue(4,1, a);  

contentPane.setCellValue(4, 3, "1"); 

这样就实现了编辑完一个控件后,动态地给其他单元格或控件赋值,可以赋固定值,也可以将当前控件值赋过去,该例中的文本框控件也可以换成其他控件类型。

注:在702版本以及702之前的版本,如果使用到contentPane.curLGp.setCellValue(cell,null,cv)给单元格或控件赋值,需要修改成contentPane.setCellValue()的方式来赋值,否则在提交的时候不会入库,即contentPane.curLGp.setCellValue(cell,null,cv)是赋显示值,而非实际值。

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢