0

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

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

4

2 回答 2

0

抱歉,您的代码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,包括您的网格列和一些示例记录。

于 2016-05-30T06:45:46.373 回答
0

在 w2ui 网格上的日期列上排序应该如下所示。您应该提供一个额外的字段,名称为“yourDateSortable”,其中包含正确的可排序字符串。在我的示例中,“yourDateSortable”是“YYYYMMDD”日期格式的“yourDate”的格式化版本。请注意,“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');
                }
            }
        }
});
于 2022-01-27T13:53:50.377 回答