Flex Datagrid 列对齐数字

Posted

技术标签:

【中文标题】Flex Datagrid 列对齐数字【英文标题】:Flex Datagrid Column Align for numbers 【发布时间】:2012-11-18 07:28:41 【问题描述】:

我有一个数据网格,我想在其中对齐某些列,使文本居中对齐(标题文本和数据)。当数据是数字时,我需要以右对齐的方式对齐,保持总列中心对齐属性。请看图片。

【问题讨论】:

您可以为您的类型创建自定义 ItemRenderer。之后使用 itemRendererFunction ,您可以在其中查看数据类型并返回 ItemRenderer 类型。 DataGridColumn 也有样式 textAlign 并且你可以使用它。 @lexus.pp 如何设置 DataGridColumn 样式?我找不到该类的 setstyle 方法。是否可以为不同的列指定不同的对齐方式? 【参考方案1】:

这是一个在不同列中具有不同样式的示例。

<s:ArrayList>
    <s:GridColumn id="dgFamilyRegisterLine" 
                  labelFunction="dgFamily.getRowNumber(dgFamily.dataProvider)"
                  sortable="false">
                        <s:itemRenderer>
                            <fx:Component>
                                <s:DefaultGridItemRenderer color="0x888888"
                                                           fontStyle="italic"
                                                           textAlign="right"/>
                            </fx:Component>
                        </s:itemRenderer>
                    </s:GridColumn>
    <s:GridColumn dataField="code" headerText="code" minWidth="250"/>
    <s:GridColumn dataField="designation" headerText="designation" minWidth="250"/>                     
    <s:GridColumn dataField="isEnabled" headerText="isEnabled" minWidth="70">
        <s:itemRenderer>
          <fx:Component>    
            <s:GridItemRenderer>
              <s:layout>
                <s:HorizontalLayout horizontalAlign="center" verticalAlign="middle"/>
              </s:layout>
              <s:Image visible="(data.isEnabled=='1')?true:false"
                                             source="@Embed(source='assets/images/check.png')"/>    
            </s:GridItemRenderer>
          </fx:Component>
        </s:itemRenderer>
    </s:GridColumn>
 </s:ArrayList>

【讨论】:

以上是关于Flex Datagrid 列对齐数字的主要内容,如果未能解决你的问题,请参考以下文章

flex中如何使DataGrid中的表头居中,下面的记录右对齐?

Flex DataGrid 标题列分隔符

在 Flex DataGrid 中显示复选框列

将 DataGrid 列标题居中对齐

在 FLEX 中动态改变 Datagrid 列的宽度

大家好,请问Flex4.5 的DataGrid怎么才能交换列的位置(拖动) spark.components.DataGrid