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

时间:2026-02-15 16:13:52

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)是赋显示值,而非实际值。

© 2026 海能知识库
信息来自网络 所有数据仅供参考
有疑问请联系站长 site.kefu@gmail.com