Я использую плагин jQuery DataTables https://datatables.net/ с расширением Фиксированные столбцы https://datatables.net/extensions/fixedcolumns/
это мой код JavaScript
var datatable;
$(document).ready(function () {
datatable = $('#data-table').DataTable({
"scrollX": true,
"scrollCollapse": true,
"fixedColumns": {
"leftColumns": 3,
"rightColumns": 1
},
stateSave: true,
"processing": true,
"serverSide": true,
"drawCallback": function () {
feather.replace();
$('[data-toggle="tooltip"]').tooltip();
},
"ajax":
{
"url": "@Url.Action("GetDataTableData","General")",
"type": "POST"
},
"columnDefs": [
{
"targets": 33,
"data": function (data) { return "<a href=\"#\" onclick=\"edit(" + data[33] + ")\">Edit</a> <a href=\"#\" onclick=\"deleteProject(" + data[33] + ")\"><span color=\"red\" data-feather=\"x\"></span></a>" },
}
]
});
});
Поскольку у меня много столбцов и свойство "scrollX"
установлено на true
, я могу видеть горизонтальную боковую панель в моей таблице данных.
Это результат, который может произойти в двух сценариях
![enter image description here](https://i.stack.imgur.com/g1oqD.png)
сценарий 1: скрытие столбцов (https://datatables.net/examples/api/show_hide.html)
column.visible( ! column.visible() );
и последний фиксированный столбец дублируется, когда нет необходимости в горизонтальной боковой панели (поскольку пользователь скрывает большинство столбцов)
сценарий 2: изменить размер страницы начальной загрузки
$("#sidebar").removeClass("sidebar-hidden");
У меня такой же эффект сокрытия, как описано в этом примере https://codepen.io/Xeoncross/pen/zxyWeW
Поскольку я также использую свойство "stateSave": true
, двуличность сохраняется даже тогда, когда я обновляю страницу.
Что здесь не так, как мне убрать двуличие последнего столбца действия?
Пример скрипки: https://jsfiddle.net/g7tdqm9h/32/