2012-01-02 15 views
6

Ho il problema di impostare la larghezza di ciascun pulsante di opzione nel gruppo radio.ExtJS 3.4 Spegnimento per Radiogroup

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' } 
     ] 
    } 
] 

Ho impostato la larghezza di ciascun pulsante di opzione ma non funziona correttamente. Perché questo radiogruppo si allunga come la stessa larghezza della colonna e ignora la larghezza: 40? Come ho impostato la larghezza per ciascun pulsante di opzione?

+0

Penso che questo è causato dal layout scelto. Sembra ignorare la larghezza degli elementi figlio. Ma questa è solo un'ipotesi ... – sra

+0

@sra Penso che non sia un problema di layout perché la larghezza del pulsante radio funziona bene senza il gruppo radio. – ShootingStar

risposta

7

Per impostazione predefinita Gruppo combinato/Gruppo radio utilizza la colonna Layout per allineare gli elementi raggruppati. e che usa 'auto' come valore predefinito se non è impostato nient'altro.

I controlli saranno resi uno per colonna su una riga e la larghezza di ciascuna colonna sarà distribuito in modo uniforme in base alla larghezza del contenitore di campo complessiva . Questo è l'impostazione predefinita.

In base all'API si tratta di un problema di layout. Nota che ExtJS usa i layout di default se non ne definisci uno. Quindi cambia il layout o prova se columns: 1 risolve il problema.

API-Link

EDIT: Sulla base del commento la risposta corretta è columns: [40, 40, 40, 40]

+0

Grazie @sra. Ho provato 'colonne: 1' in Ext Designer ma non posso inserire 1. Sembra un bug. Certo, funziona dopo la modifica manuale. Per le altre persone, voglio dare ogni larghezza per ogni pulsante di opzione. Colonna: 1 non è la risposta che voglio perché crea un array di pulsanti radio verticali. La risposta sarà "colonne: [40, 40, 40, 40]". Grazie ancora – ShootingStar