我正在开发一个Kendo Grid,它有一个Status列,它是几个其他列的状态汇总。我将各个状态跟踪为整数值,聚合列应显示最少的状态。现在,使用模板,我能够很好地呈现Status列的文本,但问题是我希望此列可以过滤。这是在计算值时无效。
在DataSource中,这是我声明自定义字段的方式,
schema: {
model: {
Status: function () {
return helper.GetStatus(this.EntriesStatus);
}
}
}
这是我在列定义中使用它的方式,
{
field: "Status",
title: "Status",
width: "100px",
filterable: true,
template: kendo.template("#if (HasError) {# <strong class='clrRed' > \#= Status() #\ </strong> #} else { # \#= Status() #\ #} #"),
hidden: false,
menu: false
}
有人能指出我出错的地方或更有效的出路吗?
答案 0 :(得分:1)
不是将Status
定义为model
中的函数,而是将其作为计算字段添加到model.parse
中。例如:
schema: {
parse: function (d) {
$.each(d, function (idx, elem) {
elem.Status = helper.GetStatus(elem.EntriesStatus);
});
return d;
}
}
然后在模板中移除()
:
template: kendo.template("#if (HasError) {# <strong class='clrRed' > \#= Status #\ </strong> #} else { # \#= Status #\ #} #"),