angular2-data-table服务器分页不起作用

时间:2016-09-21 13:04:59

标签: angular typescript pagination

我正在尝试使用angular2-data-table模块(https://www.gitbook.com/book/swimlane/angular2-data-table/details)来创建我的表。应通过服务器处理分页和排序。要从后端加载和设置我的数据,我使用以下方法:

this.loadData('sortColumn', 'ASC', this.currentPage, this.options.limit)
  .subscribe(ratings => {
    this.rows = [];
    this.rows.push(...ratings.ratings);
    //For testing
    this.maxRows = 10;
    this.options.count = 10;
    if (this.maxRows < this.options.limit) {
      this.endRow = this.maxRows;
    }
  }, error => this.errorMessage = <any>error);}

this.rows是我绑定到data-table-template的变量:

<datatable class="rating_table" [rows]='rows' [options]='options' (onRowClick)='onRowClick($event)' (onPageChange)='onPage($event)'>

我的问题是当我加载数据绑定工作的第一页时,在表中显示我的评级,但是当我加载第二页时this.rows被设置为ratings.ratings对象但是表格是不是令人耳目一新的老收视率仍然可见。有人可以帮助我,我不知道为什么桌子不爽。

1 个答案:

答案 0 :(得分:0)

出于某些奇怪的原因,angular2-data-table要求数组中的索引与服务器中整个表的索引匹配。因此,当您获得第二页的数据时,数组中的索引不应该从0开始,而是从[pageSize- 2 * pageSize -1]开始。基本上你创建一个稀疏数组。