2012-04-19 31 views
4
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 
     ] 
    } 
    ] 
}) 

一旦窗口被調整網格不改變它的寬度...... 有什麼想法???ExtJS的3.3.1 FieldSet中與佈局配合和電網不調整窗口上的網格調整

+2

這將有助於瞭解整個容器結構,不僅使'Grid'放置一個'FieldSet'這又是一個'FormPanel'內內。你確定它不是沒有調整大小的FieldSet嗎?如果你在'FieldSet'上放置'anchor:'-0'',這有幫助嗎? – Chau 2012-04-19 06:17:08

+0

謝謝你做到了! – AMember 2012-04-19 07:24:26

+0

你可以寫它作爲答案,我會接受它 – AMember 2012-04-19 07:30:54

回答

4

由於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像素。

0

試試這個.....

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 
} 
}); 
相關問題