gpt4 book ai didi

date - 如何在 jqGrid 中对 "days ago"格式的日期进行排序?

转载 作者:行者123 更新时间:2023-12-02 02:10:47 25 4
gpt4 key购买 nike

如何在 jqGrid 中对“几天前”格式的日期进行排序?当我当前对网格进行排序时,无法区分“11 小时前”和“1 天前”。因此,“1 天前”排在顶部而不是“11 小时前”。

**请引用这张网格图片。


enter image description here

我的 jqGrid 有以下代码。 recommendationData 是 JSON。 发布 列是日期。

$("#tblRecommendationList").jqGrid({
data: recommendationData,
datatype: 'local',
colModel: [
{ name: 'Title', label: 'Title', width: 210, resizable: true },
{ name: 'Channel', label: 'Content Type', width: 120, resizable: true },
{ name: 'StatusNumber', label: 'Status', width: 120, resizable: true,
formatter: GetStatusCode },
{ name: 'Posted', label: 'Posted', width: 120, resizable: true },
{ name: 'RecordId', label: 'RecordId', hidden: true }
],
loadtext: 'Loading...',
loadui: 'block',
emptyDataText: "No Recommendations to display",
shrinkToFit: true,

日期按以下方式传递。

    ...
returnList =
(
from i in responseList
select new InQuiraRecommendation
{
StatusNumber = i.statusnumber,
Title = i.title,
Text = i.text,
Posted = GetDaysAgo(i.dateadded),
CaseNumber = i.casenumber,
Priority = i.priority,
Channel = i.channel,
RecordId = i.recordid,

}
).ToList();
}
return returnList;
}

GetDaysAgo( ) 将“2012-09-13 07:00:00 Etc/GMT”日期格式更改为“几天前”格式。

最佳答案

问题始于对服务器上准备的数据使用datatype: 'local'。如果您使用 datatype: 'json'服务器 将负责对数据进行排序,您可以将正确排序的数据返回到 jqGrid。

另一种方法是实现 GetDaysAgo 方法,该方法转换回传到 ISO 8601 中的日期。格式为“11 小时前”或“1 天前”之类的文本,在客户端作为 JavaScript 代码。所以你可以使用 custom formatter (和 unformatter )来显示数据。

另一种选择是为 'Posted' 列定义自定义 sorttype 属性,定义为函数。例如,该函数可以返回将用于按列排序的小时数,而不是文本“11 小时前”或“1 天前”。

Here是自定义排序的第一个引用,here你会发现一些可以帮助你的代码示例。如果您要使用可排序字符串(例如 ISO 8601)创建隐藏列,则可以简化自定义排序的实现(sorttype 作为函数的实现)。在 sorttype 函数内,您可以根据 sorttype 的第二个参数访问该行的任何其他数据(有关详细信息,请参阅 here)。以这种方式,您可以作为 sorttype 函数的结果返回 'Posted' 的 ISO 8601 表示(从隐藏列)。

关于date - 如何在 jqGrid 中对 "days ago"格式的日期进行排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12959908/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com