首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在银栅分页中设置totalPages

问在银栅分页中设置totalPages
EN

Stack Overflow用户
提问于 2018-04-16 19:16:57
回答 3查看 9.4K关注 0票数 3

我在用银栅分页。

我正在寻找一种使用count/pageSize方式设置分页总页数的方法。

数据应该加载到事件onPaginationChanged上。

类似于:

代码语言:javascript
复制
 this.gridOptions.api.setTotalPages = 10
EN

回答 3

Stack Overflow用户

发布于 2018-04-19 09:32:10

没有直接的api/参数来设置页数。但是您可以修改paginationPageSize,以确保最多有10页。

假设你每页至少有50页。

代码语言:javascript
复制
var gridOptions = {
   ...
   pagination: true,
   paginationPageSize: 50,
   ...
};

那么您可能有一些方法来设置数据。

代码语言:javascript
复制
setDataToGrid: function(data){
    //data is more than your what can be fit in 10 pages
    if(data.length > gridOptions.paginationPageSize * 10){
        gridOptions.paginationPageSize = Math.ceil(data.length/10);
    }
    gridOptions.api.setRowData(data);
}

这里的plnkr工作示例

注意:除非您有大量无法显示的行,否则总是分发到10页是不太好的。

票数 1
EN

Stack Overflow用户

发布于 2020-05-20 15:25:21

我可以使用带有total number of pages的rowModelType: infinite行模型在ag网格中设置pagination: true,以达到同样的效果:

参见本例:https://www.ag-grid.com/javascript-grid-infinite-scrolling/#example-block-equal-page

这里的关键点是将lastRow设置为从服务器获得的页面的totalCount,并以这种方式将其传递到params.successCallback(rowsThisPage, lastRow);中,这样ag网格就可以预先知道页面总数,并显示分页控制中的总计数。

代码语言:javascript
复制
    const dataSource = {
        rowCount: null,
        getRows: function(params) {
          console.log(
            'asking for ' + params.startRow + ' to ' + params.endRow
          );
          let pageNum = Math.round(params.endRow / PAGE_SIZE);
          fetchPage(pageNum).then(page => {
            var rowsThisPage = page.entities;
            var lastRow = page.paging.totalCount;
            params.successCallback(rowsThisPage, lastRow);
          });
        }
    };
    params.api.setDatasource(dataSource);
  }
票数 1
EN

Stack Overflow用户

发布于 2019-03-18 10:41:45

以Vue js为例,首先添加:-

代码语言:javascript
复制
 <v-select
              v-bind:items="pageSize"
              v-model="pageModel"
              label="PageSize"
              v-on:change="onPageSizeChanged(pageModel)"
              id="page-size"
              style="width:115px;max-height: 32px;text-align:right !important;  
              float: right;
              margin-right: 283px;
              margin-top:10px;"

            ></v-select>

然后添加方法

/**使用页面大小设置分页*/

代码语言:javascript
复制
 onPageSizeChanged(newPageSize) {
      this.gridApi.paginationSetPageSize(parseInt(newPageSize));
    },
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49864705

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档