Hi,
I have a problem propagating to my ListGrids some changes happened at the server side.
Before showing the edit form for a record in my DataSource I trigger a fetch - by id - and subsequently an updateCaches() on my datasource, BUT my listgrids still continue showing the old record data.
Provided that:
* The fetch by id is done in order to ensure the editing of the most current data.
* The above mentioned listgrids are filtered or full views on the same datasource instance.
* I'm not talking about an UPDATE operation (this works fine), but only about the integration of my fetch by id with the listgrids local cache.
I found that only calling invalidateCache() on listgrids seems to actually refresh their data, but this always lead to another roundtrip with the server (in other words another fetch).
I am using my datasource - actually a RestDataSource - as a virtual table, and the server always returns ALL the rows for all data fetches, cause I want to use only client-side filtering. The only exception to this logic is the fetch by id, served with only the record whose pk matches the passed id param.
The question is:
how can I notify the listgrids of underlying data changes without triggering a fetch to the server?
I'd expect that updateCaches() triggers a "refresh" of each listgrid resultset and consequently a "refresh" of the widget. What did I miss?
At client side I'm using
SmartClient Version: 8.0/LGPL Development Only (built 2010-05-18)
GWT 2.0.4
Firefox 3.6.9
at server side Grails 1.3.4
Kind regards
Davide
I have a problem propagating to my ListGrids some changes happened at the server side.
Before showing the edit form for a record in my DataSource I trigger a fetch - by id - and subsequently an updateCaches() on my datasource, BUT my listgrids still continue showing the old record data.
Provided that:
* The fetch by id is done in order to ensure the editing of the most current data.
* The above mentioned listgrids are filtered or full views on the same datasource instance.
* I'm not talking about an UPDATE operation (this works fine), but only about the integration of my fetch by id with the listgrids local cache.
I found that only calling invalidateCache() on listgrids seems to actually refresh their data, but this always lead to another roundtrip with the server (in other words another fetch).
I am using my datasource - actually a RestDataSource - as a virtual table, and the server always returns ALL the rows for all data fetches, cause I want to use only client-side filtering. The only exception to this logic is the fetch by id, served with only the record whose pk matches the passed id param.
The question is:
how can I notify the listgrids of underlying data changes without triggering a fetch to the server?
I'd expect that updateCaches() triggers a "refresh" of each listgrid resultset and consequently a "refresh" of the widget. What did I miss?
At client side I'm using
SmartClient Version: 8.0/LGPL Development Only (built 2010-05-18)
GWT 2.0.4
Firefox 3.6.9
at server side Grails 1.3.4
Kind regards
Davide
Comment