I had the same problem with my batch edited grid.
The solutions I found were only for one specific column (as the solution mentioned above). So I changed
item.set("fullyPaid", $(e.target).is(":checked") ? 1 : 0);
to
var col = $(this).closest('td');
dataItem.set(grid.columns[col.index()].field, checked);
So you can use it for any checkbox columns.
The next problem was the dirty flag which is not set correctly when using the "one click edit" option of checkbox.
So I've tested various things to get it work and endet up with this:
In column definition:
.ClientTemplate("<input type='checkbox' #= CheckboxColumn? checked='checked': checked='' # class='chkbx' />");
And script below:
<script>
$(function () {
$('#GridName').on('click', '.chkbx', function () {
var checked = $(this).is(':checked');
var grid = $('#GridName').data().kendoGrid;
grid.closeCell();
var dataItem = grid.dataItem($(this).closest('tr'));
var col = $(this).closest('td');
grid.editCell(col);
dataItem.set(grid.columns[col.index()].field, checked);
grid.closeCell(col);
});
});
</script>