在dataaprovider中为数据网格转换值

时间:2013-08-13 09:19:50

标签: flex datagrid dataprovider

我有一个dataprovider,它是一个简单字符串值的ArrayCollection。我需要在我的数据网格中呈现这些字符串之前进行翻译。我怎么能这样做?

请注意,我不想将其复制到具有已翻译值的新ArrayCollection,因为我允许内联编辑更新数据提供者源。

当前数据网格没有转换数据提供者中的值

<mx:DataGrid width="100%" height="100%" id="contactInfoGrid"
                                 dataProvider="{model.selectedCustomer.contacts}"
                                 editable="true" itemEditEnd="contactInfoChanged(event)">
                        <mx:columns>
                            <mx:DataGridColumn width="200" dataField="type" editable="false"
                                               headerText="{resourceManager.getString('customer','customer.contactInformation.type')}"/>
                            <mx:DataGridColumn width="300" dataField="value" editable="true"
                                               headerText="{resourceManager.getString('customer','customer.contactInformation.value')}"/>
                            <mx:DataGridColumn editable="false" headerText="{resourceManager.getString('customer','general.remove')}">
                                <mx:itemRenderer>
                                    <mx:Component>
                                        <mx:VBox horizontalAlign="center">
                                            <controls:RemoveLinkButton visible="true" label=""  click="outerDocument.removeContactInfo(event)"/>
                                        </mx:VBox>
                                    </mx:Component>
                                </mx:itemRenderer>
                            </mx:DataGridColumn> 
                        </mx:columns>
                    </mx:DataGrid>

1 个答案:

答案 0 :(得分:1)

您需要:

  • 翻译dataprovider本身的值。我不确定你是否愿意这样做,因为你会改变数据来源。
  • 将标签函数添加到datagrid列并返回每个单元格的翻译文本