【问题标题】:DataTable Infinite scrolling unscrolled rows not available in DOMDataTable 无限滚动未滚动的行在 DOM 中不可用
【发布时间】:2014-06-20 19:48:27
【问题描述】:

我创建了一个无限滚动的数据表

$('#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 中而不需要滚动?

【问题讨论】:

  • 无限滚动的全部意义在于避免加载 1000 行,除非用户滚动到它们。如果不为它们加载数据,就无法真正创建 1000 个 DOM 行,这违背了无限滚动的目的。
  • 我的目标是在表格底部添加行(无限滚动)并对它们执行 DOM 操作。在上述情况下,除非用户手动滚动到表格底部,否则我无法访问底部行。有没有办法自动滚动到表格底部?
  • 如果您需要操作它们,为什么不一开始就加载它们(通过加载超过 20 行)?
  • 我想在 UI 中只显示 20 行,但需要找到一些方法让 dataTable 自动滚动到底行。

标签: javascript jquery dom jquery-datatables


【解决方案1】:

http://legacy.datatables.net/usage/options

添加另一个名为:

'iDisplayLength ' : 1000

不确定当结果超过 1000 时会为您显示所有结果,但您可以尝试传递 0 或 -1,它应该可以工作。 如果没有,只需插入 int.max 值。

【讨论】:

  • 但这将显示所有 1000 行。这将破坏无限滚动的目的。有没有办法让 dataTable 自动滚动到底部行?
  • 我有一个问题,为什么不按降序排列?这将比滚动 1000 行更加用户友好
猜你喜欢
  • 2012-06-27
  • 1970-01-01
  • 1970-01-01
  • 2012-07-02
  • 1970-01-01
  • 2020-03-09
  • 2022-11-26
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多