setDisable(false)不在dHTMLX网格单元上工作

问题描述 投票:0回答:1

我有条件在使用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
      }

    }


  });
}

在这里你可以看到表格:

*该复选框将被禁用,具体取决于文章和终止值。如果我在终端上的文章和错误值上给出正确的值,它将被禁用。但是,当我将终端更改为正确的值时,它没有做任何事情。

javascript php ajax codeigniter
1个回答
0
投票

问题已经解决了。我删除了一些行代码并重读了这个函数中的所有条件,然后我发现了我无法识别它的条件。

我的新代码是:

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循环,我认为它对于获取已丢弃单元格的条件很有用。但实际上它毁了。谢谢你的回答。

© www.soinside.com 2019 - 2024. All rights reserved.