Partial record Rollback?

Hi,

I’m having the wish to be able to rollback some records NOT all the records on a form.
My table has a lot of cols, so the data is spread over multiple tabpanes.

Now, if (the user) says databaseManager.rollbackEditedRecords() will undo ALL modifications, say like panel 1 to 5
But wouldn’t it be neat if some javascript programming sould see to it that just THE CURRENT Tabpanel data gets rolledback?

I find this harder to do than I expected. I tried

var frm_v_dataset = null;


function onActionCancelEdit(event) { 
                              							     
	foundset.loadRecords(frm_v_dataset);   // Roll back	
}
function onActionSave(event) {
	databaseManager.setAutoSave(true);
	databaseManager.saveData();
	databaseManager.setAutoSave(false);
}

function onShow(firstShow, event) {
	                                    // Partial rollback for 1 TabPanel only
	databaseManager.saveData()
	frm_v_dataset  = databaseManager.convertToDataSet(foundset, alldataproviders);
	databaseManager.setAutoSave(false);
	
	var x = 0  // DEBUG
}

But that wo’nt go because of: ‘couldn’t load dataset because foundset had editted records but couldn’t save it’

Some help / ideas is appreciated…
Regards, Jan

PS I do not want to split up my table for this … :shock:

Hi Jan,

Take a look at the function databaseManager.getEditedRecords() and the JSRecord function getChangedData().
Those might be of help for what you want to do.

Hope this helps.

and then databaseManager.rollbackEditedRecords(recordToRollback) (6.0)