Hello,
I have a dataprocessor for a grid. I recently switch from
oDPGrid.setUpdateMode(“off”);
oDPGrid.setTransactionMode(“POST”, true);
to this:
oDPGrid.setUpdateMode(“cell”);
oDPGrid.setTransactionMode(“POST”, false);
But now for some reason, the update is sent “TWICE” to the server. Why is it sending the update 2 times?
In “cell” mode, update will be sent after value of any cell was changed. So if you edit two cells in the same row - the update will be sent for each edit operation.
If you have double sending after editing a single cell - please try to include dhtmlxdataprocessor_debug.js in addition to existing files - it will show exact chain of events, which causing data sending. If it still not clear - please provide content of debug console ( generated by _debug.js ) for incorrect scenario.
The content of log is pretty weird , it seems that client side code sends data twice without any logical reason.
Which version of dataprocessor you are using?
Please try to update existing js files to the attached ones ( backward compatible )
Also, by any chance, are you have direct calls for dp.sendData or dp.setUpdated in your code?
codebase.zip (13.9 KB)
Ok, I will try to update the file with the one you sent.
And yes, I do have direct calls to dp.sendData(). If you notice in the debug file I sent, I provide a link in the last column to “delete” each row. The “delete” link calls javascript which does the following:
oGrid.deleteRow(rowId);
oDPGrid.sendData(rowId);
Does this cause a problem?
oGrid.deleteRow(rowId);
>>oDPGrid.sendData(rowId);
>>Does this cause a problem?
Yes. When using “cell” update mode, the grid will send data request automatically after any data changing operation. So, when deleteRow executed grid sends data to the server , and after that you are initiating second data sending by oDPGrid.sendData
To resolve issue just remove sendData command or change dataprocessor to different update mode.
Thank you! That fixed it!