如何在角度2中获取PrimeNg DataGrid中的页码?

时间:2017-02-02 12:45:02

标签: angular primeng

我在angular2项目中使用PrimeNg dataGrid。谁能告诉我如何获取页码?

2 个答案:

答案 0 :(得分:3)

我花了两个多小时来理解我自己的简单解决方案。当你试图在分页菜单中获取当前页面(选中)时。 我为自己找到了这个解决方案,希望这会对你有所帮助(但我认为你不需要它)以及其他人会尝试获得同样的价值。

您需要使用lazyLoad

来使用dataTable
        <p-dataTable [totalRecords]="totalItems" [lazy]="true" [rows]="rows" [paginator]="true" (onLazyLoad)="searchCustomersLazy($event)">
        </p-dataTable>
在我的案例中,

并且你的func中(onLazyLoad)发生的事件是searchCustomersLazy($event)这样的

searchCustomersLazy(event) {
    // some code here for example request to API
  let currentPage: number;
    //event.first = First row offset
    //event.rows = Number of rows per page
  currentPage = event.first / event.rows + 1;
  console.log('currentPage = ' + currentPage);
}

答案 1 :(得分:1)

这已在PrimeNG DataGrid示例中给出: -

<强> http://www.primefaces.org/primeng/#/datagrid

只需输入[paginator] =&#34; true&#34;在p-dataGrid中,以便您可以在dataGrid上看到您的paginator

<p-dataGrid [value]="cars" [paginator]="true" [rows]="10" (onPage)="onPage($event)">

如果您只有9行,则不会显示任何分页 所以你可以通过改变[rows]

中的值来显示行数

和ts

private onPage(e) {
    console.log(e);
  }

你会得到第一个&amp;行值,如果您在第1页上 然后控制台结果将是

Object {first: 0, rows: 10}