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


Reply via email to