2016-09-02 11 views
0

私は、人口番号を含む大きなテーブル(5列×116k行)を持っています。
母集団を含む列を合計する必要があり、この合計が適用されるフィルタによって変化することが必要です。
フィルタに郵便番号を入力すると、この特定の郵便番号の人口の合計が必要になります。
datatablesページングによる各行の合計値

(私はメインフィルタ+列https://datatables.net/examples/api/multi_filter.htmlあたり複数のフィルタを使用しています)私は、和API使用してみました:https://datatables.net/plug-ins/api/sum()

それは動作しますが、それだけで表示される行の合計を提供します。
検索フィールドに何かを入力したときに除外された行を除いて、すべての行の合計を取得するにはどうすればよいですか?

私はまた、フッターコールバックまた働く方法https://datatables.net/examples/advanced_init/footer_callback.html
が、同じ問題を試みた可視行の合計のみではなく、他のページを。

可能であれば、2番目の方法(フッターコールバック)を使用することをお勧めします。これはすべて1か所にあり、簡単に維持できます。

ありがとうございます!

+0

サーバー側またはクライアント側のデータシート? – markpsmith

+0

クライアントサイドの純粋なJavaScript、静的なWebサイト –

答えて

1

私はあなたが

.column(4, {'search': 'applied'}) 

.column(4, { page: 'current'}) 

を交換https://datatables.net/examples/advanced_init/footer_callback.html

.column()

{'search': 'applied'}を使用する必要があり、それが最終的に

ました

このように:

// Total over the search 
searchTotal = api 
    .column(4, {'search': 'applied'}) 
    .data() 
    .reduce(function (a, b) { 
     return intVal(a) + intVal(b); 
    }, 0); 
0

サーバ側のページングである "datatables"テーブルを使用してすべての値を合計するには、view dropboxview allを指定し、すべて表示したときにその値を取得する必要があります。

this linkview all機能の実装があります。

OR

のDataTableの主な目的は、よく構造化形式でデータを表現するためにあるすべての値を合計していないので、総和を返し、別のAjaxサービスのURLを提供します。

+0

行が多すぎるため、すべての機能を使用することはできません。既にページングを無効にしようとしましたが、ページが使用できなくなるまでページが遅くなります。 –

+0

私の他の提案は、合計を返す別のサービスURLを生成することです。ご存知のように、データテーブルは、構造化された形式のデータを表現するだけです。 – webmaster

関連する問題