angular + ng-zorro 表格排序不起作用是因为数据是从后端获取的,也是后端分页,所以要自己写排序啦~~~~

举例:HTML

<nz-table #basicTable nzBordered [nzData]="listOfData" [nzTotal]="bottomTable.total"
[nzPageSize]="bottomTable.pageSize" [nzFrontPagination]="false" [nzPageIndex]="bottomTable.pageNo"
[nzScroll]="{ x: '1340px', y: '230px' }" class="bottom_table" (nzPageIndexChange)="myChange($event)">
<thead>
<tr>
<th nzWidth="180px">A</th>
<th nzWidth="100px">B</th>
<th nzWidth="100px">C</th>
<th nzWidth="100px">D</th>
<th nzWidth="100px">E</th>
<th nzWidth="100px">F</th>
<th nzWidth="250px"
[nzSortFn]="true"
(nzSortOrderChange)="sortChange($event)"
>G</th>
<th nzWidth="100px">H</th>
<th nzWidth="100px">I</th>
<th nzWidth="110px">J</th>
<th nzWidth="100px"
[nzSortFn]="true"
(nzSortOrderChange)="sortChange1($event)"
>K</th>
</tr>
</thead>
<tbody>
<tr *ngFor="let data of basicTable.data" (click)="openAnalysis(data)" class="my_small_tr">
<td>{{ data.a }}</td>
<td>{{ data.b }}</td>
<td>{{ data.c }}</td>
<td>{{ data.d }}</td>
<td>{{ data.e }}</td>
<td>{{ data.f }}</td>
<td>{{ data.g }}</td>
<td>{{ data.h }}</td>
<td>{{ data.i }}</td>
<td>{{ data.j }}</td>
<td>{{ data.k }}</td>
</tr>
</tbody>
</nz-table>

TS文件

import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';
import { _HttpClient, ModalHelper } from '@delon/theme';
import { I18NService } from '@core';
import { NzMessageService } from 'ng-zorro-antd/message';
import { myCommonService } from 'src/app/core/net/hr_report/myCommon.service';
import { CommonFunService } from 'src/app/core/net/common_zz/common-fun.service';
import { TossAnalysisComponent } from '../../analysis/analysis.component';
import { NzTableFilterFn, NzTableFilterList, NzTableSortFn, NzTableSortOrder } from 'ng-zorro-antd/table';
const BaseUrl = {
// path: 'http://10.111.111.111:3000' } @Component({
selector: 'app-report',
templateUrl: './report.component.html',
styleUrls: ['./report.component.less']
})
export class ReportComponent implements OnInit { @Input()
public listOfData: any = []
@Input()
public form: any = {}
@Output()
private outer: EventEmitter<any> = new EventEmitter();
@Input()
public record: string = ''
@Input()
public bottomTable: any = {} constructor(
public msg: NzMessageService,
public mlbCom: myCommonService,
public I18NService: I18NService,
public http: _HttpClient,
public commonFun: CommonFunService,
private modal: ModalHelper,
) { }
ngOnInit(): void {
}
sortChange(e) {
console.log(e)
this.listOfData = e === 'ascend' ? this.listOfData.sort(
(a, b) => a.stationId.localeCompare(b.stationId)
) : this.listOfData.sort(
(a, b) => b.stationId.localeCompare(a.stationId)
)
}
sortChange1(e) {
console.log(e)
this.listOfData = e === 'ascend' ? this.listOfData.sort(
(a, b) => a.tossRate - b.tossRate
) : this.listOfData.sort(
(a, b) => b.tossRate - a.tossRate
)
}
myChange(e) {
// this.bottomTable.pageNo = e
this.outer.emit(e)
}
}

angular + ng-zorro 表格后台分页及排序功能实现,angular + ng-zorro 表格排序不起作用解决办法的更多相关文章

  1. CuteFTP文件列表按名称排序,有中文文件名时,软件死掉的解决办法

    看到很多人的解决办法是切换到一个没有中文的文件夹,点击排序后,再切换回来,这个的确是可以解决问题,但是有些繁琐! 直接一步到位的解决办法是: 依次点击菜单:工具->全局选项->导航-> ...

  2. [转载]EasyUI中数据表格DataGrid添加排序功能

    我们这里演示的是EasyUI数据表格DataGrid从服务器端排序功能,因为觉的本地数据排序没有多大的作用,一般我们DataGrid不会读取全部数据,只会读取当前页的数据,所以本地数据排序也只是对当前 ...

  3. JS实现前台表格排序功能

    JS实现前台表格排序功能 虽然数据量不大的情况下,前台排序速度比较快,但一般情况下,我们的项目只使用后台排序,原因有二: 一是代码简单:二是前台JS排序对于有分页的情况无法处理. 前段时间,有个功能需 ...

  4. Python实现EXCEL表格的排序功能

    EXCEL的数值排序功能还是挺强大的,升序.降序,尤其自定义排序,能够对多个字段进行排序工作. 那么,在Python大法中,有没有这样强大的排序功能呢?答案是有的,而且本人觉得Python的排序功能, ...

  5. AngularJS table 按照表头字段排序功能(升序和降序)

    一.表格按照表头排序 <!doctype html> <html ng-app="a3_4"> <head> <title>表头排序 ...

  6. Winform系列——好用的DataGridview过滤控件(表格的高级搜索功能)

    上一篇 Winform系列——好看的DataGridView折叠控件 中主要介绍了DataGridview的表格多级折叠功能.这章主要介绍下最近封装的另一个DataGridview表格高级过滤的功能. ...

  7. IOS UITableView拖动排序功能

    UITbableView作为列表展示信息,除了展示的功能,有时还会用到删除,排序等功能,下面就来讲解一下如何实现排序. 排序是当表格进入编辑状态后,在单元格的右侧会出现一个按钮,点击按钮,就可以拖动单 ...

  8. 禁用datagridview中的自动排序功能

    把datagridview中的自动排序功能禁用自己收集的两种方法,看看吧①DataGridView中的Columns属性里面可以设置.进入"EditColumns"窗口后,在相应的 ...

  9. ListBox实现拖拽排序功能

    1.拖拽需要实现的事件包括: PreviewMouseLeftButtonDown LBoxSort_OnDrop 具体实现如下: private void LBoxSort_OnPreviewMou ...

  10. 简单实现Redis缓存中的排序功能

    1.在实现缓存排序功能之前,必须先明白这一功能的合理性.不妨思考一下,既然可以在数据库中排序,为什么还要把排序功能放在缓存中实现呢?这里简单总结了两个原因:首先,排序会增加数据库的负载,难以支撑高并发 ...

随机推荐

  1. python实现鼠标手动截图(类似于QQ截图)

    由于在网上找了很久,只找到按像素位置截图和全屏截图的,所以决定自己写一个. 本程序实现原理是现用PIL里的ImageGrab进行全屏截图,然后通过模拟鼠标操作,进行截图,最后删除全屏截图,只留下鼠标截 ...

  2. SpringBoot自动配置(装配)流程

    源码分析 SpringBoot自动配置流程 ​ ​ 首先,我们要了解在@SpringBootApplication注解的内部,还具有@EnableAutoConfiguration,@SpringBo ...

  3. 九、kubernetes命令行工具kubectl

    为了方便在命令行下对集群.节点.pod进行管理,kubernetes官方提供了一个管理命令:kubectl kubectl作为客户端CLI工具,可以让用户通过命令行对Kubernetes集群进行操作. ...

  4. 第2-1-2章 传统方式安装FastDFS-附FastDFS常用命令

    目录 3 安装配置 3.1 安装GCC 3.2 安装libevent 3.3 安装libfastcommon 3.4 安装FastDFS 3.5 安装fastdfs-nginx-module 3.5 ...

  5. VS Code插件推荐

    VS Code插件推荐 ​ VS Code作为前端开发人员在学习工作中必不可少的开发软件,其强大的功能以及丰富多样的插件都让开发人员爱不释手.下面推荐个人觉得还不错的几个插件,希望可以帮助到你.如果你 ...

  6. dockerNginx代理本地目录

    dockerNginx代理本地目录 ssl_certificate cert/5900588_test.zk.limengkai.work.pem; ssl_certificate_key cert/ ...

  7. Redis管理及监控工具推荐

    推荐一款Redis管理软件.[官网 http://www.redisant.cn/] 功能描述: 1. 键和字段CRUD和glob. 2. 适用于字符串.列表.散列.集合.有序集合. 通过漂亮的用户界 ...

  8. 【题解】CF631B Print Check

    题面传送门 解决思路: 首先考虑到,一个点最终的情况只有三种可能:不被染色,被行染色,被列染色. 若一个点同时被行.列染色多次,显示出的是最后一次被染色的结果.所以我们可以使用结构体,对每一行.每一列 ...

  9. perl大小写转换函数uc和lc

    $side = uc $attrs[0]; #把attrs[0]转换成大写,然后给side变量赋值. $gender = lc $attrs[1]; #把attrs[1]转换成小写,然后给gender ...

  10. .NET实现堆排序

    堆排序及相关知识 堆排序 堆排序是利用堆这种数据结构而设计的一种排序算法,堆排序是一种选择排序,它的最坏,最好,平均时间复杂度均为O(nlogn),它也是不稳定排序.首先简单了解下堆结构. 堆 堆是具 ...