Apache flex 数据网格计算列

Apache flex 数据网格计算列,apache-flex,actionscript-3,Apache Flex,Actionscript 3,如何在FlexDataGrid中生成计算列? 例如: <mx:DataGrid dataProvider="{ConsoleDetails}" id="datagrid"> <mx:columns> <mx:DataGridColumn headerText="Absent Hrs" dataField="absentHrs"/> <mx:DataGridColumn headerText=Replaced Hrs" dataFiel

如何在FlexDataGrid中生成计算列? 例如:

<mx:DataGrid dataProvider="{ConsoleDetails}" id="datagrid">
  <mx:columns>
    <mx:DataGridColumn headerText="Absent Hrs" dataField="absentHrs"/>
    <mx:DataGridColumn headerText=Replaced Hrs" dataField="replacedHrs"/>
    <mx:DataGridColumn headerText="Difference" dataField="<WHAT TO PUT HERE>"/>                
  </mx:columns>
</mx:DataGrid>


我将采取两种方法之一:

  • 在datagrid中显示的类上创建一个新属性,如下所示:

    公共函数get difference():Number{ 返回替换DHRS-absentHrs; }

    然后将difference设置为列的数据字段

  • 或者,创建一个label函数,返回两个字段的差值,并将其设置为该值,而不是数据字段


  • 我不想用这两种方法中的任何一种。我想知道datagrid是否为这种便利提供了任何内置功能?谢谢。是的,labelFunction是内置的功能。你应该用这个。为什么你不想用这些方法呢?这是正确的做事方式。Datagrid不进行数据计算,这不是excel。