【问题标题】:how to add custom pagination in datatable with angularjs?如何使用 angularjs 在数据表中添加自定义分页?
【发布时间】:2017-07-27 07:35:49
【问题描述】:

我想使用带有 angularjs mvc c# 的数据表自定义分页。 我知道内置功能可用于分页,但不使用它。想要创建自定义,所以我不知道该怎么做。

这里列出我的用户列表的代码:

 $scope.dtColumns = [
     DTColumnBuilder.newColumn("fullName", "Full Name"),
     DTColumnBuilder.newColumn("email", "Email"),
 ]
 $scope.dtOptions = DTOptionsBuilder.newOptions().withOption('ajax', {
         url: "/api/User/UserList",
         type: "GET",
         contentType: "application/json; charset=utf-8",
     })
     .withPaginationType('full_numbers')
     .withDisplayLength(50)
     .withOption('paging', false)   

这里是我的 html 代码:

<table id="userList" datatable="" dt-options="dtOptions" dt-columns="dtColumns"> </table>

这是我的 api 方法:

[HttpGet]
[Route("UserList")]
public IHttpActionResult UserList() {
    Users = db.Users.ToList();
    return Json(Users);
}

任何人都知道如何做到这一点,请告诉我。

【问题讨论】:

    标签: c# angularjs asp.net-web-api pagination


    【解决方案1】:

    我参考这个博客并且能够服务器端分页。这里是这个博客链接。

    http://www.dotnetawesome.com/2016/01/datatables-server-side-paging-sorting-filtering-angularjs.html

    【讨论】:

      【解决方案2】:

      您可以使用OData 约定来做您想做的事情。

      你可以使用$top and $skip URL参数来实现你想要的

      编辑:使用此方法,您的网址将是 /api/User/UserList?$top=[your_top]&amp;$skip=[your_skip]在哪里 [your_top] 将是您想要的项目数,[your_skip] 将是您想要通过的项目数。

      例如: $top=10&amp;$skip=0 将是前 10 项

      $top=10&amp;$skip=10 将是第 10 到第 20 项 ...等

      可以看到如何用aspnet web apihere处理查询字符串

      此时,您可以使用这些参数来过滤您的项目。

      【讨论】:

      • 嗨,但是在这段代码中如何使用 $top 和 $skip 以及你想说什么我不明白你能不能解释一下这个话题,否则给我任何提示。
      猜你喜欢
      • 2015-09-21
      • 2016-06-07
      • 2013-04-16
      • 2018-05-21
      • 1970-01-01
      • 2016-08-04
      • 2016-10-08
      • 2017-05-13
      • 2012-09-16
      相关资源
      最近更新 更多