如何在Ng2-smart-table中实现服务器端分页?

时间:2019-03-19 21:39:49

标签: angular angular7 ng2-smart-table

我创建了一个新的自定义数据源,该数据源扩展了本地数据源。这样我就可以获取数据库中的所有记录。但是事实并非如此,因为我的数据库中有一千条记录。因此上述实施方式效率不高。

现在,我尝试对其执行服务器端分页。我经历了GitHub ng2-smart-table问题(https://github.com/akveo/ng2-smart-table/issues/30)。但是我找不到正确的解决方案。所以请您帮忙。

先谢谢了。

3 个答案:

答案 0 :(得分:0)

您的数据库可能会支持跳过/限制功能。基于此,客户端代码可以向数据库发出请求,以返回部分结果。

答案 1 :(得分:0)

这是我的服务器端分页解决方案

ng2-smart-table with paging from back-end (Spring)

我有一个包含startIndex和recordCount信息的过滤器。 您应该确保仅从API / DB / etc返回请求的数据量。

答案 2 :(得分:0)

这是我的解决方案..

  1. 像这样从数据库或 API 返回数据。
data: [{,…}, {,…}, {,…}, {,…}, {,…}, {,…}, {,…}, {,…}, {,…}, {,…}] total: 10
  1. 像这样获取数据,同时指定 datakey 和 totalkey 的名称,它们在第一步中的返回方式完全相同。
return new ServerDataSource(this.http, {
  endPoint: endpointUrl,
  dataKey: 'data',
  totalKey: 'total',
});
  1. 在您的表格设置中,显示分页器并设置 perPage < 显示分页器的预期总数。
settings = {
  pager: {
    display: true,
    perPage: 5,
  }
}