2012-03-28 52 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); 
      } 
相关问题