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');
 });