2009-06-23 6 views
0

Ich verwende ein mx.containers.Grid, um einige Daten zu gestalten, und die letzte Spalte ist eine Reihe von Kontrollkästchen. MXML-Code-Snippet:Ändern Sie die Spaltenbreite in Flex Grid

<mx:Grid width="95%" height="50%"> 
    <mx:GridRow id="row1"> 
    <mx:GridItem> 
     <mx:Label id="label1" ... /> 
    </mx:GridItem> 
    <mx:GridItem> 
     <mx:Label id="textValue1" ... /> 
    </mx:GridItem> 
    <mx:GridItem> 
     <mx:CheckBox id="checkBox1" /> 
    </mx:GridItem> 
    </mx:GridRow> 
    <mx:GridRow id="row2"> 
    <mx:GridItem> 
     <mx:Label id="label2" ... /> 
    </mx:GridItem> 
    <mx:GridItem> 
     <mx:Label id="textValue2" ... /> 
    </mx:GridItem> 
    <mx:GridItem> 
     <mx:CheckBox id="checkBox2" /> 
    </mx:GridItem> 
    </mx:GridRow> 
    <mx:GridRow id="row3"> 
    <mx:GridItem> 
     <mx:Label id="label3" ... /> 
    </mx:GridItem> 
    <mx:GridItem> 
     <mx:Label id="textValue3" ... /> 
    </mx:GridItem> 
    <mx:GridItem> 
     <mx:CheckBox id="checkBox3" /> 
    </mx:GridItem> 
    </mx:GridRow> 
</mx:Grid> 

Grundsätzlich möchte ich die Etiketten & Textwerte jedoch die Rasterkomponente auszurichten Gutdünken. Ich möchte jedoch, dass die Kontrollkästchen rechtsbündig sind. Ich habe versucht, die Breite der textValues ​​auf 100% einzustellen und es tut nichts. Ich möchte keine hartcodierten Pixelwerte/Canvases/etc verwenden, da es wichtig ist, dass dies leicht geändert/aktualisiert werden kann.

Antwort

0

Ich habe eine Lösung gefunden, aber es ist irgendwie ein Hack. Aber ich werde es Post für Menschen, die das gleiche Problem haben wie ich:

<mx:Grid width="95%" height="50%"> 
    <mx:GridRow id="row1" width="100%"> 
    <mx:GridItem> 
     <mx:Label id="label1" ... /> 
    </mx:GridItem> 
    <mx:GridItem> 
     <mx:Label id="textValue1" ... /> 
    </mx:GridItem> 
    <mx:GridItem> 
     <mx:CheckBox id="checkBox1" width="100%" horizontalAlign="right" /> 
    </mx:GridItem> 
    </mx:GridRow> 
    <mx:GridRow id="row2" width="100%"> 
    <mx:GridItem> 
     <mx:Label id="label2" ... /> 
    </mx:GridItem> 
    <mx:GridItem> 
     <mx:Label id="textValue2" ... /> 
    </mx:GridItem> 
    <mx:GridItem> 
     <mx:CheckBox id="checkBox2" width="100%" horizontalAlign="right"/> 
    </mx:GridItem> 
    </mx:GridRow> 
    <mx:GridRow id="row3" width="100%"> 
    <mx:GridItem> 
     <mx:Label id="label3" ... /> 
    </mx:GridItem> 
    <mx:GridItem> 
     <mx:Label id="textValue3" ... /> 
    </mx:GridItem> 
    <mx:GridItem> 
     <mx:CheckBox id="checkBox3" width="100%" horizontalAlign="right"/> 
    </mx:GridItem> 
    </mx:GridRow> 
</mx:Grid> 

Grundsätzlich hinzufügen ‚width =‚100%‘‘ zu jedem GridRow, und fügen Sie dann ‚width =‚100%‘ horizontalAlign = "right" 'zu jedem GridItem, das rechts ausgerichtet werden soll.

0

Versuchen Sie, die Breite von GridRow/GridItem ebenfalls auf 100% zu setzen.