【问题标题】:Dojo DataGrid autoHeight not working in IE9Dojo DataGrid autoHeight 在 IE9 中不起作用
【发布时间】:2012-07-01 10:04:02
【问题描述】:

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

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

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

【问题讨论】:

    标签: css datagrid dojo


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

      我也遇到了同样的问题。我试图找到一个替代品。

      我遵循这种方式及其工作方式。

      将以下属性添加到

      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();
      

      【讨论】:

        【解决方案3】:

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

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

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2011-10-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2013-06-22
          • 2013-01-05
          • 2011-11-02
          相关资源
          最近更新 更多