ng2-smart-table的分页问题

时间:2017-03-23 11:26:59

标签: javascript angular pagination ng2-smart-table

我在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> ?? 谢谢!

3 个答案:

答案 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
});