绝对排序
对表格中的一个或多个项目进行排序时,将其始终保持在顶部和/或底部
- 作者:艾伦·贾丁
对数据表进行排序时,你可能会希望将特定项保留在表顶部或底部。例如,对数字列进行排序时,如果值为 null
或 N/A
,你可能希望无论应用升序或降序排序,都将其保留在表的底部。此插件提供了该功能。
你必须调用包含你希望在排序顺序中置顶的信息的 $.fn.dataTable.absoluteOrder
,并存储返回值,将其分配给要为此应用排序的列的 columns.type
选项。
对于基于数字的列,还提供 $.fn.dataTable.absoluteOrderNumber
函数。
用途
此插件可以通过多种不同方式获取和使用。
浏览器
此插件可在 DataTables CDN 上获得
然后,该插件将自动针对全局数据表实例注册自身。如果你正在使用 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
如果你正在为节点使用 CommonJS 加载器(例如,使用旧版 Webpack 或非模块节点代码),请使用以下方法来 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 上找到它,非常欢迎提出请求!
- 此插件:absolute.js
- 完整的 DataTables 插件仓库:DataTables/Plugins