JSFiddle - React, Tailwind, and code Playground
HTML
<script src="http://trirand.com/blog/jqgrid/js/jquery.jqGrid.min.js"></script>
<link rel="stylesheet" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.14/themes/base/jquery-ui.css">
<link rel="stylesheet" href="http://trirand.com/blog/jqgrid/themes/ui.jqgrid.css">
<script src="http://trirand.com/blog/jqgrid/js/i18n/grid.locale-en.js"></script>
<div id="content"></div>
<table id="table"></table>
<div id="pager"></div>
<a href="#" id="sort-button">Click me to group</a>
JavaScript
jQuery(function () {
data = [
{ id: "i1", g: "s1", forename: "Homer", surname: "Simpson" },
{ id: "i2", g: "s1", forename: "Carl", surname: "Carlson" },
{ id: "i3", g: "s1", forename: "Peter", surname: "Murphy" },
{ id: "i4", g: "s1", forename: "Jack", surname: "Black" },
{ id: "i5", g: "s2", forename: "Peter", surname: "Murphy" },
{ id: "i6", g: "s2", forename: "Carl", surname: "Carlson" },
{ id: "i7", g: "s2", forename: "Jack", surname: "Black" }
];
$('table').jqGrid({
data: data,
datatype: "local",
gridview: true,
height: 'auto',
sortable: true,
altRows: true,
multiselect: true,
colModel: [
{ label: 'Group', name: 'g', width: 200 },
{ label: 'Forename', name: 'forename', width: 200 },
{ label: 'Surname', name: 'surname', width: 200 }
],
shrinkToFit: false,
rowNum: 10000,
deselectAfterSort: false
});
$('#sort-button').click(function() {
$('#table').jqGrid('groupingGroupBy', ['g', 'forename'], {
groupOrder: ['desc', 'asc']
});
return false;
});
});