其他分享
首页 > 其他分享> > dataTable列表按照时间排序

dataTable列表按照时间排序

作者:互联网

前言-我的抱怨

没错,依旧是这个美好的下着小雨可以睡懒觉的周六!

之前项目中写的dataTable列表要求按照创建日期进行排序,but虽然现在可以进行创建日期排序了,是在js中使用下面的代码配置的。

//5是时间字段所在的列号-1
"aaSorting": [[5, "desc" ]]

但是!最离谱的就是,这个只能对日期进行排序,乍一听没问题啊。问题在于,这个不能精确到时间啊,也就是说我按照天来可以对列表中的数据进行倒序排序,但是在一天内创建的数据他不能排序啊,听听听听,这多多少少有点气人的感觉了。

正文:对datatable进行按照日期排序-精确到时间

思路一:因为创建时间在显示的时候也是只有日期(数据库里明明都精确到秒了),所以我先去看一下从数据库中读到的数据的创建日期的格式(看看有没有时间)。

 瞅瞅瞅瞅,我们明明都精确到毫秒了!

实在是不知道为什么,数据传到js中就自动变成年月日了,啊啊啊啊啊啊啊啊啊啊!烦人

思路二:对传到前台的list进行排序

我一个对js知识非常浅薄的人,竟然来了之后一直写js!啊啊啊啊

希望后端代码就能搞定这个问题,实在是不想弄了,明明今天是周末啊!!!

通过代码排序之后,依旧不合适

思路三:困难总比办法多

最巧合的是,我的数据库中有一个status字段没有用上,所以刚刚好在这里用上了!太开心了

首先在后台页面将list进行排序后遍历这个list,再给这个status依次按照顺序赋值,这样就是将按照时间对status进行排序。这样设置下来,时间在前面的i值就小。

public List<AuditPunishBean> getAuditPunishList() {
		List<AuditPunishBean> auditPunishBeans=auditPunishDao.getAuditPunishList();
		Collections.sort(auditPunishBeans, new Comparator<AuditPunishBean>() {
            @Override
            //定义一个比较器
            public int compare(AuditPunishBean o1, AuditPunishBean o2) {
                Date dt1 = o1.getCreateTime();
                Date dt2 = o2.getCreateTime();
                int i = dt1.compareTo(dt2);
                return i;
            }
        });
		int i=1;
		for (AuditPunishBean auditPunishBean : auditPunishBeans) {
			auditPunishBean.setStatus(i+"");
			i++;
		}
		return auditPunishBeans;
	}

再根据status对dataTable的列表进行排序,将status设置成不可见但可排序。这样根据该列进行降序排序就可以实现创建日期的降序排序了。

"aaSorting": [[6, "desc" ]],
"aoColumns" : [ 
    {"sName":"id", "mData" : "id", "bSearchable": false, "bSortable" : false, "bVisible": true},
 	{"sName":"punishfileNameAndOA", "mData" : "punishfileNameAndOA"},
 	{"sName":"accountabilityType", "mData" : "accountabilityType"},
 	{"sName":"problemAgency", "mData" : "problemAgency"},
 	{"sName":"punishFileSendTime", "mData" : "punishFileSendTime"},
 	{"sName":"createTime", "mData" : "createTime"},
 	{"sName":"status", "mData" : "status","bVisible": false,"bSortable": true},
 	{"sName":"id", "mData" : "id","bVisible": true, "bSortable" : false,  "bSearchable": false}
 	],
"oTableTools" : { "aButtons": [] }

啊,终于好了,虽然逻辑一塌糊涂,但是实现功能万岁~\(≧▽≦)/~

问题结束!

完结撒花!*★,°*:.☆( ̄▽ ̄)/$:*.°★* 。

 

标签:mData,status,sName,false,列表,啊啊啊,排序,dataTable
来源: https://blog.csdn.net/m0_45203398/article/details/120470052