Hi
I have a grid with checkbox columns, I like to place a checkbox on the header and select /deselect rows.
here is my grid, columns AttendTraining and ExamPassed are checkbox columns
<div>
@(Html.Kendo().Grid<ViewStudents>()
.Name("StudentGrid")
.Columns(columns =>
{
;
columns.Bound(c => c.StId).Width(80);
columns.Bound(c => c.EmailPersonal).Width(230);
columns.Bound(c => c.FirstName).Width(200);
columns.Bound(c => c.Surname).Width(200);
columns.Bound(c => c.AttendTraining).Width(120).ClientTemplate("#= AttendTraining ? 'Yes' : 'No' #").HeaderTemplate("<label><input type='checkbox' id='chkAttTrn' onclick='ChangeCheckStatus(this.checked,this);'> <span> Attend Training </span></label>");
columns.Bound(c => c.ExamPassed).Width(120).ClientTemplate("#= ExamPassed ? 'Yes' : 'No' #").HeaderTemplate("<label><input type='checkbox' id='chkExam' onclick='ChangeCheckStatus(this.checked,this);'> <span> Exam Passed </span></label>");
columns.Bound(c => c.MobilePhoneNumber).Width(120).Title("Mobile/Cell Number");
})
.Editable(e => e.Mode(GridEditMode.InCell).DisplayDeleteConfirmation(false))
.Resizable(resize => resize.Columns(true))
.Scrollable(s => s.Enabled(true))
.Selectable(selectable =>
{
selectable.Mode(GridSelectionMode.Single);
selectable.Type(GridSelectionType.Row);
selectable.Mode(GridSelectionMode.Multiple);
})
.Pageable(pageable => pageable
.Refresh(true)
.PageSizes(true)
.ButtonCount(25)
.PageSizes(new int[] { 25, 50, 100 })
)
.Sortable(sortable =>
{
sortable.SortMode(GridSortMode.SingleColumn);
})
.Events(events => events.Edit("disableEdit"))
.DataSource(dataSource => dataSource
.Ajax()
.Model(model => model.Id(x =>x.EmailWork))
.PageSize(20)
.ServerOperation(false))
)
</div>
I can update each column
function ChangeCheckStatus(flag, e) {
var grid = $('#StudentGrid').data('kendoGrid');
var check = 0;
if (flag)
check = 1;
$.each(grid.dataSource.data(), function (index, row) {
console.log("row...")
if (e.id == "chkAttTrn")
row.set('AttendTraining', check);
else if (e.id == "chkTakeExam")
row.set('ExamPassed', check);
});
}
When I click on the header checkboxes (Attend Training & Exam Passed) it does change the column values, but the checkbox itself does not retain it's value.
what i need is, for it to hold it's value like below so i can toggle.
Thanks
Faz