W2ui网格中的日期排序方法

Date Sort Method in W2ui Grid

我想对 'dd/mm/yyy' 中的 W2ui 网格日期列进行排序,但是当网格中有多个记录时,日期未正确排序

我正在使用 w2ui['grid'].sort('dd/mm/yyyy',event)

抱歉,您的代码 w2ui['grid'].sort('dd/mm/yyyy',event) 没有任何意义。

假设您的网格有一个名为 date 的列,您想要对其进行降序排序,则必须调用:w2ui.grid.sort('date', 'desc')

(注意w2ui['grid']w2ui.grid是一样的,你可以选择你喜欢的语法)。

请参阅 grid.sort 的文档:http://w2ui.com/web/docs/w2grid.sort

如果这没有帮助,您应该提供一个基本的 jsfiddle,其中包含您的网格列和一些示例记录。

在 w2ui 网格上按日期列排序应该如下所示。您应该提供一个额外的字段,名称为“yourDateSortable”,其中正确包含可排序的字符串。 在我的示例中,“yourDateSortable”是“yourDate”的格式化版本,采用“YYYYMMDD”日期格式。请注意,“yourDateSortable”是隐藏字段。它仅用于排序而不是“yourDate”。

var dataParam = [
{
"id": 1,
"data": {
  "yourDate": "27/09/2014 00:00:00",
  "yourDateSortable": "20140927"
}
},
{
"id": 2,
"data": {
  "yourDate": "01/03/2014 00:00:00",
  "yourDateSortable": "20140301"
}
},
{
"id": 3,
"data": {
  "yourDate": "10/01/2022 00:00:00",
  "yourDateSortable": "20220110"
}
},
{
"id": 4,
"data": {
  "yourDate": "25/04/2015 00:00:00",
  "yourDateSortable": "20150425"
}
}
];

$('#resultList').w2grid({
...
columns: [
{field: 'data.yourDateSortable', text: 'Your_Date_Field Hidden', size: '90px', min: '150', sortable: true, hidden:true },
{field: 'yourDateVisible', text: 'Your_Date_Field', size: '90px', min: '150', sortable: true, 
     render: function (record) {
            var a = moment(record.data.yourDate, "DD/MM/YYYY hh:mm").format('DD/MM/YYYY hh:mm') ;
                    return '<span title="' + a + '">' + a + '</span>';
                } }
],
records: dataParam,
...
onSort: function (event){
            if (event.field == "yourDateVisible") {
                event.preventDefault();
                w2ui['grid'].sort('data.yourDateSortable');
                event.onComplete = function () {
                    w2ui['grid'].sort('data.yourDateSortable');
                }
            }
        }
});