2012-01-02 6 views
6

ラジオグループの各ラジオボタンの幅を設定する際に問題があります。ExtJS 3.4ラジオグループストレッチオフ

xtype: 'container', 
id: 'cntCompany', 
layout: 'hbox', 
fieldLabel: 'Company', 
items: [ 
    { 
     xtype: 'radiogroup', 
     id: 'rdogrpCompany', 
     items: [ 
      { id: 'rdoIT', boxLabel: 'IT', name: 'rdoCompany', inputValue: 'IT', width: 40, checked: true }, 
      { id: 'rdoCOMMS', boxLabel: 'COMMS', name: 'rdoCompany', width: 40, inputValue: 'Comms' }, 
      { id: 'rdoGROUP', boxLabel: 'GROUP', name: 'rdoCompany', width: 40, inputValue: 'Group' }, 
      { id: 'rdoALL', boxLabel: 'ALL', name: 'rdoCompany', width: 40, inputValue: 'All', margins: '0 0 0 30' } 
     ] 
    } 
] 

各ラジオボタンの幅を設定しましたが、正しく動作しません。 なぜこのradiogroup strech同じ幅の列と無視幅:40? 各ラジオボタンの幅はどのように設定しますか?

+0

です。子アイテムの幅をオーバーライドするようです。しかし、これは単なる推測です... – sra

+0

@sraラジオボタンなしでラジオボタンの幅がうまく動作するので、レイアウト上の問題ではないと思います。 – ShootingStar

答えて

7

デフォルトでは、Combo-Group/Radio-Groupはレイアウトの列を使用してグループ化された要素を揃えています。何も設定されていなければデフォルト値として 'auto'を使用します。

コントロールは、一つの行の列ごとにレンダリングされ、各列の幅は 均等全体フィールドコンテナの幅に基づいて配布されます。これがデフォルトです。

これはレイアウト上の問題です。 ExtJSは、定義していない場合はデフォルトのレイアウトを使用します。レイアウトを変更するか、columns: 1で問題を解決してみてください。

API-Link

EDIT: コメントに基づいて、正しい答えは、私は、これはあなたが選択したレイアウトによって引き起こされると考えcolumns: [40, 40, 40, 40]

+0

ありがとう@スラ。 Ext Designerで 'columns:1'を試しましたが、1は入力できません。バグのようです。もちろん、手動で編集した後に動作します。他の人には、各ラジオボタンの幅をそれぞれ指定したいと思います。列:垂直ラジオボタン配列を作るので、1は私が欲しい答えではありません。答えは「列:[40,40,40,40]」です。ありがとうございました – ShootingStar