2016-08-02 5 views
0

私はEXTJS 4.2.1を使用しています。私のアプリケーションには、ページング、グループ化の要約、要約機能などのグリッドがあります。要約機能の合計をオーバーライドしたいのは、現在表示されているページだけでなく、データセット全体の総計を表示する必要があるからです。 サマリー機能をオーバーライドすることは可能ですか?EXTJSのサマリーの合計を上書きするにはどうすればよいですか?

事前にアドバイスをいただきありがとうございます。 :-)

+0

サマリーをサーバー側で数え、それをクライアントに送信し、単にデータを表示するためにサマリー機能を使用する必要があります。私は、あなたがどのような要約機能を使用しているかを知るまで、さらにあなたに話すことはできません。 – MarthyM

+0

グリッドに通常のサマリー機能を使用しています。そして、私は2つの列を合計したいと思いますが、ページングメカニズムは、異なるページの合計をサマライズするようには見えません....現在のページの列のみを合計し、次のページにあります。 – F4k3d

答えて

0

summaryRendererを列構成で使用してください。これは、あなたがサマリー行にカスタムデータを表示することを可能にするExtJSの無償の機能です。

データをサーバー側で要約し、summaryRendererでアクセスするクライアントに送信する必要があります。そのよう

columns: { 
    items: [ 
     { 
      text: "Column A", 
      dataIndex: "field_A", 
      summaryRenderer: function(value, summaryData, dataIndex) { 
       var grid = this; 

       // Get the value here and return it 
       var result = functionToGetValue(grid); 

       return result; 
      } 
     }, 
     // ... 
    } 
] 

functionToGetValueはあなたがサーバーからクライアントに送信され、集計値を渡す場所です。

あなたはどのようにあなたのコードにdepensしますか。 grid.getStore()で店舗にアクセスできます。

サマリーデータを各レコードに追加して、単純にstore.getAt(0).get('summaryValue')を使用すると、無駄ですがシンプルで機能します。

+0

ありがとうMarthy。私は明日これを試し、あなたにフィードバックを与えます。 – F4k3d

+0

それで、どうしたの? – MarthyM

+0

1つのことを除いて正常に動作します...ページングを使用した後、前のページの要約値は合計されません。金額は現在のページのみで合計されます。問題のアドバイスはありますか? – F4k3d

関連する問題