It was this level of fiddling about that I didn't really want to have
to get into, but I've managed to limit it to the following:
<mx:DataGrid id="grdSummary"
creationComplete="{ArrayCollection(grdDetail.dataProvider).addEventListener(CollectionEvent.COLLECTION_CHANGE,
makeSummary)};makeSummary()"/>
private function makeSummary(event:CollectionEvent = null):void {
var mCount:uint = 0;
var iCount:uint = 0;
var sCount:uint = 0;
var source:ArrayCollection = grd.dataProvider as ArrayCollection;
for (var i:uint=0; i < source.length; i++) {
var user:SimpleUser = SimpleUser(source[i]);
if (user.dept == "Management") {
mCount++;
}
if (user.dept == "IT") {
iCount++;
}
if (user.dept == "Support") {
sCount++;
}
}
var summary:ArrayCollection = new ArrayCollection();
summary.addItem({Department:'Management', count: mCount});
summary.addItem({Department:'IT', count: iCount});
summary.addItem({Department:'Support', count: sCount});
grdSummary.dataProvider = summary;
}
Thanks for all your help.
David.