A problem in dataProcessor

when partial data send and validation are both enabled in dataProcessor, the main code is below:

dp.setUpdateMode("off"); dp.enablePartialDataSend(true); dp.setVerificator(1, function(v, id, col) { //my own logic code }); dp.attachEvent("onValidationError", function(id, details) { //my own logic code });
If the validation fails, the grid will clear the wasChanged state, the corresponding code is:
in dhtmlxgrid.js

dp.checkBeforeUpdate=function(rowId){ …… …… if (!valid){ this.set_invalid(rowId,"invalid",c_invalid); //******************start********************* //Once the validation fails, the wasChanged of cell will be set false. this.setUpdated(rowId,false); //*******************end********************* } …… …… };
And when the validation fails, the problem occurs, for example:
the grid has 3 columns,

grid.setHeader("A,B,C");

If I modify all the column cells in a row, the wasChanged property of cells will all be true after update finish, but when I call method:

dp.sendData();

if the validation in A(the first column cell) is failed, all wasChanged property of three column will be set false(but value in column cell B and C are valid, they should preserve the wasChanged property), the I change value in column cell A to be valid, then send the data again:

dp.sendData();

right now only value in cell A is submit to server, cell B and C are not.

Hi,

Yes, you are right. Current logic resets all data in the row and doesn’t work correctly with partial data sending.

If you have an active license, please open ticket at support.dhtmlx.com

Actually, I could resolve the problem by myself, I just report it for your reference, if you think it’s need to improve the problem, you can do it in future version, if not, just ignore it.