填报报表修改扩展单元格的背景色

image.png

修改A1的数据后,根据a1跟b1的值修改c1的背景色

注:是扩展数据,我修改的哪行a1就改变对应的c1的背景色

FineReport yyds0 发布于 2024-7-4 13:47 (编辑于 2024-7-4 13:47)
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共2回答
最佳回答
0
snrtuemcLv8专家互助
发布于2024-7-4 13:50(编辑于 2024-7-4 14:37)

控件编辑后事件,或者编辑结束事件

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 = FR.columnRow2CellStr({col: col+2, row: ro});  //获取当前单元格后面2列的单元格

if(a>20){

$("td[id^='"+b+"-0']").css("background","red");//背景色,注意可能会被控件阻挡背景色,可以background改color看看字体颜色

}

============

var th=this;

setTimeout(function() {

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

contentPane.curLGP.selectTDCell(cell);

var a=th.getValue();

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

var cr = FR.cellStr2ColumnRow(location);

var col = cr.col;  //列号

var ro = cr.row;  //行号

var b = FR.columnRow2CellStr({col: col+2, row: ro});  //获取当前单元格后面2列的单元格

if(a>20){

$("td[id^='"+b+"-0']").css("background","red");//背景色,

}

}, 800);

  • yyds0 yyds0(提问者) 这个可以用,但是要执行好久才会变色有办法优化速度吗
    2024-07-04 14:20 
  • snrtuemc snrtuemc 回复 yyds0(提问者) 正常是开的,难道你数据很多,可以放到编辑后或者编辑结束事件,记得有个事件好像会卡,两个换着测试下
    2024-07-04 14:23 
  • yyds0 yyds0(提问者) 回复 snrtuemc 换成编辑后事件后速度正常了,但是我在单元格刚输入一个字符页面就往上跳,相当于滚动条往上移动了一下,然后正在编辑的单元格失去鼠标焦点了
    2024-07-04 14:33 
  • yyds0 yyds0(提问者) 回复 snrtuemc 50行的数据
    2024-07-04 14:36 
  • snrtuemc snrtuemc 回复 yyds0(提问者) 目前不清楚,编辑结束后有bug,可以编辑后事件,加延迟,看修改答案
    2024-07-04 14:37 
最佳回答
0
用户k6280494Lv6资深互助
发布于2024-7-4 13:49
  • 3关注人数
  • 189浏览人数
  • 最后回答于:2024-7-4 14:37
    请选择关闭问题的原因
    确定 取消
    返回顶部