AngularJS PrimeNG 的 自定义排序customSort

  • 1) 需求:
  • 2) 思路:
  • 3) 代码实现:
  • 4) 总结:

1) 需求:

在做数据列表展示时,默认排序很奇怪,需要重新定义。

2) 思路:

html:

<p-table (sortFunction)="customSort($event)" [customSort]="true" ></p-table>

3) 代码实现:

ts代码:

public customSort(event: SortEvent) {event.data.sort((data1, data2) => {const value1 = data1[event.field];const value2 = data2[event.field];let result = null;if (value1 == null && value2 != null) {result = -1;} else if (value1 != null && value2 == null) {result = 1;} else if (value1 == null && value2 == null) {result = 0;} else if (typeof value1 === 'string' && typeof value2 === 'string') {result = (value1 < value2) ? -1 : (value1 > value2) ? 1 : 0;} else {result = (value1 < value2) ? -1 : (value1 > value2) ? 1 : 0;}return (event.order * result);});this.formListDataSorted = event.data;
}

4) 总结:

1) 在primeNG官方例子中,使用的是如下代码:

else if (typeof value1 === 'string' && typeof value2 === 'string')result = value1.localeCompare(value2);

localCompare()可以再传一个参数指定语言。
2) 直接对string字符串进行大小比较,结果是从头开始比较每一位字符的charCode的大小,直到比较出大小为止。

AngularJS PrimeNG 的 自定义排序customSort相关推荐

  1. spreadsheet js中创建下拉列表_JS 中创建自定义排序方法

    原文:https://www.youtube.com/watch?v=zVevl-K-m7Y 译者:前端小智 为了保证的可读性,本文采用意译而非直译. 想优质文章请猛戳GitHub博客,一年百来篇优质 ...

  2. SPARK 笔记 (四) 自定义排序

    自定义排序 数据以bean类型为例 第一种 bean类是class 实现 Comparable 重写compareTo方法进行排序 由于在Driver端所以bean需要实现序列化 进行传输 packa ...

  3. SQL自定义排序规则

    SQL自定义排序规则 原数据 结果顺序数据显示 Apply:提交请求 Review:等待回复 Finish:任务完成 按日期和状态排序,先状态为:提交请求(Apply)-按时间倒序,然后状态为:等待回 ...

  4. 数据库中自定义排序规则,Mysql中自定义字段排序规则,Oracle中自定义字段排序规则,decode函数的用法,field函数的用法

    数据库中自定义排序 场景:有一张banner表,表中有一个status字段,有0, 1, 2三个状态位,我想要 1,0,2的自定义排序(这里是重点),然后再进行之上对sequence字段进行二次排序( ...

  5. SpringDataJpA复杂查询实现自定义排序

    需求: 列表页面实现按合同状态自定义排序 private Specification<TblContractPre> whereClause(final TblContractPre en ...

  6. .NET/C#中对自定义对象集合进行自定义排序的方法

    一个集合可否排序,要看系统知不知道排序的规则,像内建的系统类型,int ,string,short,decimal这些,系统知道怎么排序,而如果一个集合里面放置的是自定义类型,比如自己定义了一个Car ...

  7. MapReduce编程实例之自定义排序

    任务描述: 给出一组数据,自定义排序的样式,第一列降序,相同时第二列升序 example Data: 2013 1 2013 5 2014 5 2014 8 2015 9 2015 4 Code: p ...

  8. 【AngularJS】—— 9 自定义过滤器

    AngularJS另一个特点就是提供了过滤器,可以通过操作UNIX下管道的方式,操作数据结果. 通过使用管道,可以便于双向的数据绑定中视图的展现. 过滤器在处理过程中,将数据变成新的格式,而且可以使用 ...

  9. R语言dplyr包arrage函数排序dataframe实战:单列排序、多列排序、自定义排序

    R语言dplyr包arrage函数排序dataframe实战:单列排序.多列排序.自定义排序 目录 R语言dplyr包arrage函数排序dataframe实战:单列排序.多列排序

最新文章

  1. java 异常的捕获及处理
  2. python 中使用ElementTree操作XML
  3. ReadDirectoryChangesW 函数
  4. php统计字符个数,php中3种方法统计字符串中每种字符的个数并排序
  5. More Effective C++ 笔记
  6. 大数据之-Hadoop3.x_MapReduce_MapTask源码解析---大数据之hadoop3.x工作笔记0126
  7. CCF201512-1 数位之和(100分)【进制+文本】
  8. apache反向代理实战
  9. 如何通过QQ机器人技术实现禅道bug的自动提交功能
  10. laydate使用官方使用方法
  11. 嵌入式linux IIO驱动
  12. 基于php+mysql的校园木本植物检索查询统
  13. 怎样把gis锯齿边_在arcgis中如何消除锯齿状边缘
  14. Baumer profinet 接口编码器的简单调试
  15. 集束管的一些基础知识
  16. python逐行读取excel_用python读取excel需要哪些技能
  17. python技能书测评
  18. 云原生(三十三) | Kubernetes篇之平台存储系统部署
  19. 8000字长文带你了解真实的山东大学软件园校区
  20. 通配符的使用方法(初学)

热门文章

  1. 直击六大会场 | 洞察100+创新实践,2018TOP100summit圆满落幕!
  2. html背景音乐教程pdf,HTML插入背景音乐方法【全】
  3. SQL on log : 同比分析各种指标
  4. Java编程规范-文件组织与排版
  5. 【PHP面试题】请简述项目中优化SQL语句执行效率的方法,从哪些方面,SQL语句如何分析?
  6. 【夏令营保研经验】北理计算机,北航计算机夏令营,中科院霸面保研经验(2019.7)
  7. 单片机开发无线控制系列-单片机端代码实现
  8. AI之Tool:GitHub Copilot(一款人工智能编程小助手—猜你想写的代码)的简介、安装、使用方法之详细攻略
  9. 时势造英雄,快影成长启示录
  10. 计算机未来新CPU,桌面CPU性能排行 CPU天梯图2017年11月最新版 (全文)