У меня есть набор данных, который извлекается в dataTable через Ajax, и есть задержка по времени, которая означает, что пользователь может выполнить действия до его загрузки.Я должен загрузить этот набор данных одновременно, поэтому я не могу использовать серверную обработку, чтобы на этот раз обрабатывать его кусками.
Я использую на нем кнопки dataTables для загрузки xls, которые я отключаю донабор данных прибывает, а затем снова включается.Если бы я не сделал этого, пользователь мог бы загрузить пустую электронную таблицу до завершения запроса ajax.Итак, для кнопок я закодировал это так:
buttons: [
{
extend: 'excel',
text: '<i class="fa fa-file-excel-o"></i>',
titleAttr: 'Download to Excel',
enabled: false
},
],
затем:
table.on( 'draw.dt', function () {
table.buttons().enable();
});
Мне нужно сделать то же самое с упорядочиваемыми столбцами, потому что, если щелкаются упорядочиваемые столбцыдо загрузки данных отображаемое сообщение меняется с «Загрузка» на «Нет данных в таблице» (понятно), но это не очень удобно для пользователя.
Я устанавливаю каждый столбец как orderable: false
как это:
columns: [
{
data: 'myData',
orderable: false, // all columns are set to false like this
},
Это работает, он устанавливает все столбцы, поэтому их нельзя упорядочить.Чего я не могу сделать, так это сделать их все по порядку после загрузки данных.
Я надеялся, что это возможно, что-то вроде этого, но я пытаюсь / ничего не буду работать:
table.on( 'draw.dt', function () {
table.columns().orderable().enable();
});
Есть идеи?Если мне нужно включить каждый столбец отдельно, то это тоже нормально, я тоже не могу найти способ сделать это.
Заранее спасибо.