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.