2

列による並べ替えとグループ化を可能にする jQuery ソリューションを探しています。次に、フッター セクションで、上記のすべての値の合計を表示できるようにする必要があります。

例: 国、日付、売上の 3 つの列があります。

US     20120714       50
DE     20120714       40
BR     20120714       30
US     20120715       60
DE     20120715       60
BR     20120715       20

国別に並べ替えると、次のようになります。

BR     20120714       30
BR     20120715       20
                      50
DE     20120714       40
DE     20120715       60
                     100
US     20120714       50
US     20120715       60
                     110

日付で並べ替えた場合:

BR     20120714       30
DE     20120714       40
US     20120714       50
                     120
BR     20120715       20
DE     20120715       60
US     20120715       60
                     140

等々...

これに利用できるプラグインはありますか?

4

3 に答える 3

4

すでに提案したように、Datatablesはニーズに合った使いやすいJQueryプラグインです。箱から出してソートすることをサポートし、グループ化も行うことができます。このを参照してください。
こののように、フッターを変更して列の合計を表示することもできます。

ただし、このfnDrawCallback関数を使用することもできます。これは、テーブルが描画されるたびに呼び出され、描画方法を変更する可能性を提供します。

例:

"fnDrawCallback": function (oSettings) {
    // Get all rows of your table
    var nTrs = $tableElement.find('tbody tr');
    // Enumerate all rows
    var sum = 0;
    for (var i = 0; i < nTrs.length; i++) {
         var iDisplayIndex = oSettings._iDisplayStart + i;
         var dataIndex = oSettings.aiDisplay[iDisplayIndex];
         sum += oSettings.aoData[dataIndex]._aData.{your item};
    }
    // Insert sum at the end
    $tableElement.find(' tbody tr:last').after('<p>'+sum+'</p>');

この例では、変数$tableElementにデータテーブルインスタンスのJQueryオブジェクトが含まれています。

于 2012-07-17T12:17:31.310 に答える
1

クライアントを重いロジックで独り占めしたくありません。それは途切れて遅くなります。

サーバー側ですべての並べ替え/グループ化/カウントを実行し、クライアントに処理済みで表示する準備ができているすべてのデータを提供するだけです。

これには、単純な ajax 呼び出しと一連のパラメーターが必要なだけです。不要な場所で魔法をかける必要はありません。

于 2012-07-17T12:22:48.803 に答える
1

検索を試す必要があることは明らかで、Google を使用するのは非常に簡単です。ここでは、自分で試してから、「問題」について質問する必要があります。

ここでは、無料の魚を与えないように釣りをする方法を学ぶ必要があります:)

あなたの質問の別の側面は非常に広いです。多くの人が多くのプラグインを提供し、すべて正しいことを意味しますが、その答えが本当に正しいか最高だからではなく、「あなた」が望むように「あなた」の答えを選択します。

だから、なぜあなたは票を下げるでしょう。(私が考えたり見たりするものとして)

とにかく、そのようなプラグインが必要かどうかを確認できます: http://datatables.net/release-datatables/examples/plug-ins/sorting_sType.html

または別の方法: http://datatables.net/ おそらくコーディング(合計)が必要です。

ここにたくさんのプラグインがあります: http://www.jquery4u.com/plugins/30-amazing-jquery-tables/#.UAUUD_XU6Iw

自分でそれらを探索してください。何か役立つことを願っています。非常に簡単なグーグルとばかげた言葉でこれらのリンクを取得しました:)

于 2012-07-17T07:30:29.047 に答える