2009-11-11 4 views
5

J'ai créé Ext.Window avec des champs Ext.form à l'intérieur. Mais quand je redimensionne la fenêtre, les éléments de forme ont toujours la largeur et la hauteur initiales.ExtJS: Redimensionner automatiquement les champs de formulaire lors du redimensionnement de la fenêtre

Est-il nécessaire de redimensionner explicitement les champs de formulaire lors du redimensionnement de la fenêtre? Ou il y a une option qui permet le redimensionnement automatique des champs de formulaire?

Exemple de code:

var f_1 = new Ext.form.TextField({fieldLabel: 'Label 1'}); 
var f_2 = new Ext.form.TextField({fieldLabel: 'Label 2'}); 
var fp = new Ext.form.FormPanel({items: [f_1, f_2]}); 

var w = new Ext.Window({ 
    layout: 'form', 
    title: 'test', 
    items: fp 
}); 

w.show() 

Répondre

1
var f_1 = new Ext.form.TextField({fieldLabel: 'Label 1', anchor:'95%'}); 

le ferait. vous pouvez voir quelques exemples there et la documentation there.

Aussi, si vous ne voulez pas spécifier la taille pour chacun d'eux, vous pouvez pousser la valeur par défaut à partir du panneau de forme avec l'objet de configuration defaults

var fp = new Ext.form.FormPanel({ 
      items: [f_1, f_2] 
      ,defaults: { 
       anchor: '95%' 
      } 
     }); 
+0

Incroyable! Merci –

+0

@Sergei: vous êtes les bienvenus. – RageZ

+0

Mais cela ne fonctionne pas avec Ext.form.ComboBox –

0

Je soupçonne que le panneau FormPanel « fp » est en partie en faute.

Dans Ext JS, il est généralement recommandé de tout déclarer à partir de la fenêtre tout le long du constructeur Ext.Window. Créer des choses et essayer de les attacher plus tard a été la source de beaucoup de frustration pour moi.

(Ok, l'autre réponse à propos de la largeur: 100% est probablement meilleure.) Mais j'ai quand même eu beaucoup de problèmes avec le redimensionnement, etc. quand je ne déclarais pas tout en même temps ... je n'ai pas compris . quand il est autorisé à le faire encore)

+0

@richard: Je n'ai aucun problème avec ça ... donc je ne comprends pas vraiment de quoi vous parlez ... – RageZ

+0

@RageZ: On dirait que votre problème est résolu dans ce cas, mais j'ai laissé ma réponse parce que je J'ai vu de nombreuses fois la mise en page dans Ext JS quand j'ai créé un contrôle et que je l'ai référencé dans les éléments du parent layout plutôt que de le déclarer là. Pas la bonne réponse pour vous, mais pourrait être pour quelqu'un d'autre qui traverse cette question avec un problème similaire sans lien avec anchor/width. – richardtallent

Questions connexes