我有条件在使用setDisable(True)实现条件A时将单元格更改为禁用并且它正在工作,但另一方面在其他条件下,我必须将该复选框的单元格设置为再次启用以便我可以检查复选框(如果我输入错误)。
然后我尝试使用setDisable(false)并且它不起作用。你们有什么线索或方法可以解决这个问题,因为这不是我第一次遇到这个问题,我也试过了setColumnHidden(false)而且它也没有用。
这是我的代码:
if (gridlist.cells(id, 34).getValue() == 0) {
$.ajax({
url: "../../index.php/dsMonitoringDemoBooking/Check_Artikel/?st&articleid=" + article_id + "&TerminCode=" + TerminCode,
success: function(e) {
var _e = JSON.parse(e);
if (_e.flagPrd == 'N' && _e.flagTrm == 'N') {
alert(_e.message);
alert(_e.message2);
gridlist.cells(id, 34).setDisabled(true);
} else if (_e.flagPrd == 'N' && _e.flagTrm == 'Y') {
alert(_e.message);
gridlist.cells(id, 34).setDisabled(true);
} else if (_e.flagPrd == 'Y' && _e.flagTrm == 'N') {
alert(_e.message2);
gridlist.cells(id, 34).setDisabled(true);
} else if (_e.flagPrd == 'Y' && _e.flagTrm == 'Y') {
gridlist.cells(id, 34).setDisabled(false); //this is the problem
}
}
});
}
在这里你可以看到表格:
*该复选框将被禁用,具体取决于文章和终止值。如果我在终端上的文章和错误值上给出正确的值,它将被禁用。但是,当我将终端更改为正确的值时,它没有做任何事情。
问题已经解决了。我删除了一些行代码并重读了这个函数中的所有条件,然后我发现了我无法识别它的条件。
我的新代码是:
function CheckCashback(terminId) {
var selectedId = gridlist.getSelectedRowId();
var article_id = gridlist.cells(selectedId, 3).getValue();
var TerminCode = terminId;
//I removed the condition >> if (gridlist.cells(id, 34).getValue() == 0) {
$.ajax({
url: "../../index.php/dsMonitoringDemoBooking/Check_Artikel/?st&articleid=" + article_id + "&TerminCode=" + TerminCode,
success: function(e) {
var _e = JSON.parse(e);
if (_e.flagPrd == 'N' && _e.flagTrm == 'N') {
alert(_e.message);
alert(_e.message2);
gridlist.cells(selectedId, 34).setDisabled(true);
} else if (_e.flagPrd == 'N' && _e.flagTrm == 'Y') {
alert(_e.message);
gridlist.cells(selectedId, 34).setDisabled(true);
} else if (_e.flagPrd == 'Y' && _e.flagTrm == 'N') {
alert(_e.message2);
gridlist.cells(selectedId, 34).setDisabled(true);
} else {// and at least this code is work fine
gridlist.cells(selectedId, 34).setDisabled(false);
}
}
});
}
该行“if(gridlist.cells(id,34).getValue()== 0){”和forEachRow循环,我认为它对于获取已丢弃单元格的条件很有用。但实际上它毁了。谢谢你的回答。