2

これはこのフォーラムでの私の最初の投稿ですので、しばらくお待ちください。

サマリーを設定して、グリッド内のすべての行の合計を表示する必要があります。他のページ内にある行も含めて、値の絶対合計を表示します。

私はそれを探していましたが、この問題を抱えている人がたくさんいたので、私のコードの問題ではないと思います. グループ化メカニズム自体の設計のように聞こえますが、それ以外の場合はわかりません。

しかし、明確にするために、そこから合計を取得するにはサーバー側を呼び出す必要があると思いますが、これは可能ですか? もしそうなら、jsonでどうすればいいですか?

フォーマッタ オプションを使用することを考えていましたが、行ごとにトリガーされます。最初の呼び出しで合計が完全になるため、これは考えられません。

助言がありますか?

ありがとう !!!

4

1 に答える 1

1

合計を表示するカスタムsummaryType関数を定義できます。のドキュメントによるとsummaryType

オプションは関数として定義できます。定義されている場合は、現在の値、名前、レコード オブジェクトの 3 つのパラメーターを渡します。関数は値を返す必要があります。この値は、グループ値が変更されるまで再び使用されることに注意してください。

たとえばtotalSumRecord、ページがロードされたときに を取得できます。フォーマッタから直接 AJAX 呼び出しを行うのはお勧めできません。その後、適切な値をフォーマッタに表示します。

function myCustomSummary(val, name, record) {
    return totalSumRecord[name];
}

jQuery("#grid").jqGrid({ 
  ...
  colModel : [
     {..},
     {name:'myColumn',
      index:'myColumn', 
      width:80, 
      align:"right", 
      sorttype:'number',
      formatter:'number',
      summaryType:myCustomSummary},
     ...
  ],
  ...
});


アップデート

jqGrid 4.4 には、集計タイプとして関数を使用できないというバグがあります。これが影響する場合は、ここで修正します。

于 2012-06-14T13:41:39.077 に答える