Kendo Grid: Column Header Checkbox 'Check All' that checks boxes across grid all pages -
is there example out there in javascript and/or jquery has 'check all' checkbox checks checkboxes across pages of grid?
i have been trying 3 days , not finding clean answer.
what have ugly , not work...
function onrequestend(e) { var mastercbchecked = $("#mastercheckbox").is(':checked'); var grid = $("#grid").data("kendogrid"); (var = 0; < grid.datasource.total(); ++) { var datarow = $("#grid").data("kendogrid").datasource.data()[i]; var elementrow = grid.table.find(".cbadvisor")[i]; if (elementrow != null) { var checked = elementrow.checked, row = $(elementrow).closest("tr"), dataitem = grid.dataitem(grid.tbody.find("tr").eq(i)); checkedids[dataitem.dimagentid] = mastercbchecked; if (mastercbchecked) { //-select row elementrow.checked = true; row.addclass("k-state-selected"); datarow.isselected = true; } else { //-remove selection elementrow.checked = false; row.removeclass("k-state-selected"); datarow.isselected = false; } } } } function checkall(ele) { var state = $(ele).is(':checked'); var grid = $("#grid").data("kendogrid"); //grid.datasource.pagesize(grid.datasource.total()); //grid.datasource.read(); //grid.refresh(); var currentpage = $("#grid").data("kendogrid").datasource.page(); checkedids = {}; //for (var = 0; < modeljson.length; ++) { // var m = modeljson[a]; // m.isselected = true; //} (var = 1; < 2; ++) { var pager = grid.pager; pager.bind('change', a); grid.one("databound", function () { this.datasource.page(a); }); grid.datasource.fetch(); (var = 0; < grid.datasource.total(); ++) { var datarow = $("#grid").data("kendogrid").datasource.data()[i]; var elementrow = grid.table.find(".cbadvisor")[i]; if (elementrow != null) { var checked = elementrow.checked, row = $(elementrow).closest("tr"), dataitem = grid.dataitem(grid.tbody.find("tr").eq(i)); checkedids[dataitem.dimagentid] = state; if (state) { //-select row elementrow.checked = true; row.addclass("k-state-selected"); datarow.isselected = true; } else { //-remove selection elementrow.checked = false; row.removeclass("k-state-selected"); datarow.isselected = false; } } } pager.bind('change', currentpage); grid.one("databound", function () { this.datasource.page(currentpage); }); grid.datasource.fetch(); //mark paging if (datarow != null) { if (state) { datarow.isselected = true; } else { datarow.isselected = false; } } }; if (!state) { checkedids = {}; } //grid.datasource.pagesize(50); //grid.refresh(); }
i got this code modification:
columns.template(@<text><input name="chkstatus" type="checkbox" class="chkformols" /></text>) .headertemplate("<input type='checkbox' id='chkselectall' onclick='checkall(this)' />").width(50); function checkall(ele) { debugger; var state = $(ele).is(':checked'); var grid = $('#grid').data('kendogrid'); if (state == true) { $('.chkformols').prop('checked', true); } else { $('.chkformols').prop('checked', false); } };
Comments
Post a Comment