在angular datatable中如何更改每页显示记录选项

问题描述 投票:7回答:4

在jquery数据表中,我可以更改每页的记录选项

"aLengthMenu": [[50, 100, 150, 200, -1],
[50, 100, 150, 200, "All"]],

任何人都知道如何以角度实现这一目标?

我试过了

$scope.dtOptions = DTOptionsBuilder.newOptions().withOption('order', [1, 'asc']).withDisplayLength(250);

$scope.dtOptions = DTOptionsBuilder.newOptions().withOption('order', [1, 'asc']).withOption('LengthMenu', [[50, 100, 150, 200, -1], [50, 100, 150, 200, "All"]])

我想要显示50,100,150,200

我在http://l-lin.github.io/angular-datatables/#/api搜索但找不到

angularjs datatable
4个回答
11
投票

你很接近...使用'lengthMenu'选项只有一个数组:

$scope.dtOptions = DTOptionsBuilder.newOptions().withOption('order', [1, 'asc']).withOption('lengthMenu', [50, 100, 150, 200])

6
投票

我找到了答案!

所以你在数据表中使用了一个名为$scope.dtOptions的变量,并且有一种方法可以添加到.withOption('lengthMenu', [50, 100, 150, 200]);

现在,技术上改变了长度选项而不是长度,但在我的情况下,我需要的是将最小长度选项设置为我想要的长度,并且我有效地更改了表的默认长度。

例:

$scope.dtOptions =   DTOptionsBuilder.newOptions()
    .withDOM('<"html5buttons"B>lTfgitp')
    .withButtons([])
    .withOption('order', [1, 'asc'])
    .withOption('lengthMenu', [50, 100, 150, 200]);

1
投票
$scope.dtOptions = DTOptionsBuilder.newOptions().withDisplayLength(10) 
// Default page size - 10,25,50,100

您可以使用以下方法自定义列表:

$scope.dtOptions = DTOptionsBuilder.newOptions().withOption('lengthMenu', [10, 25, 50, 100])

0
投票

如果项目中有多个数据表,并且想要添加LengthMenu,那么可以在Run块中添加它

app.run(['DTDefaultOptions',function(DTDefaultOptions) {
    DTDefaultOptions.setOption('lengthMenu',[[10, 20, 25, 50, -1],[10, 20, 25, 50, 'All']]);
}]);

如果要添加Jquery Datatable支持的任何选项,可以使用

DTDefaultOptions.setOption(key, value);
© www.soinside.com 2019 - 2024. All rights reserved.