填报表第二个单元格怎么根据第一个单元格填了数据改变为是否有控件

CITY_ASSET_01_20210121.cpt

要求:

填报前,A1,A2单元格都设置了下拉框控件可以填报数据。
但是当A1单元格填了数据进去,A2就不能填数。而且是要在A1填报完不提交刷新的情况。




如打开页面左右两个单元格都可以填报,但是当左边这个填了数据右边这个需要立马就变为不能填报,而不是提交之后左边这个有显示值了才不能填报

FineReport 240195197 发布于 2021-1-21 14:17 (编辑于 2021-1-21 15:07)
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共3回答
最佳回答
0
XinfLv3见习互助
发布于2021-1-22 18:01

var a = this.getValue(); //该单元格的值

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

var cr = FR.cellStr2ColumnRow(location);

var col = cr.col; //列号

var ro = cr.row; //行号

var name = contentPane.getWidgetByCell(FR.columnRow2CellStr({col: col+1, row: ro}));

if(a==2||a==1){

    name.setEnable(false);

    }else{

          name.setEnable(true);      

        }


最佳回答
0
张洪威Lv6高级互助
发布于2021-1-21 14:21

contentPane.getWidgetByCell('A3').setEnable(false);

A2的编辑结束事件用这个。

  • 240195197 240195197(提问者) 代码中A3是单元格吗,false是固定的?
    2021-01-21 14:21 
  • 张洪威 张洪威 回复 240195197(提问者) 这个意思是 A2编辑完之后,A3单元格的控件不能编辑。
    2021-01-21 14:23 
  • 240195197 240195197(提问者) 回复 张洪威 我在A1单元格的事件上写这个代码,把A3改成A2后。填了A1后,直接报错:自定义JS错误 : Cannot read property \'setEnable\' of undefined
    2021-01-21 14:25 
最佳回答
0
LSQ000Lv5中级互助
发布于2021-1-21 14:21(编辑于 2021-1-21 17:37)

给A1添加编辑后时间试试呢,编辑完成后,如果A1有值则A2不可用

1606808880413144.cpt

//setVisible设置是否可见,setEnable设置是否可用,ccc是B1控件的名字,B1设置了横向拓展
var A1 = contentPane.getWidgetByCell('A1').getValue();
var arr=contentPane.getWidgetsByName("ccc");  
var temp="";
if(A1.length>0){
contentPane.getWidgetByCell('A2').setVisible(false);
if(arr[0]!=undefined)
{
for(var i=0;i<arr.length;i++)
{temp = temp + arr[i].setEnable(false);}
}

}else{
contentPane.getWidgetByCell('A2').setVisible(true);
if(arr[0]!=undefined)
{
for(var i=0;i<arr.length;i++)
{temp = temp + arr[i].setEnable(true);}
}
}



  • 2关注人数
  • 512浏览人数
  • 最后回答于:2021-1-22 18:01
    请选择关闭问题的原因
    确定 取消
    返回顶部