JSFiddle - React, Tailwind, and code Playground
by glenderson
HTML
<script src="//cdn.datatables.net/1.10.9/js/jquery.dataTables.min.js"></script>
<script src="//cdn.datatables.net/autofill/2.0.0/js/dataTables.autoFill.min.js"></script>
<link rel="stylesheet" href="//cdn.datatables.net/1.10.9/css/jquery.dataTables.min.css">
<link rel="stylesheet" href="//cdn.datatables.net/autofill/2.0.0/css/autoFill.dataTables.min.css">
<table width="100%" String class="display nowrap" String id="example" String cellspacing="0" String>
<thead>
<tr>
<th>Name</th>
<th>Position</th>
<th>Office</th>
<th>Age</th>
<th>Start date</th>
<th>Salary</th>
</tr>
</thead>
<tfoot>
<tr>
<th>Name</th>
<th>Position</th>
<th>Office</th>
<th>Age</th>
<th>Start date</th>
<th>Salary</th>
</tr>
</tfoot>
<tbody>
<tr>
<td>Tiger Nixon</td>
<td>System Architect</td>
<td>Edinburgh</td>
<td>61</td>
<td>2011/04/25</td>
<td>$320,800</td>
</tr>
<tr>
<td>Garrett Winters</td>
<td>Accountant</td>
<td>Tokyo</td>
<td>63</td>
<td>2011/07/25</td>
<td>$170,750</td>
</tr>
<tr>
<td>Ashton Cox</td>
<td>Junior Technical Author</td>
<td>San Francisco</td>
<td>66</td>
<td>2009/01/12</td>
<td>$86,000</td>
</tr>
<tr>
<td>Cedric Kelly</td>
<td>Senior Javascript Developer</td>
<td>Edinburgh</td>
<td>22</td>
<td>2012/03/29</td>
<td>$433,060</td>
</tr>
<tr>
<td>Airi Satou</td>
<td>Accountant</td>
<td>Tokyo</td>
<td>33</td>
<td>2008/11/28</td>
<td>$162,700</td>
</tr>
...
CSS
.paleyellow {
background-color: lightgreen;
}
.fontbold, .boldfont {
font-weight: bold;
}
JavaScript
$(document).ready(function () {
$('#example').DataTable({
autoFill: true
,
"drawCallback": function (settings) {
var api = this.api();
var rows = api.rows({
page: "current"
}).nodes();
var last = null;
var currentOrder = api.order()[0];
if (currentOrder[0] == 0) {
api.column(0, {
page: "current"
}).data().each(function (group, i) {
if (last !== group) {
$(rows).eq(i).before(
"<tr class=\"group\"><td colspan=\"6\" class=\"font10 fontbold paleyellow\"> " + group + "</td></tr>");
}
last = group;
});
}
if (currentOrder[0] == 1) {
api.column(1, {
page: "current"
}).data().each(function (group, i) {
if (last !== group) {
$(rows).eq(i).before(
"<tr class=\"group\"><td colspan=\"6\" class=\"font10 fontbold paleyellow\"> " + group + "</td></tr>");
}
last = group;
});
}
}
});
});