2012-11-23 13 views

Antwort

18

Ja tatsächlich! Überprüfen Sie DataSource Aggregate.

Beispiel:

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 
}); 

ich ein DataSource mit zwei Feldern definiert haben: die Elemente name und price. Ich möchte aufsummieren die price so definiert ich eine aggregate für price und was ich tun sum (Sie können auch min, max, average und count).

Dann in der Grid, wenn ich die Spalten definieren ich schreibe:

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

Und das ist es!

+0

Wie würde das in einem @ Html.Kendo(). Grid (Model) Helper getan werden? –

+4

Lassen Sie mich sehen, ob ich als SO Kommentar geben kann: .DataSource (dataSource => dataSource.Ajax(). Aggregates (Aggregate => {Aggregate.Add (p => p.Price) .Sum();})) Und die Spalte: Spalten (Spalten => {columns.Bound (p => p.name); columns.Bound (p => p.price) .ClientFooterTemplate ("Summe: # = Summe #");}) – OnaBai

+0

Super, das hat funktioniert! –