Configuration:
ListGrid is configured with dataProperties having useClientFiltering:false and useClientSorting:false. We have custom sorting/filtering implementation on the server and do not rely on local implementation.
Scenario:
There are less than a page of results in a list grid and filterData is invoked on the data source. Make sure the list is sorted on some column.
Issue:
The cache gets invalidated and as a result the list flashes. As a side effect currently selected record is not restored.
Investigation:
I noticed the cache gets invalidated in ResultSet.updateCacheData right near the bottom of the method there is a piece of code that changed in SC v9.1 on 2014-08-08:
the call to allMatchingRowsCached was newly added in that version of smart client. Commenting it out made it work correctly.
Could you offer explanation for this change and potential ideas to resolve it?
SmartClient Version:
v9.1p_2014-09-30/Pro Deployment (built 2014-09-30). Occurs on all browsers.
ListGrid is configured with dataProperties having useClientFiltering:false and useClientSorting:false. We have custom sorting/filtering implementation on the server and do not rely on local implementation.
Scenario:
There are less than a page of results in a list grid and filterData is invoked on the data source. Make sure the list is sorted on some column.
Issue:
The cache gets invalidated and as a result the list flashes. As a side effect currently selected record is not restored.
Investigation:
I noticed the cache gets invalidated in ResultSet.updateCacheData right near the bottom of the method there is a piece of code that changed in SC v9.1 on 2014-08-08:
Code:
if(!filteringOnClient && (!this.shouldUpdatePartialCache()) || this.allMatchingRowsCached())) { this._doSort() }
Could you offer explanation for this change and potential ideas to resolve it?
SmartClient Version:
v9.1p_2014-09-30/Pro Deployment (built 2014-09-30). Occurs on all browsers.
Comment