datatables-dynamic-columns

 

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Datatable with dynamic headers</title>
<link rel="stylesheet" type="text/css" href="datatables.min.css">
<script src="datatables.min.js"></script>
</head>
<body>
<h2>Skygate front-end LAB Datatable example with dynamic headers</h2>
<table id="demotable" class="table table-striped table-condensed dataTable">
<thead><tr></tr></thead>
</table>
<script>
var data,
tableName= '#demotable',
columns,
str,
jqxhr = $.ajax('data/data.json')
.done(function () {
data = JSON.parse(jqxhr.responseText);
// Iterate each column and print table headers for Datatables
$.each(data.columns, function (k, colObj) {
str = '<th>' + colObj.name + '</th>';
$(str).appendTo(tableName+'>thead>tr');
});
// Add some Render transformations to Columns
// Not a good practice to add any of this in API/ Json side
data.columns[0].render = function (data, type, row) {
return '<h4>' + data + '</h4>';
}
// Debug? console.log(data.columns[0]);
$(tableName).dataTable({
"data": data.data,
"columns": data.columns,
"fnInitComplete": function () {
// Event handler to be fired when rendering is complete (Turn off Loading gif for example)
console.log('Datatable rendering complete');
}
});
})
.fail(function (jqXHR, exception) {
var msg = '';
if (jqXHR.status === 0) {
msg = 'Not connect.\n Verify Network.';
} else if (jqXHR.status == 404) {
msg = 'Requested page not found. [404]';
} else if (jqXHR.status == 500) {
msg = 'Internal Server Error [500].';
} else if (exception === 'parsererror') {
msg = 'Requested JSON parse failed.';
} else if (exception === 'timeout') {
msg = 'Time out error.';
} else if (exception === 'abort') {
msg = 'Ajax request aborted.';
} else {
msg = 'Uncaught Error.\n' + jqXHR.responseText;
}
console.log(msg);
});
</script>
<div style="margin-top:12em;width:100%;height: auto;background-color: lightgrey; color:#FFF">Authors:
<a style="color:#FFF" href="http://fasani.de">Martin Fasani</a>, Diego Guza
Based on <a style="color:midnightblue" href="http://datatables.net">datatables jQuery plugin</a>
</div>
</body>
</html> Nguồn:  martinberlin/datatables-dynamic-columns

Comments

Popular posts from this blog

Mở port trên firewall để SQL truy cập (Windows)

Sending Emails in Asp.Net Identity using Dependency Injection, Sendgrid and debugging it with Mailtrap.io

How to enable automatic sign-in after Windows server reboot?