2009-06-23 70 views
0

我正在使用mx.containers.Grid来布局一些数据,而最后一列是一组复选框。 MXML代码片段:更改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> 

基本上,我想不过标签&文本值对齐网格组件认为合适。但是,我希望复选框右对齐。我试过将textValues的宽度设置为100%,它什么都不做。我不想使用硬编码的像素值/画布/等,因为重要的是这很容易更改/更新。

回答

0

我找到了一个解决方案,但它是一种破解。基本上

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

,添加“WIDTH =‘100%’:”每一个GridRow,然后添加“WIDTH =‘100%’:但我会后谁是有同样的问题的人,因为我是horizo​​ntalAlign =“right”'给每个你想要对齐的GridItem。

0

尝试将GridRow/GridItem的宽度设置为100%。