You access the value in a column of a datagrid like this... yourDataGrid.selectedItem["dataColumnNameOfColumn"]
--- In flexcoders@yahoogroups.com, "Craig" <cra...@...> wrote: > > I GIVE UP!! I have tried everything!!.. I have a dataGrid that binds to > an ArrayCollection. I need to change the value of one columen (Profit) > based on the value of another column (Kind) ie.. the results (either > 'LONG' or SHORT'). Here is where I'm at. I've tried putting code into > customer DataGridColumns and labelFunctions and ItemRenderers... but can > not do it. What seem to be working most are events in the DataGrid > Component, better than others, but comparing values in a DataGrid is > obviously impossible. > > Somehow I need the code to access ArrayCollection getItemat() but I > can't do it! > > Please help! > > <mx:DataGrid xmlns:mx="http://www.adobe.com/2006/mxml" > initialize="initTA()"> > > <positions:KindColumn id="Kind" > headerText="Kind" > dataField="Kind" > itemRenderer="com.steury.baseClasses.CellFieldTrd"/> > <positions:ProfitColumn id="Profit" > headerText="Profit"/> > > <mx:Script> > <![CDATA[ > import mx.collections.ArrayCollection; > import com.steury.baseClasses.*; > import mx.core.Application; > import mx.controls.dataGridClasses.DataGridListData; > import flash.events.Event; > import mx.core.ClassFactory; > import com.steury.controls.positions.*; > import mx.controls.dataGridClasses.DataGridColumn; > import mx.controls.DataGrid; > > private function initTA():String { > if (value[Kind.dataField]=="LONG")Profit.dataField="Profit"; > if > (value[Kind.dataField]=="SHORT")Profit.dataField="ShProfit"; > Profit.itemRenderer=new > ClassFactory(com.steury.baseClasses.CellFieldInt); > return myDec.format(Profit)+"%"; > } > > > > > > > > > --- In flexcoders@yahoogroups.com, "Craig" <craigj@> wrote: > > > > I am trying to access the value of a DataGridColumn and change the > > DataField for another column based on this value... > > Here is my code: > > > > <?xml version="1.0" encoding="utf-8"?> > > <mx:DataGrid xmlns:mx="http://www.adobe.com/2006/mxml" > > creationComplete="getDp()" > > > > > ... Datagrid> > > <mx:columns> > > <mx:DataGridColumn dataField="Ticker" > > headerText="Ticker"/> > > <mx:DataGridColumn id="Kind" > > dataField="Kind" > > itemRenderer="com.steury.baseClasses.CellFieldTrd" /> > > <mx:DataGridColumn id="Profit" > > headerText="Profit"/> > > > > ActionScript: > > > > private function getDp():void { > > > if(Application.application.CnvPos.dgOrdExt.selectedItem.Kind=="LONG")Pro\ > \ > > > fit.dataField="Profit";Application.application.CnvPos.dgOrdExt.refresh()\ > \ > > ; > > } > > > > > > //This code works find if I use > > > > if(Kind.DataField="Kind")Profit.dataField="Profit"; > > > > //above to test the rest of the code. > > > > I can not figure out how to access the value of the Datagridcolumn. I > > have tied using event listeners, etc.. which did not work. Please let > > me know if anyone can help this fairly simple dilemma. > > >