2011-03-23 49 views
3

如何在Flex數據網格中創建計算列? 例如:數據網格計算列

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

如何計算這個數據網格「差額」欄目(這應該是其他兩米欄的差),放什麼在此列的dataField屬性?

感謝

回答

4

我會採取以下兩種方法之一:

  1. 創建您在數據網格這樣的顯示類的新屬性:

    公共職能得到差() :Number { return replacedHrs - absentHrs; }

    然後設置差異作爲列的數據字段。

  2. 或者,創建一個標籤函數,該函數返回兩個字段的差異並設置該字段而不是dataField。

+0

那麼我不想使用這些方法。我想知道是否有任何由datagrid提供的內置功能來實現這種便利?謝謝。 – Tintin 2011-03-23 17:56:05

+0

是的,labelFunction是內置的功能。你應該使用它。 – sean 2011-03-23 18:21:29

+4

爲什麼你不想使用這些方法?這是做事的正確方式。 Datagrid不做數據計算,這不是很好。 – 2011-03-23 19:53:36