分类:1.局部刷新固定单元格 2.局部刷新扩展单元格
1.局刷新固定单元格 (JS代码例)
setInterval(function(){
//获取第二行第 5 列 E2 单元格对象
var _changeCell = $("tr[tridx=1]","div.content-container").children().eq(7);
//获取 H2 单元格值
var _changeVal = _changeCell.text();
//给表格赋值
if(_changeVal=="1"){
contentPane.setCellValue("H2",null,"2")
}else if(_changeVal=="2"){
contentPane.setCellValue("H2",null,"1")
}
},1000)//1000 表示 1 秒后循环刷新*/
2.局部刷新扩展单元格
//_obj 是 tr 对象
var _obj = $(".x-table tr");
//_length 是 tr 行数
var _length = _obj.length;
//循环函数
setInterval(function(){
//遍历tr
for(var i = 0; i < _length; i++) {
//如果第一个是标题,执行 if 条件中 continue,没有标题请注释 if 条件
//如果第 1,2,3 都是标题行,请把 if 条件改成 if(i==0 || i==1|| i==2)
if(i == 0){
continue;
}
//遍历tr中的对象td
var _td = _obj.eq(i).find("td");
//需要刷新的列,eq(4)表示单元格 E 列 (可根据自己需要更改)
var _this = _td.eq(7);
//取单元格 H 列值
var _changeVal = _this.text();
//contentPane.setCellValue("H"+(i+1),null,"2") 意思是给 E 列单元格赋值 因为行号是从 0 开始所以赋值给 EH列单元格时候是i+1
if(_changeVal=="1"){
contentPane.setCellValue("H"+(i+1),null,"2")
}else if(_changeVal=="2"){
contentPane.setCellValue("H"+(i+1),null,"1")
}
}
},1000)//1000 表示 1 秒后循环刷新
例:填报刷新不及时:JS解决控件值刷新不及时的问题-https://help.finereport.com/doc-view-1887.html
思路
用户通过文本框填报了值,而需要对这个值进行取出判断的时候,经常会取空值,只有用户点击了空白区域,才可以正常取值。
比如:用户填写了手机号码,就可以跳转到领取奖品的页面,若手机号码是最后一个填报栏,填写后,用户直接提交,系统则会认为,手机号码一栏为空。既然任意点击空白处就可以。那么我们就用 JS 来强制跳转光标实现同样的功能。
contentPane.curLGP.selectTDCell("A2");
var B3 = contentPane.curLGP.getCellValue("B3");
var A3 = contentPane.curLGP.getCellValue("A3");
alert("a3的值:"+A3);
alert("b3的值:"+B3);
contentPane.curLGP.selectTDCell("A2"); 表示的是,将光标强制跳转到 A2 单元格,也就相当于用鼠标点击了一下 A2 单元格,使其获得光标,进而强制 B3 单元格刷新值。