See (in no particular order): - https://code.google.com/p/google-web-toolkit/issues/detail?id=7072 - https://code.google.com/p/google-web-toolkit/issues/detail?id=7114 - https://code.google.com/p/google-web-toolkit/issues/detail?id=6686 (which you actually found) What change to the documentation would you propose? Made it clear(er) that getList will return a new object after setList is called?
And as one of the above-linked issues points out, an alternative to clearn/addAll is to setList on the ListHandler (using the getList of the ListDataProvider) each time you setList on the ListDataProvider. On Monday, July 29, 2013 9:36:40 PM UTC+2, stuckagain wrote: > > Hi, > > I tried to discuss this in the GWT google groups, but I did not get any > feedback there. I figured since this was a strange design choice in GWT > that I should discuss it here: > > I just lost 2 hours on getting client side sorting to work correctly in my > DataGrid backed by a ListDataProvider. I was using the > ColumnSortEvent$ListHandler class that was mentioned in the documentation > to handle the client-side sorting. > > I was calling setList( rows ) on the DataProvider to update the table. > When you call setList, the DataGrid is being updated correctly. But > clicking on a column to sort (client side) does not work, nothing is being > sorted. > > I did some investigation an the problem is actually very simple. The The > ColumnSortEvent$ListHandler class takes a List as argument instead of the > ListDataProvider. When you call setList() on the DataProvider a new wrapper > is created and so the ListHandler is looking at the wrong one (the empty > list in my case hence no sort effect at all). > > Wouldn't it be better that the ListHandler would keep a reference to the > ListDataProvider instead of using the List ? Then it can call getList() on > it when a sort is needed. > > It is now a bit asymetric: calling setList() updates the table rows, but > the sorter does not know... I am sure many many people fall in this trap! > At least the documentation should maybe point this out. I just replaced > the ListHandler with my own that just calls getList() on the > ListDataProvider everytime a sort is needed, that works completely > transparently. I don't want to create and reconfigure a ListHandler every > time I update the table data. > > calling clear() and addAll() is an alternative, but it is awkward and > should at least be documented. > > David > -- http://groups.google.com/group/Google-Web-Toolkit-Contributors --- You received this message because you are subscribed to the Google Groups "GWT Contributors" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/groups/opt_out.
