So I’ve created a custom connector in the hope to enable partial data sends via the DataProcessor.
I’d like to use a grid to display the fields, then provide a popup window/form for the user to make edits.
I linked the DataProcessor to the DataStore, then the Grid to the DataStore and the Form to the grid. However when I did this it appeared the partial data send didn’t work. It was almost like the datastore refreshed all the data in the row upon the form.save().
So I tried instead to cut the datastore and grid (syncing) out of it and and simply link my form directly to the DataProcessor. This also did not send a partial dataset, but sent the entire fieldset was sent on the form.save().
Am I missing something? Is it possible to use the form and send a partial data set? I was able to send the partial data set when editing directly in a grid linked via the DataProcessor.
Thanks,
Brian
Sorry, but the only way when partial data sending can be used is when you are changing data directly in the grid, and using dataprocessor against the grid as well.
When you are saving data from form to the grid, it updates all fields, so information about really changed field is not preserved
It turns out I’m going to be required to send only the partial data.
So if I wanted to still use the validation and data handling of the Form/DataProcessor would it make sense to use the “setUpdated” API call in the DataProcessor to manually deselect the fields that didn’t change value?
Or is there an easier way I should go about this?
Thanks,
Brian
The only way to use enablePartialDataSend
- link dataProcessor to the component directly
- do not use external form, but use inline editors
I know this is starting to get well outside the box, but is there any brief examples you can show to me on how to do this?
Thanks,
Brian
You can find different simple examples of the dhtmlxGrid with dhtmlxDataProcessor by the following link:
dhtmlx.com/docs/products/dhtmlxG … processor/
For enabling the partial data send please, try to call enablePartialDataSend(true) before the init of the dataprocessor.
For example:
myGrid = new dhtmlXGridObject('gridbox');
...
myDataProcessor = new dataProcessor("php/update.php");
myDataProcessor.enablePartialDataSend(true);
myDataProcessor.init(myGrid);
In this case partial data send will work correctly with editing data in the grid. Only the updated cell will be sent to the server.
Note, that the method will work only with direct connection of grid and dataprocessor. Also the the method usage is not available with dhtmlxConnector.