JavaScript Grid
Invoke the endupdate method of the jqxGrid. Author: http://jqwidgets.com
by jqwidgets
HTML
<script src="https://jqwidgets.com/public/jqwidgets/jqx-all.js"></script>
<link rel="stylesheet" href="https://jqwidgets.com/public/jqwidgets/styles/jqx.base.css">
<link rel="stylesheet" href="https://jqwidgets.com/public/jqwidgets/styles/jqx.energyblue.css">
<script src="https://jqwidgets.com/jquery-widgets-demo/demos/jqxgrid/generatedata.js"></script>
<div id="jqxgrid"></div>Show/Hide Columns
<div id="jqxlistbox"></div>
JavaScript
var data = generatedata(500);
var source = {
localdata: data,
datafields: [{
name: 'firstname',
type: 'string'
}, {
name: 'lastname',
type: 'string'
}],
datatype: "array"
};
var adapter = new $.jqx.dataAdapter(source);
$("#jqxgrid").jqxGrid({
width: 600,
theme: 'energyblue',
source: adapter,
sortable: true,
selectionmode: 'singlecell',
columns: [{
text: 'First Name',
datafield: 'firstname'
}, {
text: 'Last Name',
datafield: 'lastname'
}]
});
var listSource = [{
label: 'First Name',
value: 'firstname',
checked: true
}, {
label: 'Last Name',
value: 'lastname',
checked: true
}];
$("#jqxlistbox").jqxListBox({
theme: 'energyblue',
autoHeight: true,
source: listSource,
width: 200,
checkboxes: true
});
$("#jqxlistbox").on('checkChange', function (event) {
$("#jqxgrid").jqxGrid('beginupdate');
if (event.args.checked) {
$("#jqxgrid").jqxGrid('showcolumn', event.args.value);
} else {
$("#jqxgrid").jqxGrid('hidecolumn', event.args.value);
}
$("#jqxgrid").jqxGrid('endupdate');
});