You access the value in a column of a datagrid like this...
yourDataGrid.selectedItem["dataColumnNameOfColumn"]
--- In flexcoders@yahoogroups.com, "Craig" <craigj@...> 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.
> >
>