Thanks for your kind answer. The solution you provide is almost right: now, I get all the model properties, even if they haven't been assigned to a column. Unfortunately, properties which are going to be changed by the current edit are overwritten with their old values (from var data1 =
args.model.currentViewData[args.selectedRow];). Instead, I want to copy from data1 only properties which aren't present in args.data (which should coincide with the properties from the model which haven't been assigned to a column). I think I met the requisite with the following code, which seems to be working (I briefly tested it). Is that ok in your opinion?
function ActionBegin(args) {
if (args.requestType == "save") {
//retriving all row data
var allData = args.model.currentViewData[args.selectedRow];
//extending args.data with the properties from allData
//which aren't already present in args.data: these are
//basically the properties which haven't been assigned to
//a column, and so aren't present in args.data by default
for (var prop in allData) {
if (!args.data.hasOwnProperty(prop)) {
args.data[prop] = allData[prop];
}
}
}
}