2012-11-23 11 views

Odpowiedz

18

Tak, rzeczywiście! sprawdź DataSource Aggregate.

Przykład:

var stocksDataSource = new kendo.data.DataSource({ 
    transport:{ 
     read:function (options) { 
     } 
    }, 
    schema :{ 
     model:{ 
      fields:{ 
       name :{ type:"string" }, 
       price:{ type:"number" } 
      } 
     } 
    }, 
    aggregate:[ 
     { field:"price", aggregate:"sum" } 
    ], 
    pageSize :10 
}); 

I zdefiniowano DataSource z dwóch pól: elementy name i price. Chcę zsumować price, więc zdefiniowałem aggregate dla price, a ja zamierzam zrobić to: sum (można również min, max, average i count).

Następnie w Grid kiedy zdefiniować kolumny piszę:

columns :[ 
    { field:"name", title:"Product" }, 
    { field:"price", title:"Price", footerTemplate:"Sum: #= sum # " } 
], 

I to jest to!

+0

Jak to zrobić w pomocniku @ Html.Kendo(). Grid (Model)? –

+4

Pozwól mi zobaczyć, czy mogę wpisać jako komentarz SO to: .DataSource (dataSource => dataSource.Ajax(). Agregaty (agregaty => {aggregates.Add (p => p.price). Sum();)) I kolumna: Kolumny (kolumny => {kolumny.Zgłoszenie (p => p.nazwa); kolumny.Złożenie (p => p.price) .ClientFooterTemplate ("Suma: # = suma #");)) – OnaBai

+0

Awesome, that worked! –