0

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

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

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

4

3 回答 3

2

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

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

于 2012-10-10T10:38:50.557 回答
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();
于 2012-11-30T07:28:11.283 回答
0

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

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

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

于 2012-09-24T09:31:57.547 回答