I am trying to update the display of an XMLListCollection in a 2-column DataGrid but I am getting crazy results.
The XMLListCollection contains following data: <item><order>1</order><content>AAA</content></item> <item><order>2</order><content>BBB</content></item> <item><order>3</order><content>CCC</content></item> <item><order>4</order><content>DDD</content></item> I am providing the user with two buttons to raise or lower the content within the XMLListCollection. For example, if the user selects the 'CCC' row and clicks the 'RaiseButton' then the XMLListCollection will change to: <item><order>1</order><content>AAA</content></item> <item><order>2</order><content>CCC</content></item> <item><order>3</order><content>BBB</content></item> <item><order>4</order><content>DDD</content></item> Note that the order field is recalculated to always be increasing - and the content field is reordered. I've created a new Class that extends XMLListCollection with two new functions: 'raiseItem' and 'lowerItem'. These new functions take copies of the XML for the 'BBB' row and the 'CCC' row, and then rely upon the XMLListCollection function 'setItemAt' to do the reordering. The underlying XMLList is then sent to a server for processing. This seems to work perfectly and traces of the XMLListCollection always seem correct. Unfortunately the XMLListCollection display in the DataGrid fails to keep up with changes in the underlying data. I've tried lots of combinations of 'invalidateDisplayList', 'invalidateList', 'validateNow', 'refresh' and 'sort'. I've tried nullifying and resetting the 'dataProvider'. And I've tried copying over the entire list XMLListCollection one element at a time into a new display version of the XMLListCollection. Often I get duplicate display rows, but sometimes I get the entire list displayed in reverse?! I suspect the itemRenderers aren't getting the message that they should be refreshing (one column uses the 'labelFunction' and the other has a not-too-complicated custom itemRenderer). How would I go about invalidating the display of *each* itemRenderer individually? What else should I try?? Thanks!

