Posted 29 May 2018, 9:33 am EST
I have a flexgrid bound to an ODataVirtuallCollectionView
The OData endpoint in question does implement the initial selection and subsequent requests for paged data, but doesn’t implement the update endpoint.
For my purposes this is by design; I subscribe to beginningEditNg and cellEditEndedNg and have custom processing. In the network debug tab, I can see the virtualised updated failing with a 404.
Where this falls down is that the failed attempt to call the update method seems to leave the flexgrid in an odd state. After I’ve edited a cell in place at the top of the grid, I scroll down, and the newly paged in data is not rendered.
In the network tab, I can see the http call that loads in the the next page of data, but the rows that represent the new data are all blank. It’s only when I physically click on a blank cell, that all of the blank cells are instantly rendered (and I’ve confirmed there’s no additional fetch at this point - the data has already been successfully brought back).
It’s as if the update failure interrupts beginUpdate / endUpdate in the background.
I’ve tried refreshCells() and variants but this makes no difference.
Is there anything I can do to either
- Intercept the failing update and ignore the error without returning the grid cells back to their pre-edit state
or
- Reliably force the grid to repaint from whatever data is currently in the underlying items array
?
