2 Slightly diffent version, the reason you were getting null is because 
col.dataField is just sdk ur not actually getting the value

<?xml version="1.0" encoding="utf-8"?>
<mx:WindowedApplication xmlns:mx="http://www.adobe.com/2006/mxml"; 
layout="vertical" xmlns:flexlib="flexlib.*">
<mx:Script>
<![CDATA[
private function showTotalData():void{
myText.text = returnTotalData(sdk);
}
private function returnTotalData(col:DataGridColumn):String{
var total:int=0;
for(var i:int=0;i<myModel.treeName.length;i++){
total += myDataGrid.dataProvider[i].total;
}
return total.toString();
}
]]>
</mx:Script>
<mx:Model id="myModel">
<root>
<treeName value="Flex" sdk="coders" total='1'/>
<treeName value="AIR" sdk="Adobe" total='2'/>
<treeName value="Flex" sdk="ORG" total='3'/>
</root>
</mx:Model>
<mx:DataGrid id="myDataGrid" dataProvider="{myModel.treeName}">
<mx:columns>
<mx:DataGridColumn dataField="value" id="myValue"/>
<mx:DataGridColumn dataField="sdk" id="sdk"/>
<mx:DataGridColumn dataField="total" id="mYtotal"/>
</mx:columns>
</mx:DataGrid>
<mx:Button label="Show Data" click="showTotalData()"/>
<mx:Text id="myText"/>
</mx:WindowedApplication>


?xml version="1.0" encoding="utf-8"?>
<mx:WindowedApplication xmlns:mx="http://www.adobe.com/2006/mxml"; 
layout="vertical" xmlns:flexlib="flexlib.*">
<mx:Script>
<![CDATA[
private function showTotalData():void{
myText.text = returnTotalData(sdk);
}
private function returnTotalData(col:DataGridColumn):String{
var total:int=0;
for(var i:int=0;i<myModel.treeName.length;i++){
total += myDataGrid.columns[i].total;
}
return total.toString();
}
]]>
</mx:Script>
<mx:Model id="myModel">
<root>
<treeName value="Flex" sdk="coders" total='1'/>
<treeName value="AIR" sdk="Adobe" total='2'/>
<treeName value="Flex" sdk="ORG" total='3'/>
</root>
</mx:Model>
<mx:DataGrid id="myDataGrid" dataProvider="{myModel.treeName}">
<mx:columns>
<mx:DataGridColumn dataField="value" id="myValue"/>
<mx:DataGridColumn dataField="sdk" id="sdk"/>
<mx:DataGridColumn dataField="total" id="mYtotal"/>
</mx:columns>
</mx:DataGrid>
<mx:Button label="Show Data" click="showTotalData()"/>
<mx:Text id="myText"/>
</mx:WindowedApplication>


----- Original Message ----
From: Harry Saputra <[EMAIL PROTECTED]>
To: [email protected]
Sent: Tuesday, February 5, 2008 9:17:36 AM
Subject: [flexcoders] Null Return when try to get total of sum from one field

I try this :

.mxml file :

...
<mx:DataGridColumn id="sks" headerText=" SKS" width="20" dataField="sks" />
...
<mx:Button x="685" y="10" label="Button" click="showTotalDat aTranskrip( )"/>
...

.as file :

[Bindable]
Public var lengthArrDataTranks rip:int;
public var total:Number;

public function totalDataTranskrip( col:DataGridColu mn):String
{

lengthArrDataTranks rip = arrDataTranskrip. length; //
arrDataTranskrip is DataProvider as Array

for (var i:int = 0; i < lengthArrDataTranks rip; i++)
{ 
total = total + Number(arrDataTrans krip[i][col. dataField] );
}

return String(total) ;

}

public function showTotalDataTransk rip():void
{
txtTotalSKS. text = totalDataTranskrip( sks);
}

I get Null Return...please help me to solve this problem, thanks :)





      
____________________________________________________________________________________
Be a better friend, newshound, and 
know-it-all with Yahoo! Mobile.  Try it now.  
http://mobile.yahoo.com/;_ylt=Ahu06i62sR8HDtDypao8Wcj9tAcJ 

Reply via email to