columns().order()
透過 columns() API 方法套用多欄排序。
- 作者:Allan Jardine
- 需求:DataTables 1.10+
DataTables 核心函式庫提供透過 column().order()
方法設定排序的功能,但沒有複數等效方法。雖然可以使用 order()
設定多欄排序,但該方法需要使用欄索引。
此外掛程式提供複數 columns().order()
方法,因此您可以設定多欄排序,同時保留 columns()
選取器選項的優點。
使用方式
此外掛程式可以透過多種不同方式取得和使用。
瀏覽器
此外掛程式可在 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/api/columns().order().mjs';
CommonJS
如果您正在使用 Node 的 CommonJS 載入器(例如,使用舊版 Webpack 或非模組 Node 程式碼),請使用以下方法 require
此外掛程式
var $ = require('jquery');
var DataTable = require('datatables.net');
require('datatables.net-plugins/api/columns().order().js');
範例
// Apply multi-column sorting with a common direction
table.columns( [ 1, 2 ] ).order( 'desc' ).draw();
// Multi-column sorting with individual direction for the columns
table.columns( [ 1, 2 ] ).order( [ 'desc', 'asc' ] ).draw();
// Multi-column sorting based on a name selector
table.columns( [ 'sign_up_date:name', 'user_name:name' ] ).order( 'desc' ).draw();
版本控制
如果您對如何改進此外掛程式有任何想法,或發現任何錯誤,它可在 GitHub 上取得,並且非常歡迎發出提取請求!
- 此外掛程式:columns().order().js
- 完整的 DataTables 外掛程式存放庫:DataTables/Plugins