Got it.  The CF/Flex wizard will generate an ArrayCollection variable
to hold the data for a datagrid sub-form.  It will also generate a
function "get_result()" that gets all the data for the entire form.  I
placed a call to my grand total function as the last line in
get_result() and voila!  Now the grand total appears immediately after
the dataGrid fills with data and changes whenever the grid changes.

Gotta love this stuff

Dan
--- In flexcoders@yahoogroups.com, "nall_daniel" <[EMAIL PROTECTED]>
wrote:
>
> 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" <daniel.nall.ctr@>
> 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