Sorry - I ran the code, and made the following comment, but didn't yet post until I could do a little more analysis of the original issue:

Thanks for the updated examples - it turns out this is a slightly different bug, but can be fixed fairly simply - some bookkeeping needed to make update work correctly is incorrectly checking if that item is visible.

The original issue is a little more complex - the bug is roughly that the TreeGrid only expects StoreDataChangedEvents to mean that new items were loaded, not that existing items should be cleared. Removing this assumption mostly means that a few items should be removed before inserting the new, but some state details like expand/collapsed might be lost. This isn't necessarily a bad thing, since data changed implies that items were completely replaced, as opposed to having been updated.

The more recent bug fix will be committed soon, but the more complex issue will require additional testing/verification before I'll be confident enough in risking pushing it out as 'correct'.

Thanks for the reminder, and again, my apologies on the delay in getting back to you.