2010-03-25 9 views
7

Ich benutze das array-grid extjs Beispiel, um zu versuchen, ein gridpanel in ein Containerfenster einzupassen. Das Problem liegt in der Größenänderung des Containerfensters, das Gridpanel passt nicht automatisch zur neuen Größe. So wie ich es verstehe, soll es so funktionieren.Gridpanel automatische Größenanpassung bei Fenstervergrößerung

Hier ist der Link zum Beispiel: http://www.extjs.com/deploy/dev/examples/grid/array-grid.html

Was ich getan habe folgendes geändert wird ..

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

result

Antwort

9
layout: 'fit', 

sollte in die gridWindow Konfiguration gehen! Der Layout-Manager ordnet die untergeordneten Elemente eines Bedienfelds an, aber das Raster ist das Kind.

+0

Gah, sollte diese haben gesehen .. – imnotneo

1

Ich löste dies, indem ich mein gridpanel in ein Ext.Panel wickelte, mit einer Layout-Eigenschaft, die auf "fit" gesetzt wurde. Die Gitterplatte (mit einem viewConfig auch enthalten forceFit: ‚true‘ automatisch wird nun die Größe, wenn das Fenster

0

Größe verändert wird Ich glaube, Sie Eventmanager Klasse verwenden müssen, lesen Sie es in following blog

9

Ich verwende. die folgende Abhilfe:

Ext.onReady(function() { 
    var grid = ... //define your grid here 

    Ext.EventManager.onWindowResize(function() { 
     grid.setSize(undefined, undefined); 
    }); 
}); 

ExtJS v4.0.7

Verwandte Themen