絕對排序

排序時,將一個或多個項目保持在表格的頂部和/或底部

當您對 DataTable 進行排序時,您可能會希望將特定項目保持在表格的頂部或底部。例如,當排序數字列時,如果值為 nullN/A,您可能希望將其保持在表格的底部,無論應用升序還是降序排序。此外掛程式提供了該功能。

您必須使用關於您希望在排序順序中設為絕對值的資訊調用 $.fn.dataTable.absoluteOrder,並儲存返回的值,將其指派給您希望應用此排序的列的 columns.type 選項。

對於基於數字的列,還提供了一個 $.fn.dataTable.absoluteOrderNumber 函數。

使用

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

瀏覽器

此外掛程式可在 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/absolute.mjs';

CommonJS

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

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

範例

var namesType = $.fn.dataTable.absoluteOrder( [
    { value: '', position: 'top' }
  ] );

  var numbersType = $.fn.dataTable.absoluteOrderNumber( [
    { value: 'N/A', position: 'bottom' }
  ] );

  $('#example').DataTable( {
    columnDefs: [
      { type: namesType, targets: 0 },
      { type: numbersType, targets: 1 }
    ]
  } );

版本控制

如果您對如何改進此外掛程式有任何想法,或者發現任何錯誤,它都可以在 GitHub 上取得,並且非常歡迎提出 pull request!