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 google-web-toolkit-contributors+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to