Okay, I made a little progress on this.  Instead of passing the
mx:model (which is an array) to my Grand Total function I'm now
passing the actual dataProvider which is an arrayCollection.  Now, new
forms show the grand total as well as previously existing forms being
edited.  That's where the data is held, not the model.  One last thing
to do, How can I get my grand total function to run last after the
arrayCollection is populated?

Dan

--- In flexcoders@yahoogroups.com, "nall_daniel" <[EMAIL PROTECTED]>
wrote:
>
> Thanks Ben,
>   I already use similar code with a labelFunction to do sub-totals
> within the grid and it works very well.  However, that code will only
> do calculations on a single row and not on an entire column.  The code
> I wrote for totaling a column works as well but not on a new form
> where the model has no data yet.  I would also like to run the code
> after the data model is populated (run the function last after all
> other code has run).  How can I iterate through a dataGrid when it
> holds the data and my model or the array doesn't have any data yet?
> 
> 
> 
> --- In flexcoders@yahoogroups.com, "bsdensmore" <bsdensmore@> wrote:
> >
> > a labelfunction will do the calculations as you tab through the fields
> > or as change rows on the grid.
> > 
> > I use this to do some calculations and it works great.
> > 
> > private function
> calcAdjAmount(item:Object,column:DataGridColumn):String {
> >              
> >              var adjustedAmt:Number;
> >              var emptyField:String = "";
> >              
> >  if (item['Num_Cases_Claimed'] != null) {
> >     adjustedAmt = item['Num_Cases_Claimed'] *
> > Number(removeFormatting.format(item['Net_Promo_Amt']));
> >                      
> >                      return 
> > basicCurrencyFormat.format(adjustedAmt.toString());
> >                      
> >              }
> >              else {
> >                     return emptyField;
> >              }
> >         }
> > Ben
> > 
> > --- In flexcoders@yahoogroups.com, "nall_daniel" <daniel.nall.ctr@>
> > wrote:
> > >
> > > No one has an answer to this? Or suggestions?
> > > 
> > > --- In flexcoders@yahoogroups.com, "nall_daniel" <daniel.nall.ctr@>
> > > wrote:
> > > >
> > > > I am using the CF/Flex Application Wizard to generate a basic form
> > > > based application.  I have a Master datagrid that list all the
> > > > purchase requests a user has submitted and a Detail form for
> editing a
> > > > request or submitting a new request.  The detail form has a
datagrid
> > > > as a subform. I pass the mx:model the wizard created of the
> subform's
> > > > data to this function:
> > > > 
> > > > [Bindable]
> > > > public var purchaseTotal:Number;
> > > > 
> > > > private function grandTotal(myArray:Array):void
> > > > {
> > > >    purchaseTotal = 0;
> > > >    var length:int = myArray.length;
> > > >    for (var i:int = 0; i < length; i++)
> > > >    {
> > > >       purchaseTotal += Number(myArray[i].Quantity *
> > myArray[i].UnitCost)
> > > >    }
> > > > }
> > > > 
> > > > I assign purchaseTotal variable to the text property of a
label and
> > > > run the function on the subform's datagrid.itemFocusOut event.
 Now
> > > > when a user is editing a purchase request, the grand total updates
> > > > when the user changes either the Quantity or the UnitCost. 
> Couple of
> > > > problems with what I'm doing:
> > > > 
> > > > 1. No grand total in the label until the user tabs or clicks
through
> > > > the datagrid subform.  How can I get my function to run after the
> > > > mx:model is created and populated with data?
> > > > 
> > > > 2.  New requests never show a grand total.  Where's the model's
> data? 
> > > > 
> > > > My apologies for being so long winded but I wanted to make sure
> what I
> > > > was doing is clear.
> > > > 
> > > > Cheers,
> > > > 
> > > > Dan
> > > >
> > >
> >
>


Reply via email to