Я использую следующее для инициализации моей таблицы, которая работает как ожидалось. Проблема заключается в том, что при попытке добавления столбцов и повторной инициализации новые столбцы не отображаются.
Похоже, что после инициализации таблицы новые столбцы не могут быть добавлены. Он инициализируется двумя столбцами, всегда имеет два столбца, независимо от того, что передается в столбцы. Таблица будет повторно инициализирована, но количество столбцов не изменится. Однако названия столбцов меняются, поэтому данные поступают.
Есть идеи?
u = "n";
if ($('#username').is(':checked')) {
u = "y";
}
b = "n";
if ($('#leavebegin').is(':checked')) {
b = "y";
}
e = "n";
if ($('#leaveend').is(':checked')) {
e = "y";
}
var cols = (function() {
var cols = null;
$.ajax({
'async': false,
'global': false,
'url': "/timeOffs/timeoffcols?u=" + u + "&b=" + b + "&e=" + e,
'dataType': "json",
'success': function(data) {
cols = data;
}
});
return cols;
})();
var table;
if (table) {
table.destroy();
$('#searchResults').empty();
}
table = $('#searchResults').DataTable({
"destroy": true,
"ajax": "/timeOffs/timeoffdata?u=" + u + "&b=" + b + "&e=" + e,
"columns": cols
});
Вышесказанное вытекает из этого после долгих поисков, но, похоже, не работает ... https://datatables.net/forums/discussion/28024/destroy-table-whild-using-dynamic-columns