Dojo DataGrid autoHeight无法在IE9中运行

时间:2012-06-29 21:22:07

标签: css datagrid dojo

我正在使用带有IE9浏览器的Dojo 1.7。我试图动态生成多个DataGrids并将它们附加到div内的内容。我正在使用网格的autoHeight属性。

这在Chrome或Firefox中运行良好。但是,在我将高度设置为固定量之前,网格不会显示在IE上。

如何在IE中使autoHeight工作?我怀疑它与IE9如何处理高度语义有关。

3 个答案:

答案 0 :(得分:2)

直到几分钟前我一直在处理同样的问题:我正在创建动态网格,具体取决于我在列表中有多少项目,并且每个网格都显示为autoHeight。问题与网格或其高度无关。

我不确定但是IE会以不同于其他浏览器的方式解释图层,因此您必须以具体方式添加它们。尝试首先将网格添加到您的DOM节点(我的意思是您还将动态创建的节点,您将通过该节点附加网格),然后将此网格容器添加到HTML的最后位置。它对我来说是正常的。

答案 1 :(得分:1)

我也面临同样的问题。我试图寻找替代品。

我按照这种方式行事。

将以下属性添加到

dojox.grid.datagrid
onShow: function(){if(grid)grid.setStore(store);}

并致电grid.onShow();

  var grid= new dojox.grid.DataGrid({
    store : store,
    query : {
      sno : "*"
    },
    autoHeight:true,
    structure : columns,
    selectionMode : "Multiple",
    onShow: function(){if(grid)grid.setStore(store);}
  });

// This will fire the onShow event on grid.
grid.onShow();

答案 2 :(得分:0)

在IE上,我必须确保在动态添加的网格上调用启动。例如如果你在postCreate中添加网格,请尝试:

startup: function() {
    this.inherited(arguments);
    if (this.grid) this.grid.startup();
}

网格可能很挑剔。即使这样做,我仍然在使用autoHeight的IE(IE9)上有高度问题。如果我在事后设置了更新的商店,则高度变为0。