DataTable занимает огромное время для отображения даже для 100 записей

Я вставляю значения в DataTable динамически. У меня есть около 100 строк, и загрузка DataTable занимает около 8-10 секунд. Есть ли способ сделать это быстрее?

JsFiddle

Спасибо!

1 ответ

Решение

Вот значительно улучшенная версия. Я думаю, в 50 раз быстрее.

for (var i=0, l=md.length; i<l; i++) { 
  var thisRow = [], x = md[i]
  thisRow.push('<u><a target="_blank" href="' + x.Data[0].Link + '">' + x.Data[0].Value + '</a></u>');
  for(var k=1; k<x.Data.length; k++){
    thisRow.push(x.Data[k].Value);
  }
  t.row.add(thisRow) 
  if (i == l-1) t.draw()
}
  • использовать forпетля с известным пределом l вместо чрезвычайно дорогого $.each
  • draw() только один раз, когда вставка строк завершена

обновленная скрипка -> https://jsfiddle.net/pdqjqbbp/1/

Другие вопросы по тегам