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 package 的一部分。若要使用此插件,请首先安装插件包

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 上查看,我们非常欢迎请求拉取!