Изменить ширину столбца в Flex Grid - PullRequest
0 голосов
/ 23 июня 2009

Я использую mx.containers.Grid для размещения некоторых данных, а последний столбец представляет собой набор флажков.Фрагмент MXML-кода:

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

По сути, я хочу, чтобы метки и текстовые значения были выровнены так, как это удобно для компонента Grid.Однако я бы хотел, чтобы флажки были выровнены по правому краю.Я попытался установить ширину textValues ​​на 100%, и это ничего не делает.Я не хочу использовать жестко запрограммированные значения пикселей / холсты / и т. Д., Потому что важно, чтобы это было легко изменить / обновить.

Ответы [ 2 ]

0 голосов
/ 23 июня 2009

Попробуйте также установить ширину GridRow / GridItem на 100%.

0 голосов
/ 23 июня 2009

Я нашел решение, но это своего рода хак. Но я опубликую это для людей, которые имеют ту же проблему, что и я:

<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%" horizontalAlign = "right" "к каждому GridItem, который вы хотите выровнять по правому краю.

...