我有一个包含多列和多行的kendo网格。我希望最后一列显示计算数据。我想制作一个AJAX方法获取ID并从数据库中获取一些数据并在此列中显示它(所有行)。我怎么能这样做?
var grid = $("#grid").kendoGrid({
dataSource: ds,
columns: [{
field: 'ID',
title: '#',
hidden: true
}, {
title: 'Test',
filterable: false,
width: "130px",
ClientTemplate: "#=MyMethod(ID)#"
}]
}).data("kendoGrid");
function MyMethod(ID) {
var returnData = 0;
$.get('@Url.Action("Action", "Controller")', {
Id: ID
}, function(response) {
returnData = response;
});
return returnData;
}
答案 0 :(得分:1)
我建议你不要这样做。
我说这个的原因是因为你会为每一行触发一个ajax调用,并且可能会有很多行,这可能意味着在你向用户展示一些东西之前会有很长的延迟。
您很可能有一个数据库调用来返回数据。在那一个呼叫中,进行所需的任何计算,如果它只是一个总数,则数据库本身可以以非常快的方式处理这个。因此,在那里进行计算,将计算字段作为数据集中的额外字段返回,然后您的UI只需显示已计算的字段。
它会更快,更好用户体验。