帆软JS实现局部刷新CPT

分类: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 单元格刷新值。

你可能感兴趣的:(帆软)