【问题标题】:jqgrid descending date sort not working properlyjqgrid降序日期排序无法正常工作
【发布时间】:2013-09-26 05:32:49
【问题描述】:

使用 jqgrid 3.7.2、C#、Asp.Net 案例:数据来自后端的sql server到服务器端的数据表,包含日期列例如

加载日期列有以下内容:

2013-09-15 20:54:03.047

2013-09-15 20:54:03.050

2013-09-15 20:54:03.053

2013-09-15 20:54:11.360

预期的 desc 日期列排序应该是:

2013-09-15 20:54:11.360

2013-09-15 20:54:03.053

2013-09-15 20:54:03.050

2013-09-15 20:54:03.047

但是得到:

2013-09-15 20:54:11.360

2013-09-15 20:54:03.047

2013-09-15 20:54:03.050

2013-09-15 20:54:03.053

似乎降序排序只能排序到分钟而不是毫秒。

使用以下代码:

colModel: [{ name: 'LoggedAt', index: 'LoggedAt', width: 60, title: false, sortable: true}], 排序名称:'LoggedAt', 排序顺序:'DESC'

请提出建议。

【问题讨论】:

  • SQL Server 中的日期格式以及您在 c# 中使用的日期格式。对于此模型,您可能需要在 SQL 中使用 datetime2 并在 c# 中使用 datetime 对象。我假设您可以查看 json 输出的秒数,因此最好在过滤器和排序之前创建一个断点,然后在它之后创建一个断点,然后比较两个结果。

标签: date sorting jqgrid


【解决方案1】:

访问 sql server 的实际查询是什么? (您可以将查询变量打印到 php 日志,或者使用 SQL Server 分析器来确定它。然后您可以在查询窗口中测试查询,以查看数据从 SQL Server 返回的顺序。

【讨论】:

  • 查询看起来像: exec GetLog 20167 (20167 is job id) 我认为问题是 .在日期毫秒之前。
  • 实际上问题是我需要排序到毫秒并尝试了几件事,但看起来没有什么好。也许错过了什么。
【解决方案2】:

解决方案:我使用 DataGrid 进行绑定,默认 DataGrid 日期格式为“d”。将格式更改为“{0:MM/dd/yyyy hh:mm:ss:fff tt}”,现在 jqgrid 排序工作正常

【讨论】:

    猜你喜欢
    • 2020-12-14
    • 2012-03-29
    • 2018-07-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多