jQuery MiniUI

标题: allowsort [打印本页]

作者: 小葱儿    时间: 2014-6-11 15:19:36     标题: allowsort


在datagrid 中有RepairedTimeLasts一列
function ondrawcell(e) {

    if (e.field == "RepairedTimeLasts") {

                var a = e.row.RepairedTime.getTime()
                var b = e.row.AccidentOccurTime.getTime();
                var m = a - b;
                var lasttime = GetAdvanceTime(m);
                e.cellHtml = lasttime;
            }
}


  function GetAdvanceTime(timespanms) {

            var timespanh = timespanms / 3600000;
            var result = "";
            if (timespanh < 1 && timespanh >= 0) {
                result = (timespanms / 60000).toFixed(0) + "分钟";
            } else if (timespanh >= 1 && timespanh < 24) {
                result = timespanh.toFixed(0) + "小时";
            } else if (timespanh >= 24) {
                result = Math.floor((timespanh / 24)) + "天" + (timespanh % 24 == 0 ? "" : (timespanh % 24).toFixed(0) + "小时");
            } else {

            }
            return result;
        }


对于这RepairedTimeLasts这一列,我先在前端这边实现allowsort="true",我实现的排序是没有顺序的????请教一下这个怎么解决呢????





作者: factory    时间: 2014-6-11 15:39:11

排序默认服务端排序,你后台有处理了排序没? 没处理,自然就没排序效果了
作者: 小葱儿    时间: 2014-6-12 09:39:41

factory 发表于 2014-6-11 15:39
排序默认服务端排序,你后台有处理了排序没? 没处理,自然就没排序效果了

我这一列是在前台得到的, if (e.field == "RepairedTimeLasts") {

                var a = e.row.RepairedTime.getTime()
                var b = e.row.AccidentOccurTime.getTime();
                var m = a - b;
                var lasttime = GetAdvanceTime(m);
                e.cellHtml = lasttime;
            }
}

作者: 小葱儿    时间: 2014-6-12 09:50:13

小葱儿 发表于 2014-6-12 09:39
我这一列是在前台得到的, if (e.field == "RepairedTimeLasts") {

                var a = e.row.Repai ...

我后天是根据  order by  RepairedTime  desc 排序的,我前台的这一行是根据

if (e.field == "RepairedTimeLasts") {

                var a = e.row.RepairedTime.getTime()
                var b = e.row.AccidentOccurTime.getTime();
                var m = a - b;
                var lasttime = GetAdvanceTime(m);
                e.cellHtml = lasttime;
            }

得到的,那么我该怎么对 if (e.field == "RepairedTimeLasts")  field=RepairedTimeLasts的这一行排序呢?
作者: 小葱儿    时间: 2014-6-12 10:00:08

小葱儿 发表于 2014-6-12 09:50
我后天是根据  order by  RepairedTime  desc 排序的,我前台的这一行是根据

if (e.field == "RepairedTi ...

[attach]4675[/attach]
点击图片中的小三角没有起到排序效果?

作者: factory    时间: 2014-6-12 10:11:44

小葱儿 发表于 2014-6-12 10:00
点击图片中的小三角没有起到排序效果?

文本不等同于 表格数据的单元格值.  你后台orderby的排序,是对表格值的排序,并不是你渲染后的文本内容排序
作者: 小葱儿    时间: 2014-6-12 10:20:32

factory 发表于 2014-6-12 10:11
文本不等同于 表格数据的单元格值.  你后台orderby的排序,是对表格值的排序,并不是你渲染后的文本内容排 ...

我我想对这个排序是不能实现的,是吧
作者: factory    时间: 2014-6-12 10:32:36

小葱儿 发表于 2014-6-12 10:20
我我想对这个排序是不能实现的,是吧

你order by 是对数据库里面的值的排序, 跟表格内容又无关, 你这个时间排序全部错乱掉了,说明你本身对数据库内容的order by出来的顺序就是错了.




欢迎光临 jQuery MiniUI (http://miniui.com/discuss/) Powered by Discuz! X2