目前已实现,选择cms,后面两个单元格禁止输入,后面第三个单元格改变为灰色、并且手输,,选择单量罐时,后面两个单元格可以输入,后面第三个单元格改变为黄色、并且自动计算,不能手输、、、但是在插入新的一行时,再次选择单量罐时,后面第三个单元格公式不起作用,,在插入一行时,上面的公式才起效果 请问各位大神怎么解决 卡了一天了,,附上js 和设置 下拉框编辑后js:var a=this.getValue();var location = this.options.location; //获取当前控件的位置var cr = FR.cellStr2ColumnRow(location);var col = cr.col; //列号var ro = cr.row; //行号// var e = contentPane.getWidgetByName("dlkj");// var e = contentPane.getWidgetByName(FR.columnRow2CellStr({col: col+5, row: ro})); var e = contentPane.getWidgetByCell(FR.columnRow2CellStr({col: col+5, row: ro})); var f = contentPane.getWidgetByCell(FR.columnRow2CellStr({col: col+3, row: ro})); var g = contentPane.getWidgetByCell(FR.columnRow2CellStr({col: col+4, row: ro})); //var h = contentPane.getCellValue(21, 4); //var qyw = contentPane.getCellValue(col+3,ro); //var hyw = contentPane.getCellValue(col+4,ro); //var zhi4 = (hyw - qyw ) *h;//alert(h);//alert(qyw);//alert(hyw);//alert(zhi4);//根据单元格获取控件var d = FR.columnRow2CellStr({col: col+5, row: ro});if(a=='90.02'){ e.setVisible(false); e.setEnable(false); // e.setCellValue("E2",null,"2") $("td").css({"background-color":"ffffc8"}) }else if(a.length==0){ e.setVisible(false); e.setEnable(false); $("td").css({"background-color":"ffffc8"}) }else if(a=='90.01'){ e.setVisible(true); e.setEnable(true); f.setVisible(false); g.setVisible(false); f.setEnable(false); g.setEnable(false); $("td").css({"background-color":"grey"}) }else if(a=='90.03'){ e.setVisible(true); e.setEnable(true); f.setVisible(false); g.setVisible(false); f.setEnable(false); g.setEnable(false); $("td").css({"background-color":"grey"}) }else if(a=='90.04'){ e.setVisible(true); e.setEnable(true); f.setVisible(false); g.setVisible(false); f.setEnable(false); g.setEnable(false); $("td").css({"background-color":"grey"}) }else{ e.setVisible(true); e.setEnable(true); f.setVisible(false); g.setVisible(false); f.setEnable(false); g.setEnable(false); $("td").css({"background-color":"grey"}) }下拉框初始化后js:var a=this.getValue();var location = this.options.location; //获取当前控件的位置var cr = FR.cellStr2ColumnRow(location);var col = cr.col; //列号var ro = cr.row; //行号// var e = contentPane.getWidgetByName("dlkj");// var e = contentPane.getWidgetByName(FR.columnRow2CellStr({col: col+5, row: ro})); setTimeout(function(){ var e = contentPane.getWidgetByCell(FR.columnRow2CellStr({col: col+5, row: ro})); var f = contentPane.getWidgetByCell(FR.columnRow2CellStr({col: col+3, row: ro})); var g = contentPane.getWidgetByCell(FR.columnRow2CellStr({col: col+4, row: ro})); //根据单元格获取控件 var d = FR.columnRow2CellStr({col: col+5, row: ro}); if(a=='90.02'){ e.setVisible(false); e.setEnable(false); $("td").css({"background-color":"ffffc8"}) }else if(a.length==0){ e.setVisible(false); e.setEnable(false); $("td").css({"background-color":"ffffc8"}) }else if(a=='90.01'){ e.setVisible(true); e.setEnable(true); f.setVisible(false); g.setVisible(false); f.setEnable(false); g.setEnable(false); $("td").css({"background-color":"grey"}) }else if(a=='90.03'){ e.setVisible(true); e.setEnable(true); f.setVisible(false); g.setVisible(false); f.setEnable(false); g.setEnable(false); $("td").css({"background-color":"grey"}) }else if(a=='90.04'){ e.setVisible(true); e.setEnable(true); f.setVisible(false); g.setVisible(false); f.setEnable(false); g.setEnable(false); $("td").css({"background-color":"grey"}) }else{ e.setVisible(true); e.setEnable(true); f.setVisible(false); g.setVisible(false); f.setEnable(false); g.setEnable(false); $("td").css({"background-color":"grey"}) } },100)第三个单元格设置:,设置原值、 单元格里面公式:插入第二行时公式不起作用: