Обновить страницу? Вы хотите перерисовать страницу с данными? (например, щелкнув заголовок столбца, чтобы сортировать или нажимать «следующий» в datatable?)
Если да, используете ли вы javascript/jquery для изменения видимости ваших элементов?
Выполнение этого будет работать изначально - но поскольку datatables не знает, что jquery изменил элемент, когда он перерисовывает таблицу (в новом порядке или на новой странице или что-то еще), она вернет ваши изменения в любом состоянии, которое оно понимает в таблице.
Чтобы ваши изменения сохранялись при перерисовке, вам необходимо использовать datatables api - так что данные данных знают, что вы делаете. как это:
var mytable= $('#mytable').DataTable();
mytable.column(0).visible(false);
однако Если вы хотите, чтобы эти изменения сохраняются между обновлениями на веб-страницы в браузере, то вам необходимо настроить сессий или сохранить эти настройки в базе данных.
Тогда каждый раз, когда страница в запросе вы убедитесь, что данные, и вы можете решить динамически OnLoad, как инициализацию ваш DataTable:
$(document).ready(function() {
$('#example').dataTable({
"aoColumnDefs": [
{ "bVisible": false, "aTargets": [ userHiddenColumn ] }
] });
});
Обновить страницу означает перейти на другую страницу, а затем вернуться к же datatable page. Этот процесс обновляет страницу данных. Я думал то же самое, чтобы хранить столбцы в БД. Любое тело с другими решениями? –
, чтобы таблица запомнила это состояние между сеансами/посещениями пользователя, вам нужно сохранить конфигурации в какой-то базе данных и динамически инициализировать таблицу для каждого GET. Есть много способов сделать это, но на самом деле нет никаких альтернативных решений ... – Paul
Нам не нужна сессия/база данных, чтобы запомнить состояние как его уже часть данных. stateSave: true, Пожалуйста, check https://datatables.net/extensions/buttons/examples/column_visibility/stateSave.html –