【问题标题】:Gridpanel auto resize on window resizeGridpanel在窗口调整大小时自动调整大小
【发布时间】:2010-03-25 07:45:46
【问题描述】:

我正在使用 array-grid extjs 示例来尝试将网格面板放入容器窗口中。问题在于调整容器窗口的大小,网格面板不会自动适应新大小。据我了解,它应该是这样工作的。

这是示例的链接:http://www.extjs.com/deploy/dev/examples/grid/array-grid.html

我所做的更改如下..

// Added to gridpanel config
layout: 'fit',
viewConfig: {
    forceFit: true
}

// Window container
var gridWindow = new Ext.Window({
    items: [
        grid
    ]
});

// Instead of grid.render, use gridWindow.show();
gridWindow.show();

【问题讨论】:

    标签: extjs


    【解决方案1】:
    layout: 'fit',
    

    应该进入gridWindow配置!布局管理器排列面板的子级,但网格 是子级。

    【讨论】:

      【解决方案2】:

      我正在使用以下解决方法:

      Ext.onReady(function () {
          var grid = ... //define your grid here
      
          Ext.EventManager.onWindowResize(function () {
              grid.setSize(undefined, undefined);
          });
      });
      

      Extjs v4.0.7

      【讨论】:

        【解决方案3】:

        我通过将我的网格面板包装到一个 Ext.Panel 中解决了这个问题,并将布局属性设置为“适合”。 网格面板(viewConfig 也包含 forceFit: 'true' 现在会在调整窗口大小时自动调整大小

        【讨论】:

          【解决方案4】:

          我认为您需要使用 EventManager 类。请阅读following blog

          【讨论】:

            【解决方案5】:

            使用 ExtJS 6,这对我有用(不需要 Ext.Viewport 作为父容器):

            var grid = //...
            
            Ext.on('resize', function(w, h){
              grid.updateLayout();
            });
            

            【讨论】:

              猜你喜欢
              • 2017-04-29
              • 1970-01-01
              • 2011-02-28
              • 2019-05-15
              • 2019-07-03
              • 2017-03-12
              • 1970-01-01
              • 2021-04-06
              • 2012-08-02
              相关资源
              最近更新 更多