That did the trick, thanks for your help.
If anyone else runs into this issue:
For me Grid B is constructed using the MVC HtmlHelper extension, so i just had to add
.Events(e => e.DataBinding(
"gridBDataBinding"
))
and then the javascript was
var
gridBDatabindingEnabled =
true
;
function
gridBDataBinding(e)
{
if
(!gridBDatabindingEnabled)
{
e.preventDefault();
}
}
$(
"#addAllSelectedToGridB"
).click(
function
() {
var
gridA = $(
"#gridA"
).data(
"kendoGrid"
);
var
gridB = $(
"#gridB"
).data(
"kendoGrid"
);
var
gridBDatasource = gridB.dataSource;
var
alreadyInGridB = gridBDatasource.view();
var
itemsToBeAdded =
new
Array();
gridA.select().each(
function
() {
var
dataItem = gridA.dataItem($(
this
));
var
result = $.grep(alreadyInGridB,
function
(e) {
return
e.ID == dataItem.ID; });
if
(result.length == 0) {
itemsToBeAdded.push(dataItem);
}
});
gridBDatabindingEnabled =
false
;
for
(i = 0; i < itemsToBeAdded.length; i++) {
if
(i === (itemsToBeAdded.length - 1))
{
gridBDatabindingEnabled =
true
;
}
gridBDatasource.insert(itemsToBeAdded[i].toJSON());
}
});