#javascript #jquery #dom #jquery-datatables
#javascript #jquery #dom #jquery-datatables
Вопрос:
Я создаю DataTable с бесконечной прокруткой как
$('#table1').dataTable({
'aaData' : dataArr,
'aoColumns': columnArr,
'bScrollInfinite': true,
'bColumnCollapse': true,
'sScrollY': '200px',
'iDisplayLength': 20,
'bAutoWidth': false
});
Теперь, когда это загружено, у него есть сообщение "Showing 1 - 20 of 1000"
.
В инспекторе Chrome я вижу только 20 строк в таблице. Остальные становятся доступными только после прокрутки до нижней части таблицы, остальные строки отображаются в DOM.
Есть ли способ, которым мы можем сделать так, чтобы все строки отображались в DOM без прокрутки?
Комментарии:
1. Весь смысл бесконечной прокрутки заключается в том, чтобы избежать загрузки 1000 строк, если пользователь не прокручивает их. Вы не можете создать 1000 строк DOM без загрузки данных для них, что противоречит цели бесконечной прокрутки.
2. Моя цель — добавить строки в нижнюю часть таблицы (с бесконечной прокруткой) и выполнить над ними манипуляции с DOM. В приведенном выше сценарии я не могу получить доступ к нижним строкам, если пользователь вручную не прокручивает нижнюю часть таблицы. Есть ли способ, которым я могу автоматически прокручивать до конца таблицы?
3. Если вам нужно манипулировать ими, почему вы просто не загрузили их изначально (загрузив более 20 строк)?
4. Я хочу отобразить всего 20 строк в пользовательском интерфейсе, но мне нужно найти какой-то способ, чтобы DataTable автоматически прокручивался до нижней строки.
Ответ №1:
http://legacy.datatables.net/usage/options
добавьте другое свойство, вызываемое :
'iDisplayLength ' : 1000
не уверен, что отобразит все результаты для вас, когда результатов будет больше 1000, но вы можете попробовать передать 0 или -1, вероятно, это должно сработать.
если нет, просто вставьте значение int.max .
Комментарии:
1. Но при этом будут отображаться все 1000 строк. Это сведет на нет цель бесконечной прокрутки. Есть ли способ заставить DataTable автоматически прокручиваться до нижних строк?
2. у меня вопрос, почему бы не заказать по убыванию? это будет намного удобнее для пользователя, чем прокрутка 1000 строк