簡體   English   中英

如何在數據表中進行自定義日期排序?

[英]How to make custom date sort in datatables?

我有日期列表:

2015-03-03 20:14 
2015-04-15 20:33 
2015-04-20 09:34 
2015-04-28 22:18

但是某些單元格沒有日期(我將其標記為- )。 當我使用常規排序功能時,它看起來像:

—
—
—
2015-03-03 20:14
2015-04-15 20:33
2015-04-20 09:34
2015-04-28 22:18

但是我需要:

2015-03-03 20:14
2015-04-15 20:33
2015-04-20 09:34
2015-04-28 22:18
— 
—
—

實際上,我必須按兩個參數進行排序,並且還要在表末尾設置沒有日期的行。 我添加了兩個數據屬性(時間戳格式的狀態和日期):

<tr>
  <td><span class="label label-warning" data-status="0" data-date="1397562467">Status 0</span></td>
  <td>2015-03-03 20:14</td>
</tr>
<tr>
  <td><span class="label label-warning" data-status="1" data-date="1397567321">Status 1</span></td>
  <td>2015-04-15 20:33</td>
</tr>
<tr>
  <td><span class="label label-warning" data-status="0" data-date="1397567746">Status 0</span></td>
  <td>2015-04-20 09:34</td>
</tr>
<tr>
  <td><span class="label label-warning" data-status="0" data-date="1397567321">Status 0</span></td>
  <td>2015-04-15 20:33</td>
</tr>

我做了新的自定義排序功能:

jQuery.fn.dataTableExt.oSort['status-date-asc']  = function(x,y) {

                var xStatus, xDate, yStatus, yDate;

                xStatus = $(x).data('status');
                yStatus = $(y).data('status');
                xDate   = $(x).data('date');
                yDate   = $(y).data('date');

                return xStatus > yStatus ? 1
                        : xStatus < yStatus ? -1
                        : xDate > yDate ? 1
                        : xDate < yDate ? -1 : 0;

            };

並使用新的排序功能初始化此行:

        var currentTable = $('#current_table').dataTable( {

            "aaSorting": [ [5, 'asc'] ],
            "aoColumns": [
                null,
                null,
                null,
                null,
                null,
                { "sType": 'status-date' },
                null,
                null,
                null
            ],
      });

最后,它看起來:

  • 狀態0,日期= 2015-03-03 20:14
  • 狀態0,日期= 2015-04-15 20:33
  • 狀態0,日期= 2015-04-20 09:34
  • 狀態0,日期= 2015-04-28 22:18
  • 狀態0,日期=不適用
  • 狀態0,日期=不適用
  • 狀態0,日期=不適用
  • 狀態1,日期= 2015-03-03 20:14
  • 狀態1,日期= 2015-04-15 20:33
  • 狀態1,日期= 2015-04-20 09:34
  • 狀態1,日期= 2015-04-28 22:18
  • 狀態1,日期=不適用
  • 狀態1,日期=不適用
  • 狀態1,日期=不適用

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM