填报时,如何动态刷新单元格

如下图所示,我有两列:“调拨数量”和“当前库存”。其中 “当前库存”列是通过 单元格的SQL函数做动态查询“调拨数量”是通过单元格“数字控件”进行输入。

image.png

现在遇到的问题是:输入数字后,两列设置好了“条件属性”当调拨数量 > 当前库存的情况下背景标注为红色。我希望能自动发生比较,并显示对应的颜色。当前结果是无法实现预期效果。

image.png

目前的方法是,由于在前面增加了“按钮控件”,点击“按钮控件”后,单元格会自动更新,自动更新的过程中,才实现了我需要效果。

image.png

上述方式能解决问题,但实际操作过程中,用户可能会一次性增加多行,然后逐一填写进去,这样导致单元格可能不会实时更新的情况。从而无法及时验证数据准确性。

针对这一个问题,应该如何处理?不太希望用单元格定时更新的方法,因为有可能导致页面的负载过大。

FineReport kandw 发布于 2023-5-4 17:23
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共1回答
最佳回答
0
snrtuemcLv8专家互助
发布于2023-5-4 17:28

直接js,在调拨数量单元格控件,编辑结束事件,js 如下

var cell = contentPane.curLGP.getTDCell(1,1);

contentPane.curLGP.selectTDCell(cell);

var a=this.getValue();

var location = this.options.location;  //获取当前控件的位置

var cr = FR.cellStr2ColumnRow(location);

var col = cr.col;  //列号

var ro = cr.row;  //行号

var b=contentPane.getCellValue(0,col+1,ro); 

var c = FR.columnRow2CellStr({col: col, row: ro});  //获取当前单元格

var d = FR.columnRow2CellStr({col: col+1, row: ro});  //获取后面单元格

if(b>a){

$("td[id^='"+c+"-0']").css("color","red");

$("td[id^='"+d+"-0']").css("color","red");

}

  • 1关注人数
  • 205浏览人数
  • 最后回答于:2023-5-4 17:28
    请选择关闭问题的原因
    确定 取消
    返回顶部