Hi all,
We are using a cubegrid with more than 250 columns on a Rest DS. I'm sorry but I can't provide a complete standalone test case, but as I have tested extensively locally in a sample environment, I think I have most of the informations required...
We update a cell in an area to the right of the visible screen. This cell is not loaded yet from the data source. The update is done like this:
If we scroll to view the updated data, it will be shown as updated (in blue) and a call to cubeGrid.applyChanges() will succeed and trigger the callback.
If we don't scroll to view the updated data, the existing record is not fetched to the client from the DataSource. When calling cubeGrid.applyValues(), the remote datasource is updated consistently but the local callback is never called and we get the following exception:
Can you see why this is happening ?
It does not happen if we display the target cell before or after the call to setEditValue(...).
Best regards,
Browser: All (but mostly tested on Chromium)
Execution mode: Built with Maven and deployed as a WAR, no development mode involved.
SmartClient Version: v8.3p_2013-06-03/PowerEdition Deployment (built 2013-06-03) Note: we have the same issue with a 3 months old build, so this does not seem to be a recent regression.
We are using a cubegrid with more than 250 columns on a Rest DS. I'm sorry but I can't provide a complete standalone test case, but as I have tested extensively locally in a sample environment, I think I have most of the informations required...
We update a cell in an area to the right of the visible screen. This cell is not loaded yet from the data source. The update is done like this:
Code:
String updatedValue = "" + random.nextInt(1000); FacetValueMap valueMap = new FacetValueMap(); valueMap.addMapping("FirstName", "David-00"); valueMap.addMapping("LastName", "Durand-00"); valueMap.addMapping("Period", "P300"); int calcRow = cubeGrid.getFacetValuesRow(valueMap); int calcCol = cubeGrid.getFacetValuesColumn(valueMap); cubeGrid.setEditValue(calcRow, calcCol, updatedValue); logger.info("Value set to " + updatedValue + " at " + calcRow + "/" + calcCol);
If we don't scroll to view the updated data, the existing record is not fetched to the client from the DataSource. When calling cubeGrid.applyValues(), the remote datasource is updated consistently but the local callback is never called and we get the following exception:
Code:
15:26:01.652:XRP3:WARN:Log:TypeError: Cannot set property '81' of undefined Stack from error.stack: CubeGrid.setRawCellValue() @ heliosweb/sc/modules/ISC_Analytics.js:74:219 CubeGrid.displayUpdatedDSRecord() @ heliosweb/sc/modules/ISC_Analytics.js:65:685 ListGrid._editCompleteCallback() @ heliosweb/sc/modules/ISC_Grids.js:1738:6 ListGrid._updateRecordReply() @ heliosweb/sc/modules/ISC_Grids.js:1728:6 eval() @ eval at <anonymous> (http://localhost:8080/HeliosWeb/heliosweb/sc/modules/ISC_Core.js:63:76), <anonymous>:2:22 [c]Class.fireCallback() @ heliosweb/sc/modules/ISC_Core.js:256:49 [c]Class.fireCallback() @ heliosweb/sc/modules/ISC_Core.js:311:302 DataSource.fireResponseCallbacks() @ heliosweb/sc/modules/ISC_DataBinding.js:639:13 DataSource._completeResponseProcessing() @ heliosweb/sc/modules/ISC_DataBinding.js:637:6 DataSource._handleJSONReply() @ heliosweb/sc/modules/ISC_DataBinding.js:532:6
It does not happen if we display the target cell before or after the call to setEditValue(...).
Best regards,
Browser: All (but mostly tested on Chromium)
Execution mode: Built with Maven and deployed as a WAR, no development mode involved.
SmartClient Version: v8.3p_2013-06-03/PowerEdition Deployment (built 2013-06-03) Note: we have the same issue with a 3 months old build, so this does not seem to be a recent regression.
Comment