jQuery Grid

Invoke the setcolumnproperty method of the jqxGrid. Author: http://jqwidgets.com

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='jqxWidget'>
    <div id="jqxgrid" style="float: left;"></div>
    <div id="jqxgrid2" style="float: left; margin-left: 50px;"></div>
</div>
<input type="button" style="margin: 10px;" id="jqxbutton" value="Change the width property of the first column" />

CSS

.red {
  background-color: red !important;
}

.green {
  background-color: green !important;
}

JavaScript

var data = generatedata(50);
 var source = {
     localdata: data,
     datafields: [{
         name: 'firstname',
         type: 'string'
     }, {
         name: 'lastname',
         type: 'string'
     }],
     datatype: "array"
 };

 var adapter = new $.jqx.dataAdapter(source);
 $("#jqxgrid").jqxGrid({
     width: 230,
     theme: 'energyblue',
     source: adapter,
     sortable: true,
     selectionmode: 'checkbox',
     columns: [{
         text: 'First Name',
         datafield: 'firstname',
         columngroup: 'Name',
         width: 90,
         cellclassname: function (row, columnfield, value) {    
         
          var selectedrowindexes = $('#jqxgrid').jqxGrid('getselectedrowindexes'); 
					if (selectedrowindexes.includes(row)) {
          		$('#jqxgrid2').jqxGrid('unselectrow', row);

							$('#jqxgrid2').jqxGrid('setcolumnproperty', columnfield, 'cellclassname', function (row, columnfield, value) {
									if (selectedrowindexes.includes(row)) {
			                return 'red';
									}
			        });
							return 'green';
       		}
      	}
     }, {
         text: 'Last Name',
         columngroup: 'Name',
         datafield: 'lastname',
         width: 90
     }]
 });
 
 $("#jqxgrid2").jqxGrid({
     width: 230,
     theme: 'energyblue',
     source: adapter,
     sortable: true,
     selectionmode: 'checkbox',
     columns: [{
         text: 'First Name',
         datafield: 'firstname',
         columngroup: 'Name',
         width: 90,
         cellclassname: function (row, columnfield, value) {    
         
          var selectedrowindexes = $('#jqxgrid2').jqxGrid('getselectedrowindexes'); 
					if (selectedrowindexes.includes(row)) {
          		$('#jqxgrid').jqxGrid('unselectrow', row);

							$('#jqxgrid').jqxGrid('setcolumnproperty', columnfield, 'cellclassname', function (row, columnfield, value) {
									if (selectedrowindexes.includes(row)) {
			                return 'red';
									}
			        });
							return...