2012-03-28 55 views
0

我在Dojo EnhancedGrid中遇到了一個奇怪的問題。dojo「對象不支持此操作」在IE中

我從AJAX服務器獲取的網格數據,然後在load()方法中,我試圖通過網格中的所有元素。這裏的事情在IE中發瘋了。下面是試圖獲取元素的方法:

   var grid = dijit.byId(prefix + "mySuperGrid"); 

       for (var i = 0 , l = grid.getTotalRowCount(); i < l; i++) { 
           item = grid.getItem(i); 
       } 

在第一次迭代,我得到

對象不支持此操作

在Firefox中相同的代碼工作完美。

+0

請問爲什麼你在迭代網格加載後的所有項目?我問的原因是因爲這樣做很昂貴。通常,數據存儲上的格式函數或onItem()是完成項目自定義處理的地方 – 2012-03-28 15:51:04

+0

什麼版本的IE? – 2012-03-28 16:20:25

+0

我之所以經歷所有元素,是因爲我有一個項目需要在表格中點亮,我正在嘗試找到它。在網格之前獲得的項目被加載後,我需要遍歷網格中的所有項目,並找到應該選擇的行。 – Anton 2012-03-29 06:59:11

回答

2

好吧,我找到了壞人。事情是,IE瀏覽器需要var關鍵字之前變量名稱,當Firefox不。所以代碼應該是:

  var grid = dijit.byId(prefix + "mySuperGrid"); 

      for (var i = 0 , l = grid.getTotalRowCount(); i < l; i++) { 
          var item = grid.getItem(i); 
      } 
相關問題