FR10.0版本,想实现根据下拉框选择的值实现控件不可用的效果

“系统登录方式列”,我选择“E家单点”就将“系统url”和“登录页面登录按钮Xpath”列格子置灰并且文本控件失效。选“门户页登录”将“E家应用中心系统入口XPath”列格子置灰控件失效。选“接口访问”将E家应用中心系统入口XPath”和“登录页面登录按钮Xpath”列格子置灰控件失效。

但是目前我写的js只能实现“E家单点”的时候成功,其他两项的设置不成功。求各位大佬帮忙看一下image.png

控件不可用测试.zip

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

你这个,统一代码,拷贝到编辑后事件,一模一样拷贝就可以

image.png

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

//COL():返回当前单元格的列号

//ROW():返回当前单元格的行号

//col-1,row-1,表示当前单元格行列,赋值的时候是左-右+,上-下+   

//比如:给D2赋值,获取的是A2的行列,所右加D-A=3,也就是col-1+3=col+2,行不变

var a = this.getValue(); //A2

var location = this.options.location;

var cr = FR.cellStr2ColumnRow(location);

var col = cr.col;  //列号

var ro = cr.row;  //行号

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

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

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

var c = cr.col;

var r = cr.row;

// E家单点

if (a == 0) {

 // 置灰

 $("tr[tridx=" + r + "]").find("td[col=" + (c+1) + "]").css("background-color", "rgb(224,224,224)");

 $("tr[tridx=" + r + "]").find("td[col=" + (c+3) + "]").css("background-color", "rgb(224,224,224)");

// _g().getWidgetByCell(FR.columnRow2CellStr({col:c+1, row:r})).setEnable(false);

 // 控件失效

 url.setEnable(false);

 BtXpath.setEnable(false);

 // 变白+控件有效

 $("tr[tridx=" + r + "]").find("td[col=" + (c+2) + "]").css("background-color", "rgb(187,255,255)");

 EXpath.setEnable(true);

}

// 门户页登录

if (a == 1) {

 // 置灰

 $("tr[tridx=" + r + "]").find("td[col=" + (c+2) + "]").css("background-color", "rgb(224,224,224)");

 // 控件失效

 EXpath.setEnable(false);

 // 变白+控件有效

 $("tr[tridx=" + r + "]").find("td[col=" + (c+1) + "]").css("background-color", "rgb(187,255,255)");

 $("tr[tridx=" + r + "]").find("td[col=" + (c+3) + "]").css("background-color", "rgb(187,255,255)");

 url.setEnable(true);

 BtXpath.setEnable(true);

}

// 接口访问

if (a == 2) {

 // 置灰

 $("tr[tridx=" + r + "]").find("td[col=" + (c+2) + "]").css("background-color", "rgb(224,224,224)");

 $("tr[tridx=" + r + "]").find("td[col=" + (c+3) + "]").css("background-color", "rgb(224,224,224)");

 // 控件失效

 EXpath.setEnable(false);

 BtXpath.setEnable(false);

 // 变白+控件有效

 $("tr[tridx=" + r + "]").find("td[col=" + (c+1) + "]").css("background-color", "rgb(187,255,255)");

 url.setEnable(true);

}

  • HmjijsbZ HmjijsbZ(提问者) 大佬,这个增加记录之后,新的行里对控件失效的设置就失效了,可以帮忙看一下吗
    2024-03-27 16:23 
  • snrtuemc snrtuemc 回复 HmjijsbZ(提问者) 代码改下,但是插入行后,颜色会有BUG,看修改答案js
    2024-03-27 16:32 
  • HmjijsbZ HmjijsbZ(提问者) 回复 snrtuemc 颜色bug?我这边没测试出来呢?大佬
    2024-03-27 16:53 
  • 2关注人数
  • 161浏览人数
  • 最后回答于:2024-3-27 16:33
    请选择关闭问题的原因
    确定 取消
    返回顶部