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 [email protected], "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 [email protected], "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 [email protected], "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 [email protected], "nall_daniel" <daniel.nall.ctr@> > > > wrote: > > > > > > > > No one has an answer to this? Or suggestions? > > > > > > > > --- In [email protected], "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 > > > > > > > > > > > > > > >

