具有布局适合和网格的 Extjs 3.3.1 FieldSet 在窗口调整大小时不会调整网格大小

Posted

技术标签:

【中文标题】具有布局适合和网格的 Extjs 3.3.1 FieldSet 在窗口调整大小时不会调整网格大小【英文标题】:Extjs 3.3.1 FieldSet with layout fit and grid in it does not resize the grid on window resize 【发布时间】:2012-04-19 06:07:16 【问题描述】:
var colModel = new Ext.grid.ColumnModel(
      columns: [ columns here...]
)

var grid = new Ext.Ext.grid.GridPanel(
   store: store,
   loadMask: true,
   autoExpandColumn: 'itemDescription',
   stripeRows: true,
   colModel: colModel
)

var form = new Ext.FormPanel(
   labelWidth: 150,
   bodyStyle: 'padding:2px 5px;',
   autoScroll: true,
   items:[
     new Ext.form.FieldSet(
       layout: 'fit',
       collapsible: true,
       height:300,
       items: [
            grid 
       ]
     
   ]
)

调整窗口大小后,网格不会改变其宽度... 有什么想法吗???

【问题讨论】:

这将有助于了解整个容器结构,而不仅仅是 Grid 被放置在 FieldSet 内,而 FieldSet 又在 FormPanel 内。你确定它不是没有调整大小的FieldSet 吗?如果您将anchor: '-0' 放在FieldSet 上,有帮助吗? 你可以写成答案,我会接受的 【参考方案1】:

由于layout: 'fit',您的Grid 将根据FieldSet 调整大小。由于FormPanel 没有布局集,它会自动使用layout: 'form'FieldSet 将充当普通 Form Field,因此需要配置为自行调整大小。这可以使用FormLayoutanchor 属性来完成:

var form = new Ext.FormPanel(
    labelWidth: 150,
    bodyStyle: 'padding:2px 5px;',
    autoScroll: true,
    items:[
        new Ext.form.FieldSet(
            layout: 'fit',
            anchor: '-0',
            collapsible: true,
            height:300,
            items: [
                grid 
            ]
        
    ]
);

这将告诉FieldSet 始终与FormPanel 的右边缘保持0 像素。

【讨论】:

【参考方案2】:

试试这个.....

var colModel = new Ext.grid.ColumnModel(
  columns: [ columns here...]
)

var grid = new Ext.Ext.grid.GridPanel(
store: store,
loadMask: true, 
autoExpandColumn: 'itemDescription',
stripeRows: true,
colModel: colModel
)

var form = new Ext.FormPanel(
labelWidth: 150,
bodyStyle: 'padding:2px 5px;',
autoScroll: true,
items : 
   xtype : 'fieldset',
   title : 'Give proper Title',
   defaults: 
      anchor: '100%'
   ,
   layout: 'anchor',
   collapsible: true,
   items: grid

);

【讨论】:

以上是关于具有布局适合和网格的 Extjs 3.3.1 FieldSet 在窗口调整大小时不会调整网格大小的主要内容,如果未能解决你的问题,请参考以下文章

在 extjs 4 的网格列内显示树

extjs 5 网格的滚动条在边框布局面板中不起作用

网格分组extjs4中子表的布局

在 ExtJs 中创建具有两个比例的网格

当我重新加载网格和存储时,extjs 缓存具有相同名称的图片

ExtJs - 具有动态可关闭标签的文本字段