我在ajax模式中使用了Kendo UI网格,并有一个包含列总和的ClientFooterTemplate。这一切都工作得很好,但是如果我创建/更新或删除一条记录,ClientFooterTemplate不会更新,并且sum值保持不变。
如何更新ClientFooterTemplate,使sum值在创建/更新或删除后是最新的?
这就是我到目前为止所尝试的:
.Events(events =>
{
events.SaveChanges("SaveChanges");
events.Remove("Remove");
events.Save("SaveChanges");
})
<script>
function SaveChanges(e) {
Reload(e.sender);
}
function Remove(e) {
Reload(e.sender);
}
function Reload(obj) {
obj.dataSource.read();
}
</script>obj.dataSource.read()在实际的更新请求之前执行。
发布于 2014-02-26 18:18:16
您需要更新datasource并再次获取,如果您在网格页脚中使用聚合sum,下面的JavaScript将在您每次创建/更新任何行时更新您的页脚sum。
.DataSource(dataSource => dataSource
.Ajax()
.Aggregates(aggregates =>
{
aggregates.Add(p => p.WorkOrderDetailsQuantity).Sum();
aggregates.Add(p => p.Total).Sum();
})
.Events(e=>e.Edit("onEdit").Save("onSave"))
function onSave(e)
{
//update the aggregate columns
var dataSource = this.dataSource;
e.model.one("change", function () {
dataSource.one("change", function () {
dataSource.aggregates().Total.sum;
});
dataSource.fetch();
});
}https://stackoverflow.com/questions/22017631
复制相似问题