麻烦问一下,我想通过判断日期,操作单元格是否可用,但设置为可用的时,还是不能编辑,是什么原因

麻烦问一下,我想通过判断日期,操作单元格是否可用,但设置为可用的时,还是不能编辑,是什么原因image.png

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

image.png

获取单元格,改成这个写法

var JH=contentPane.getWidgetByCell(FR.columnRow2CellStr({col: 4, row: 2}));

=========

js设置当前控件可用

var a=this.getValue();

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

var cr = FR.cellStr2ColumnRow(location);

var col = cr.col;  //列号

var ro = cr.row;  //行号

var JH= contentPane.getWidgetByCell(FR.columnRow2CellStr({col: col+1, row: ro}));//根据实际+-行列号

if(a=="01"){

JH.setEnable(false);

}else{

city.setEnable(true);

}

  • 用户t8693146 用户t8693146(提问者) var Filldate= this.getValue(); var JH = _g().getWidgetByCell("E3"); var JH1=contentPane.getWidgetByCell(FR.columnRow2CellStr({col: 4, row: 2})); if(Filldate.substring(8,10)=='01'){ JH1.setEnable(true); } if(Filldate.substring(8,10)!='01'){ JH1.setEnable(false); } 这样还是不行,选了11月1日以后,那个格子还是不能编辑,是不是设置为TRUE以后,需要用个什么操作,刷新一下
    2024-11-20 15:50 
  • snrtuemc snrtuemc 回复 用户t8693146(提问者) 正常不用的,选择日期后,在其他空白地方点击下,还有E3不能扩展,前面其他单元格也不能扩展,不然就获取到扩展后的E3单元格,不是设计时候E3,
    2024-11-20 15:53 
  • 用户t8693146 用户t8693146(提问者) 回复 snrtuemc 哦,我的E3是扩展的,那就是我选11月1日的时候,让E那列都不能编辑,得怎么整……
    2024-11-20 15:54 
  • snrtuemc snrtuemc 回复 用户t8693146(提问者) 那不能固定,看我修改答案示例
    2024-11-20 15:57 
  • 用户t8693146 用户t8693146(提问者) 回复 snrtuemc 好的谢谢
    2024-11-20 16:01 
最佳回答
0
用户k6280494Lv6专家互助
发布于2024-11-20 15:33
  • 用户t8693146 用户t8693146(提问者) 哦,这个有些区别,我是用的上面的控件栏的日期操作。 var Filldate= this.getValue(); var JH = _g().getWidgetByCell("E3"); var JH1=contentPane.getWidgetByCell(FR.columnRow2CellStr({col: 4, row: 2})); if(Filldate.substring(8,10)=='01'){ JH1.setEnable(true); } if(Filldate.substring(8,10)!='01'){ JH1.setEnable(false); } 这样还是不行,选了11月1日以后,那个格子还是不能编辑,是不是设置为TRUE以后,需要用个什么操作,刷新一下
    2024-11-20 15:53 
  • 用户k6280494 用户k6280494 回复 用户t8693146(提问者) var value = this.getValue(); //获取当前控件值 var ro = FR.cellStr2ColumnRow(this.options.location).row; //获取当前行号 var widget = _g().getWidgetByCell(FR.columnRow2CellStr({ col: 2, row: ro })); //获取当前行的单价控件 value == "是" ? _g().setCellValue(0, 2, ro, "") : true; //如果中止为是则清除当前行的单价 value == "是" ? widget.setEnable(false) : widget.setEnable(true); //如果中止为是则禁用当前行的单价控件
    2024-11-20 15:55 
  • 用户k6280494 用户k6280494 回复 用户t8693146(提问者) 用文档中的方式即可
    2024-11-20 15:55 
  • 用户t8693146 用户t8693146(提问者) 回复 用户k6280494 谢谢
    2024-11-20 16:01 
  • 3关注人数
  • 99浏览人数
  • 最后回答于:2024-11-20 15:58
    请选择关闭问题的原因
    确定 取消
    返回顶部