絕對排序
排序時,將一個或多個項目保持在表格的頂部和/或底部
當您對 DataTable 進行排序時,您可能會希望將特定項目保持在表格的頂部或底部。例如,當排序數字列時,如果值為 null
或 N/A
,您可能希望將其保持在表格的底部,無論應用升序還是降序排序。此外掛程式提供了該功能。
您必須使用關於您希望在排序順序中設為絕對值的資訊調用 $.fn.dataTable.absoluteOrder
,並儲存返回的值,將其指派給您希望應用此排序的列的 columns.type
選項。
對於基於數字的列,還提供了一個 $.fn.dataTable.absoluteOrderNumber
函數。
使用
此外掛程式可以透過多種不同的方式取得和使用。
瀏覽器
此外掛程式可在 DataTables CDN 上取得
然後,該外掛程式會自動在全域 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!
- 此外掛程式:absolute.js
- 完整的 DataTables 外掛程式儲存庫:DataTables/Plugins