2009-11-11 22 views
5

Ext.formフィールドを内部に持つExt.Windowを作成しました。しかし、ウィンドウのサイズを変更すると、フォームの要素にはまだ初期の幅と高さがあります。ExtJS:ウィンドウ上のフォームフィールドのサイズを自動的に変更する

ウィンドウのサイズ変更で明示的にフォームフィールドのサイズを変更する必要がありますか?または、フォームフィールドの自動サイズ変更を有効にするオプションがいくつかありますか?

サンプルコード:

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

答えて

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

はそれを行うだろう。いくつかのサンプルthereと文書thereを見ることができます。あなたがそれらのそれぞれのサイズを指定しない場合

また、あなたは

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

素晴らしい!ありがとうございます –

+0

@Sergei:あなたは大歓迎です。 – RageZ

+0

しかし、Ext.form.ComboBoxでは動作しません –

0

defaults設定オブジェクトとフォームパネルからデフォルトをプッシュすることができます私の疑惑はFormPanel「FP」は、部分的であるということです故障して。

Ext JSでは、Ext.Windowコンストラクタ内のウィンドウからすべてのものをすべて宣言することが通常はベストプラクティスです。物を作り、それを後で付けようとすることは、私にとって非常に不満の源です。

(他の答えについては、幅:100%が良いでしょう。でも、すべてを一度に宣言しないと、サイズ変更などの問題が多かったです...正確には分かりません。それはまだそうしても大丈夫だとき)

+0

@richard:私はそれに問題はない...だからあなたが話していることを本当に理解していない... – RageZ

+0

@RageZ:あなたの問題はこの場合解決されたように見えるが、私がコントロールを作成し、そこにそれを宣言するのではなく、レイアウトの親の項目でそれを参照したときにExt JSでレイアウトの優越性が何度も見られました。あなたのための正しい答えではありませんが、アンカー/幅とは無関係の同様の問題でこの質問を横断して走る他の人のためのものです。 – richardtallent