2012-11-10 74 views
1

我有一個jqgrid和一個getCell方法,它返回一個單元格的值取決於id。它僅適用於網格的第一行,在別人identifyImg =假:jqgrid getCell奇怪的行爲

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} 

而且隨着數字是正確填充。我該如何解決這個問題?

+0

您應該發佈更完整的jqGrid代碼和可用於重現問題的測試數據。此外,我不完全明白爲什麼可能需要這樣的代碼。在大多數情況下,應該使用'cellattr','rowattr'或自定義格式化程序,而不是使用'getDataIDs'的枚舉。 – Oleg

回答

1

你應該使用的

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

代替

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

我要額外提的是,在大多數情況下,一個不需要使用循環遍歷IDS從getDataIDs返回。這是定製jqGrid裏面的loadCompletegridComplete舊版本的jqGrid的好方法。現在有更好的(從性能角度來看)替代品。例如,如果您需要根據一列的內容更改某個單元格的某種樣式或其他屬性,則可以使用cellattr(請參閱the answer,the answer,the answer,the answer或其他)。如果需要根據一列的內容更改整行的某些屬性,則可以使用rowattr(請參見the answer)。在其他情況下,如果您需要根據另一個單元格的內容更改單元格的內容(而不是屬性),則可以使用custom formatter

+0

多麼愚蠢的錯誤..謝謝!!!! – Franky

+0

@Franky:不客氣! – Oleg