Я использую табулятор для заполнения данных на моей странице. Есть некоторые опасения, что я заполняю 38 таблиц, и в этих таблицах у меня примерно 2000 строк данных в каждой.
Проблема в том, что загрузка данных занимает много времени: приблизительно 30 минут, да 30 минут !. и это не приемлемо ни в коем случае. Я попытался использовать разбиение на страницы, но, к сожалению, у нас есть жесткое требование печати, которое не выполняется при разбивке на страницы (поскольку все данные не доступны, когда мы нажимаем Ctrl + P.
Я использую HTML Formatter, textarea и fit столбцы.
Вот одна из таблиц, которую я использую:
const someTable= new Tabulator('#someContainer', {
layout: 'fitColumns',
resizableRows: true,
columns: [
{ title: 'f1', field: 'col1', sorter: 'string', headerSort: false, formatter: 'textarea' },
{ title: 'f2', field: 'col2', sorter: 'string', headerSort: false, formatter: 'textarea' },
{ title: 'f3', field: 'col3', sorter: 'string', headerSort: false, formatter: 'textarea' },
{ title: 'f4', field: 'col4', sorter: 'string', headerSort: false, formatter: 'textarea' },
{ title: 'f5', field: 'col5', sorter: 'string', headerSort: false, formatter: 'textarea' },
{ title: 'f6', field: 'col6', sorter: 'string', headerSort: false, formatter: 'textarea' }
]
});
let someData = document.getElementById('someData').value;
someData= JSON.parse(someData);
someTable.addData(someData, true);
setTimeout(function() {
someTable.redraw(true);
}, 100);
}
Может ли кто-нибудь помочь мне понять, почему это происходит? (Я проверил, удалив тайм-аут тоже. не сильно помогает).
Кроме того, я попытался использовать прогрессивную загрузку, но это также не уменьшает время.