【问题标题】:jqgrid getCell strange behaviourjqgrid getCell 奇怪的行为
【发布时间】:2012-10-30 12:29:52
【问题描述】:

我有一个 jqgrid 和一个 getCell 方法,它根据 id 返回单元格的值。它仅适用于网格的第一行,在其他情况下 identifyImg = false:

var ids = jQuery("#myGrid").getDataIDs(); 
        for(var i=0;i<ids.length;i++){
            var identifyImg = $('#myGrid').jqGrid('getCell', i, 'idState');
alert(identifyImg); // return false after first row
            if(identifyImg == '1'){
                 //DO SOMETHING 
              }
            }

列定义如下:

{name:'idState',index:'idState', width:55}

并且正确地填充了数字。我该如何解决这个问题?

【问题讨论】:

  • 您应该发布更完整的 jqGrid 代码和可用于重现问题的测试数据。此外,我不完全理解为什么需要这样的代码。在大多数情况下,应该使用cellattrrowattr 或自定义格式化程序,而不是使用getDataIDs 的枚举。

标签: javascript jquery jqgrid


【解决方案1】:

你应该使用

 $('#myGrid').jqGrid('getCell', ids[i], 'idState');

而不是

 $('#myGrid').jqGrid('getCell', i, 'idState');

我还想提一下,在大多数情况下,不需要对从getDataIDs 返回的 id 使用循环。这是在 旧版本的 jqGrid 中自定义 loadCompletegridComplete 内的 jqGrid 的好方法。现在有更多更好的(从性能的角度来看)替代品。例如,如果您需要根据一列的内容更改某个单元格的某些样式或其他属性,您可以使用cellattr(参见the answerthe answerthe answerthe answer 或其他)。如果您需要根据一列的内容更改整行的某些属性,您可以使用rowattr(参见the answer)。在其他情况下,如果您需要根据另一个单元格的内容更改单元格的内容(不是属性),您可以使用custom formatter

【讨论】:

    猜你喜欢
    • 2012-07-28
    • 1970-01-01
    • 1970-01-01
    • 2014-11-08
    • 2018-10-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多