在Ag-Grid分页中,它提供了总行数和行号,例如在下面的图像中,您可以看到101 to 200 of 8,618。其中8618是可以从gridApi.paginationGetRowCount()中检索到的总行数。但是我应该使用哪个参数来获取101 to 200计数呢?我无法在网格API中找到它。
101 to 200 of 8,618
gridApi.paginationGetRowCount()
101 to 200
ruyhziif1#
通过获取这些信息:
paginationGetRowCount
paginationGetCurrentPage
paginationGetPageSize
,您可以计算第一个项目编号。最后一项编号对于所选页面。对于我的用例,我试图在页面通过(paginationChanged)事件更改时计算这些值。
(paginationChanged)
<ag-grid-angular ... (paginationChanged)="onPaginationChanged($event)" ></ag-grid-angular>
对于firstItemNoForCurrentPage,您需要获得currentPageIndex * pageSize + 1和totalRowCount之间的最小值。这是针对没有记录时的处理。对于lastItemNoForCurrentPage,您需要获得currentPageIndex * pageSize + pageSize和totalRowCount之间的最小值。这是为了处理当前页面不包含pageSize的全部项目数。
firstItemNoForCurrentPage
currentPageIndex * pageSize + 1
totalRowCount
lastItemNoForCurrentPage
currentPageIndex * pageSize + pageSize
pageSize
onPaginationChanged = (event: PaginationChangedEvent<IOlympicData>) => { if (!this.gridApi) return; // Get current page - 0-index based let currentPageIndex = this.gridApi.paginationGetCurrentPage(); // Get total count let totalRowCount = this.gridApi.paginationGetRowCount(); // Get page size let pageSize = this.gridApi.paginationGetPageSize(); let firstItemNoForCurrentPage = Math.min( currentPageIndex * pageSize + 1, totalRowCount ); let lastItemNoForCurrentPage = Math.min( currentPageIndex * pageSize + pageSize, totalRowCount ); console.log('firstItemNoForCurrentPage:', firstItemNoForCurrentPage); console.log('lastItemNoForCurrentPage:', lastItemNoForCurrentPage); };
Demo @ StackBlitz
vhmi4jdf2#
没有这样直接的API。但是您可以使用两个分页API来构造输出数据。
API
1. paginationGetCurrentPage() 2. paginationGetPageSize() // you can also put static page size value if it is static
你可以用索引值乘以页面大小来得到想要的输出。(page-index * page-size + 1)+ '--' +((page-index + 1)* page-size)
this.agGrid.api.paginationGetPageSize() *this.agGrid.api.paginationGetCurrentPage() + 1) + '-' + (this.agGrid.api.paginationGetCurrentPage()+1)*this.agGrid.api.paginationGetPageSize();
我为你创建了一个stackblitz示例。
2条答案
按热度按时间ruyhziif1#
通过获取这些信息:
paginationGetRowCount
),paginationGetCurrentPage
),以及paginationGetPageSize
),您可以计算第一个项目编号。最后一项编号对于所选页面。
对于我的用例,我试图在页面通过
(paginationChanged)
事件更改时计算这些值。对于
firstItemNoForCurrentPage
,您需要获得currentPageIndex * pageSize + 1
和totalRowCount
之间的最小值。这是针对没有记录时的处理。对于
lastItemNoForCurrentPage
,您需要获得currentPageIndex * pageSize + pageSize
和totalRowCount
之间的最小值。这是为了处理当前页面不包含pageSize
的全部项目数。Demo @ StackBlitz
vhmi4jdf2#
没有这样直接的
API
。但是您可以使用两个分页API
来构造输出数据。你可以用索引值乘以页面大小来得到想要的输出。
(page-index * page-size + 1)+ '--' +((page-index + 1)* page-size)
我为你创建了一个stackblitz示例。