novalue.js

將任何 "novalue" 模式排序為最大值或最小值(例如,將 '-' 視為 -1000 或 1000)。

  • 作者:Darek L https://github.com/dprojects
  • 已棄用:此外掛程式已棄用,並以其他功能取代。請參閱下方的詳細說明以取得更多資訊。

在 DataTable 中排序數值時,您可能希望將任何 'novalue' 模式排序為欄中的最大值或最小值(例如,將 '-' 視為 -1000 或 1000)。

如果您想要排序不完整的資料,這非常有用,因為並非每一欄的每個項目都有資料(例如,Covid-19 的康復人數)。

如果您沒有資料,您可以將 'novalue' 模式設定為 '-' 或任何其他模式,並將確切的欄位設定為將此 'novalue' 模式視為最大值 (sethigh) 或最小值 (setlow)。

使用

此外掛程式可以透過多種不同的方式取得和使用。

瀏覽器

此外掛程式可在 DataTables CDN 上取得

JS

然後,此外掛程式將自動向全域 DataTables 實例註冊自身。如果您正在使用 AMD 載入器(例如 Require.js),也可以使用此檔案。

請注意,如果您正在使用多個外掛程式,將這些外掛程式合併到單一檔案並將其託管在您自己的伺服器上,而不是多次向 DataTables CDN 發出請求,在效能方面可能會更有利。

NPM

這些外掛程式都可在 NPM 上取得(也可以與 Yarn 或任何其他 Javascript 套件管理器搭配使用),作為 datatables.net-plugins 套件的一部分。若要使用此外掛程式,請先安裝外掛程式套件

npm install datatables.net-plugins

ES 模組

然後,如果您正在使用 ES 模組,請匯入 datatables.net、您需要的任何其他 DataTables 擴充功能以及此外掛程式

import DataTable from 'datatables.net';
import 'datatables.net-plugins/sorting/novalue.mjs';

CommonJS

如果您正在為 Node 使用 CommonJS 載入器(例如,搭配舊版本的 Webpack 或非模組化的 Node 程式碼),請使用以下方法來 require 此外掛程式

var $ = require('jquery');
var DataTable = require('datatables.net');
require('datatables.net-plugins/sorting/novalue.js');

範例

gTable = $('#covid-table').DataTable({
                "orderClasses": true,
                "responsive": true,
                "columnDefs": [ { "type": "sethigh", "targets": [2, ,3, 4, 7, 8] },
                                { "type": "setlow", "targets": [5, 6] } ]
    });

To change order later:

    gTable.order([8, 'asc'],[6, 'desc']).draw();

Keep in mind there must be "desc" in this case not "dsc".

版本控制

如果您有任何關於如何改進此外掛程式的想法,或者發現任何錯誤,它都可以在 GitHub 上取得,而且我們非常歡迎提取請求!