此代码与ngx-bootstrap分页有关。我想要搜索项目。
<table class="table transactionhistory_table" id="myTable">
<thead>
<tr class="transactionhistory_table_tr">
<th>REFERENCE ID</th>
<th>RECHARGE AMOUNT</th>
<th>TOTAL AMOUNT</th>
<th>BOOKING TYPE</th>
<th>TRANSACTION TYPE</th>
<th>DATE</th>
<th>STATUS</th>
</tr>
</thead>
<tbody id="operatorName"*ngFor="let data of returnedArray | filter:filter">
<tr>
<td class="transactionhistory_table_tr_td">{{data.transactionId}}</td>
<td class="transactionhistory_table_tr_td">{{data.rechargeAmount}}</td>
<td class="transactionhistory_table_tr_td">{{data.walletAmount}}</td>
<td class="transactionhistory_table_tr_td">{{data.bookingType}}</td>
<td class="transactionhistory_table_tr_td">{{data.transactionType}</td>
<td class="transactionhistory_table_tr_td">{{data.createdDate}}</td>
<td class="transactionhistory_table_tr_td">{{data.transactionStatus}}</td>
</tr>
</tbody>
</table>
</div>
<div class="col-xs-12 col-12 no-padding">
<span class="pagination_class">
<p class="page_no">({{startVal}}-{{endVal}} of {{walletTransactionsCount}})</p>
<div class="pagination_class">
<!-- <pagination-controls previousText="‹" nextText="›" (pageChanged)="pageChanged(p=$event)"></pagination-controls> -->
<pagination [boundaryLinks]="true" [totalItems]="walletTransactionsCount" previousText="‹" nextText="›" firstText="«" lastText="»" (itemsPerPage)="3" (pageChanged)="pageChanged($event)" [maxSize]="5"></pagination>
</div>
</span>
</div>
我想用分页过滤表格我已经使用了ng2searchpipe模块但是它只过滤了一个TR而不是所有数据。
pageChanged(event: PageChangedEvent): void {
event.itemsPerPage = 3;
const startItem = (event.page - 1) * event.itemsPerPage;
const endItem = event.page * event.itemsPerPage;
this.startVal = startItem + 1;
this.endVal = endItem;
this.returnedArray = this.walletTransaction.slice(startItem, endItem);
}
答案 0 :(得分:0)
我使用了不同的方法来实现这一目标。我没有使用传统的过滤器管道,而是对搜索模型更改实施了过滤器方法,以从原始数组中过滤出数据并存储在contentArray中。然后,我调用了pageChange方法来实现分页数据。我的代码如下:
HTML:
<input type="text" placeholder="Search" [(ngModel)]="filterSearchData" (ngModelChange)="changeSearchFilter($event)" />
Componenet:
changeSearchFilter(filterText: string) {
this.contentArray= this.rawDataList.filter((dataItem: any) =>
dataItem.guestName.toLowerCase().includes(filterText.toLowerCase())
);
this.pageChanged({
page: 1,
itemsPerPage: this.pageItems
});
this.cd.detectChanges();
}
pageChanged(event: PageChangedEvent): void {
const startItem = (event.page - 1) * event.itemsPerPage;
const endItem = event.page * event.itemsPerPage;
this.returnedArray = this.contentArray.slice(startItem, endItem);
}