首页 > 解决方案 > DataTables滚动到带有ajax分页数据的行

问题描述

在 DataTables 中,我可以通过在我的 ajax 响应数据中<tr>指定来自动为表的每一行添加一个 ID。DT_RowId这意味着每一行都有一个id属性,例如

<tr id="row_45">
    <td>foo</td>
    <td>bar</td>
</tr>

这在我的应用程序中很有用,因为这意味着我可以使用 URL,例如:/#row_45并在页面顶部显示第 45 行。

如果行在第 1 页上,这可以正常工作。

我的应用程序每页显示 250 行,每个页面都是使用 ajax 请求生成的。有时有超过 1000 页。因此,如果我尝试以/#row_999相同的方式打开第 999 行(),它不起作用,因为它的数据不在文档中。

我在“服务器端”模式下使用分页和数据表。这意味着页面加载时并不存在所有数据 - 使这个问题变得更加困难。如果我在分页中单击“第 3 页”,它会对记录 750 - 1000(每页 250 个)执行 ajax 请求。

有谁知道这是否有解决方法?

数据表版本 1.10.16

标签: jquerydatatables

解决方案


这就是 StackOverflow 使用 URI 引用唯一实体并使用 DOM 标识符在浏览器呈现的网页中导航的方式。

https://stackoverflow.com/questions/55000320/datatable-with-filter-data-dynamically/55000876#comment96759679_55000876

您必须将类似的原则应用于您的应用程序。我认为 DataTables 文档,尤其是示例部分涵盖了服务器端处理模式的许多用例。

您必须将其设计到您的应用程序中。没有简单的解决方法。

文档

特色内容


推荐阅读