sum()

計算資料集中數值的總和。

這個外掛程式相當簡單,它會從 API 結果集中取得資料並加總,然後傳回總和值。資料可以來自任何資料來源,包括欄位資料、儲存格或列。

請注意,它會嘗試「取消格式化」任何傳入的字串型資料 - 也就是說,它會去除任何非數字字元,以便盡力加總所有資料類型。當處理貨幣等格式化數字時,這可能很有用。然而,缺點是如果傳入非數字資料,則不會拋出錯誤。如果傳回了意外的值,您應該注意到這一點 - 可能是輸入資料與預期的不同。

使用方法

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

瀏覽器

此外掛程式可在 DataTables CDN 上取得

JS

然後,此外掛程式會自動註冊到全域的 DataTables 實例。如果您使用像 Require.js 這樣的 AMD 載入器,也可以使用此檔案。

請注意,如果您使用多個外掛程式,將外掛程式組合成單一檔案並託管在您自己的伺服器上,而不是向 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/sum().mjs';

CommonJS

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

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

範例

// Simply get the sum of a column
  var table = $('#example').DataTable();
  table.column( 3 ).data().sum();
// Insert the sum of a column into the columns footer, for the visible
  // data on each draw
  $('#example').DataTable( {
    drawCallback: function () {
      var api = this.api();
      $( api.table().footer() ).html(
        api.column( 4, {page:'current'} ).data().sum()
      );
    }
  } );

版本控制

如果您對如何改進此外掛程式有任何想法,或發現任何錯誤,它可以在 GitHub 上找到,並且非常歡迎提交 Pull Request!