帆软 JS给填报控件(单元格)赋值 包含扩展单元格赋值

时间:2024-03-30 11:33:55
在控件的编辑结束事件中通过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。


范例:

给第一个文本框控件添加编辑后事件,JS代码:
  1. var a=this.getValue();//获取该控件的值  
  2. contentPane.setCellValue(4,1, a);    //第五列第2行的控件赋值
  3. contentPane.setCellValue(43"1"); //第五列第4行的控件赋值

扩展的单元格编辑

在控件的编辑结束事件中,动态地将行号与列号作为参数传递给js函数,使用contentPane.setCellValue(col, row, value);来给单元格赋值。
其中col、row都从0开始。
这里当编辑控件的值大于10时,受控单元格置数为1;反之,置数为0。
3.2 编辑结束事件设置
给文本框控件添加编辑结束事件,传入行号row与列号col参数,值分别为:=row()-1=col()
  1. if(this.getValue()>10){  
  2.   contentPane.setCellValue(col,row,1);  
  3. }else{  
  4.   contentPane.setCellValue(col,row,0);  
  5. }  
帆软 JS给填报控件(单元格)赋值 包含扩展单元格赋值
3. 插入行扩展的单元格
在填报web属性中增加加载结束事件,使用FineReport的监听事件获取到当前编辑单元格的行号和列号,保存在全局变量中,然后在单元格的编辑结束事件中拿到该行号列号给单元格赋值,FineReport监听事件获取单元格行号列号请查看获取当前编辑行单元格行号


4.2 添加监听事件
点击模板>模板web属性>填报页面设置,新增一个加载结束事件,js如下:
  1. contentPane.on("cellselect", function(td) {    
  2.   var row =contentPane.curLGP.getTDRow(td);   
  3.   var col =contentPane.curLGP.getTDCol(td);  
  4.   window.row=row;  
  5.   window.col=col;  
  6. });  
注:全局变量必须在前面加一个window。