easyui datagrid排序问题

本文介绍如何解决 EasyUI DataGrid 默认按字符串排序的问题,通过添加自定义排序函数实现数值型数据的正确排序。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

easyui datagrid排序默认是按照字符串排序(即String类型),但在实际项目应用中,我们会发现排序会不对。如下图(由于我们数据庞大,所以我只截取了部分数据)

133857_jFfT_2380634.jpg

从上图可以看到在排序的时候并没有按照我们想要的结果排序,就是因为datagrid在排序的时候默认是按照字符串排序的。为了解决这一问题,可以根据自定义函数来解决这一问题。

{ 
					field : 'actual_value',
					title : '实际值',
					align : 'center',
					sortable:true,
					width : '8%',
					formatter : function(value,row,index){ 
						var actual_value = "";
						actual_value = row.actual_value == "-1" ? "-" : row.actual_value;
						return actual_value;
					},
					styler : function(value,row,index){
						if (row.control_type != "4") {
		            		if (row.trigger_operation == 0) {
		            			return {
		            				style : 'color:#f00',
		            			}
		            		}else{
		            			return {
		            				style : 'color:#f0ad4e',
		            			}
		            		}
						};
	            	},
	            	sorter:function(a,b){
						if (parseFloat(a) > parseFloat(b)) { 
							return 1;
						}else if(parseFloat(a) < parseFloat(b)){ 
							return -1;
						}else{ 
							return 0;
						}
					}
				}

加上sorter这一自定义函数,此函数需要两个参数:

a : 第一个字段值

b: 第二个字段值

结果如下图

134509_uLne_2380634.jpg

注 : multiSort : true  //开启多行排序

转载于:https://my.oschina.net/bianlongting/blog/608012

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值