在分页中计算(显示总 n 的 n 到 n )

Calculation about ( Showing n to n of total n ) in pagination

在 primeng 数据中计算(显示 n 到 n,共 n 个)table 分页


我创建了一个自定义逻辑来显示剩余记录逻辑中的当前记录

如果 table 行数为 10 且总计数为第二页,那么我可以显示为 ,

Showing 20 to 30 of 37

所以我尝试在 (onPage)="onPageChange($event)" 事件中手动执行此操作

onPageChange(e) {
        console.log(e);
        let currentpageCount = parseInt(e.first.toString().charAt(0)) + 1;
        let currentPageRows = e.rows;
        this.pageinationcount = 'Showing' + (parseInt(e.first.toString().charAt(0)) * parseInt(currentPageRows)) + ' to ' + (currentpageCount * parseInt(currentPageRows)) + ' of ' + this.errorLogList.length
    }

Everything is working fine, but if my last page having only 7 records but the e.rows result is always showing 10. I know e.rows works from this input which am giving in data table as [rows]="10". But in this scenario how can we solve this??

我已经通过在(页面)事件

中传递 dt.dataToRender.length 手动完成了一些操作
 <p-dataTable class="ui-widget-h1-header1" [value]="errorLogList" 
 [responsive]="true" [paginator]="true" [rows]="10"
 (onPage)="onPageChange($event, dt.dataToRender.length)" [globalFilter]="gb" 
 #dt [pageLinks]="3" [rowsPerPageOptions]="[10,20,25,30]">
 .
 .
 .
 .
</p-dataTable>

下面的代码仅在行数为 10 时有效,但如果行数为 20|25|30,则它不会按预期工作

 onPageChange(e, pagecount) {
        console.log(e);
        let currentpageCount = parseInt(e.first.toString().charAt(0)) + 1;
        let calculateRow = parseInt(e.rows) - parseInt(pagecount)
        this.pageinationcount = parseInt(e.first.toString()) + 1
            + ' to ' + (parseInt(e.first.toString()) - calculateRow) + ' of ' + (this.errorLogList.length)

        let temp = 'Showing' + this.pageinationcount.toString();
        this.pageinationcount = temp;
    }

But am struggling to handle if the row counts are 20|25|30|etc . Kindly take my answer as a key for your answers.

这个怎么样:

let start = e.first + 1;
let end = (e.first + e.rows) > this.errorLogList.length ? this.errorLogList.length : (e.first + e.rows);
this.pageinationcount = 'Showing ' + start + ' to ' + end + ' of ' + this.errorLogList.length;

稍微更改了 Aravind 的示例以供参考:http://plnkr.co/edit/oWrGziGmkwXfO4aK9xOp?p=preview