如何使用angularjs在datatable中添加自定义分页?

时间:2017-03-07 07:21:04

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

我想使用带有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);
}

任何人都知道怎么做才能告诉我。

2 个答案:

答案 0 :(得分:0)

您可以使用OData约定来执行您想要的操作。

您可以使用$top and $skip网址参数来实现您的目标

编辑:使用此方法,您的网址将是 /api/User/UserList?$top=[your_top]&$skip=[your_skip]在哪里 [your_top]将是您想要的商品数量,[your_skip]将是您想要传递的商品数量。

例如: $top=10&$skip=0将是10个第一项

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

您可以看到如何使用aspnet web api here

处理查询字符串

目前,您可以使用thoses参数过滤商品。

答案 1 :(得分:0)

我推荐这个博客,能够服务器端分页。这个链接适用于博客。

  

https://raw.github.com/pydata/pandas/master/pandas/tests/data/iris.csv