2010-11-22 7 views
1

私は動的にフィールドを追加したフォーム(さまざまなサイズ)を持っています。 フィールドセットにいくつかのフォームフィールドを配置し、フィールドセットの境界線をすべてのフィールドを含むだけの大きさにしたいと思います。ここでどのように私はこのフィールドセットの境界線をしっかりと包むようにすることができますか

は、問題を示し(醜い)の例である:

var win = new Ext.Window({ 
    xtype: 'form', 
    layout: 'form', 
    height: 200, 
    width: 500, 
    title: 'Testing', 
    items: [{ 
     xtype: 'fieldset', 
     layout: 'hbox', 
     autoHeight:true, 
     autoWidth: false, 
     title: 'Fieldset', 
     defaults: { 
      border: false, 
      layout: 'form', 
      labelAlign: 'top', 
      labelSeparator: '' 
     }, 
     items: [{ 
      items: new Ext.form.TextField({ 
       fieldLabel: 'Col1', 
       name: 'col1', 
       value: 'nothing', 
      }) 
     }, { 
      items: new Ext.form.TextField({ 
       fieldLabel: 'Col2', 
       name: 'col2', 
       value: 'something' 
      }) 
     }] 
    }, 
     new Ext.form.TextField({ 
      fieldLabel: 'Col3', 
      name: 'col3', 
      value: 'anything' 
     }) 
    ] 
}).show(); 

これは以下のようにそれが見えるものです:私は事前に含まれているフィールドの幅を知ることができませんalt text

ので、私幅を指定することはできません。

ありがとうございます。

答えて

0

[OK]を、いくつかのフィールドセットのプロパティ変更することで動作しますとCLSを追加し、trueに、「テーブル」に
autoWidthを
レイアウトを
「フロート:左」(、スタイルでこれを置くことを支援していないようです)
フロートクリアするダミー素子を追加する:
{XTYPE: 'コンポーネント'、 スタイル: 'クリア:両方' }

所望のようにそれが今示しています!

0

フィールドセットのデフォルトにflex: 1を追加すると、フィールドセットの境界内でフィールドが均等に配置されます。

+0

ありがとうございました。私はそれらが均等に配置されることを望んでいない、私はより小さいフィールドセットの境界線が欲しい。 – Gerrat

関連する問題