我在Angular 2应用程序中使用ng2-smart-table而且我的分页存在问题。我正在加载一个数据对象数组,它正确显示前五个(我总共有20个),但表格底部的分页显示<< >>箭头之间没有数字,如果我点击右箭头,它会一起显示下一个15。该表的设置为:
private tableSettings = {
columns: {
id: {
title: 'ID',
filter: false
},
name: {
title: 'Name',
filter: false
},
},
hideSubHeader: true,
attr: {
class: 'id-field'
},
actions:{
edit: false
},
delete:{
confirmDelete: true
},
pager : {
display : true,
perPage:5
}
}
任何想法为什么显示<< >>而不是<< 1 2 3 4> ?? 谢谢!
答案 0 :(得分:0)
如果您使用的是服务器数据源或本地,则无法提及。假设您使用的是服务器数据源,我猜你还没有传递
X-Total-Count: 20
在您的回复标题中,以便客户端知道您有多少记录。
希望它有所帮助。
答案 1 :(得分:0)
我有一个类似的问题,分页根本没有表现出来。 @Babak几乎是正确的,您需要将X-Total-Count添加到响应标头中,并使用total rows的值,但您还需要通过添加access-control-expose-headers来公开该标头:X-Total-Count to标题。
e.g。对于C#WebApi:
var response = new HttpResponseMessage();
response.Headers.Add("access-control-expose-headers", "X-Total-Count");
response.Headers.Add("X-Total-Count", "100");
希望这有助于某人。
答案 2 :(得分:0)
您应该在传递给源的配置对象中传递totalKey,如下所示:
this.source = new ServerDataSource(_http,
{
dataKey: 'data.data',
endPoint: 'https://myapi/endpoint',
pagerPageKey: 'page', // this should be page number param name in endpoint (request not response) for example 'page'
pagerLimitKey: 'pageSize', // this should page size param name in endpoint (request not response)
totalKey: 'data.meta.total', // this is total records count in response, this will handle pager
});