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

ASP.NET MVC + AdminLTE

Create schedule Restart SQL Server

Bỏ dấu tiếng việt