JSFiddle - React, Tailwind, and code Playground
HTML
<script type="text/javascript" charset="utf-8" src="https://cdn.datatables.net/v/bs-3.3.7/jq-2.2.4/jszip-3.1.3/pdfmake-0.1.27/dt-1.10.15/af-2.2.0/b-1.3.1/b-colvis-1.3.1/b-flash-1.3.1/b-html5-1.3.1/b-print-1.3.1/cr-1.3.3/fh-3.1.2/kt-2.2.1/r-2.1.1/sc-1.4.2/se-1.2.2/datatables.min.js"></script>
<link rel="stylesheet" type="text/css" href="https://cdn.datatables.net/v/bs-3.3.7/jq-2.2.4/jszip-3.1.3/pdfmake-0.1.27/dt-1.10.15/af-2.2.0/b-1.3.1/b-colvis-1.3.1/b-flash-1.3.1/b-html5-1.3.1/b-print-1.3.1/cr-1.3.3/fh-3.1.2/kt-2.2.1/r-2.1.1/sc-1.4.2/se-1.2.2/datatables.min.css">
<link rel="stylesheet" type="text/css" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css">
<div>
<table id="example" class="display" width="100%">
<thead>
<tr>
<th>
Customer ID
</th>
<th>
Name
</th>
<th>
Title
</th>
<th>
City
</th>
<th>
Details
</th>
</tr>
</thead>
<tfoot>
</tfoot>
<tbody>
<tr>
<td>Tiger Nixon</td>
<td>System Architect</td>
<td>Edinburgh</td>
<td>61</td>
<td>2011/04/25</td>
</tr>
<tr>
<td>Garrett Winters</td>
<td>Accountant</td>
<td>Tokyo</td>
<td>63</td>
<td>2011/07/25</td>
</tr>
</tbody>
</table>
</div>
JavaScript
var table = $('#example').DataTable( {
responsive: true,
columns: [
{
"data": "Customer ID"
},
{
"data": "Name"
},
{
"data": "Title"
},
{
"data": "City"
},
{
"targets": -1,
"data": null,
"defaultContent": '<button id="viewPDF">View</button>'
}
],
select: true,
lengthChange: false
} );
$('#example tbody').on( 'click', '[id*=viewPDF]', function () {
var row = $(this).closest('tr');
if ( row.hasClass('child') ) {
row = row.prev();
}
var data = table.row( row ).data();
window.open(data['details'], data['title']);
} );