Hello I want to use aggregate function in my grid but it not work. I read examples here but no success.
Can someone tell me why?
Here is my code:
@(Html.Kendo().Grid(Model.RecipeLinesdetail)
.Name("#grid")
.Editable(editable => editable.Mode(GridEditMode.InCell))
.Columns(c=>{
c.Bound(c=>c.RecipeLineId).Hidden(true);
c.Bound(c=>c.ChemistryRecipeViewModel.ChemistryName)
.EditorTemplateName("ChemistryEditor")
.Width(500)
.ClientTemplate("#= ChemistryRecipeViewModel.ChemistryName # <input type='hidden' name='RecipeLinesdetail[#=index(data)#]"+
".ChemistryRecipeViewModel.ChemistryId' value='#= ChemistryRecipeViewModel.ChemistryId #' />"+
"<input type='hidden' name='RecipeLinesdetail[#=index(data)#]"+
".ChemistryRecipeViewModel.ChemistryName' value='#= ChemistryRecipeViewModel.ChemistryName #' />");
c.Bound(c=>c.Dosage)
.EditorTemplateName("DosageEditor")
.ClientTemplate("#= kendo.toString(Dosage,\"n3\")# <input type='hidden' name='RecipeLinesdetail[#=index(data)#].Dosage' value='#= Dosage #' />")
.ClientFooterTemplate("Dávkování celkem: #=sum#");
c.Bound(c=>c.Units.UnitName)
.EditorTemplateName("UnitsEditor")
.Title("Jednotka výpočtu")
.ClientTemplate("#= Units.UnitName # <input type='hidden' name='RecipeLinesdetail[#=index(data)#]"+
".Units.UnitId' value='#= Units.UnitId #' />"+
"<input type='hidden' name='RecipeLinesdetail[#=index(data)#]"+
".Units.UnitName' value='#= Units.UnitName #' />");
c.Bound(c=>c.Rounded)
.EditorTemplateName("DosageEditor")
.ClientTemplate("#= kendo.toString(Rounded,\"n3\") # <input type='hidden' name='RecipeLinesdetail[#=index(data)#].Rounded' value='#= Rounded #' />");
c.Bound(c=>c.Units2.UnitName)
.EditorTemplateName("Units2Editor")
.Title("Jednotka vážení")
.ClientTemplate("#= Units2.UnitName # <input type='hidden' name='RecipeLinesdetail[#=index(data)#]"+
".Units2.UnitId' value='#= Units2.UnitId #' />"+
"<input type='hidden' name='RecipeLinesdetail[#=index(data)#]"+
".Units2.UnitName' value='#= Units2.UnitName #' />");
c.Bound(c=>c.Comment)
.ClientTemplate("#= Comment # <input type='hidden' name='RecipeLinesdetail[#=index(data)#].Comment' value='#= Comment #' />");
c.Command(command => command.Destroy()).Width(150);
})
.DataSource(dataSource => dataSource
.Ajax()
.Aggregates(agr=>{
agr.Add(c=>c.Dosage).Sum();
})
.Batch(true)
.Create(create => create.Action("Create", "Recipes"))
.Destroy(destroy => destroy.Action("Destroy", "Recipes"))
.Model(m =>{
m.Id(id=>id.RecipeLineId);
m.Field(id=>id.RecipeLineId).Editable(false).DefaultValue(0);
m.Field(f=>f.ChemistryRecipeViewModel).DefaultValue(
new ChemistryRecipeViewModel{
ChemistryId="0",
ChemistryName=""
});
m.Field(f=>f.Units).DefaultValue(
new UnitRecipeViewModel{
UnitId=0,
UnitName=""
});
m.Field(f=>f.Units2).DefaultValue(
new UnitRecipeViewModel{
UnitId=0,
UnitName=""
});
m.Field(f=>f.Comment).DefaultValue("");
}))
.ToolBar(toolbar =>
{
toolbar.Create();
toolbar.Excel();
toolbar.Search();
})
.Excel(excel=>excel.ProxyURL(Url.Action("Excel_Export_Save", "Grid")))
.Editable())
And last point is I would like to have it works also when user add or change value
Is there possibility to update Sum when cell change?
Many thx in advance
Lukas