我的模型字段之一是一个数组,当我尝试使用它来绑定 ASP.NET MVC 中的网格列并使用 Kendo Grid 时出现错误:“绑定列需要字段或属性访问表达式”
for(var i=0; i<10 ; i++)
columns.Bound(p => p.Value[i])
使用模板也无法解决我的问题。
我的模型字段之一是一个数组,当我尝试使用它来绑定 ASP.NET MVC 中的网格列并使用 Kendo Grid 时出现错误:“绑定列需要字段或属性访问表达式”
for(var i=0; i<10 ; i++)
columns.Bound(p => p.Value[i])
使用模板也无法解决我的问题。
您应该能够使用模板对这些列执行所需的任何操作。
请参阅示例http://jsbin.com/uxefaMI/2/edit
我使用模板来总结数组中的每个值
function numbersTemplate(e) {
var total = 0;
$.each(e.numbers, function(i, n) {
total += parseInt(n, 0);
});
return total;
}
我发现了我的错误。基本上,网格列只能绑定到对象属性。在当前情况下,我试图将列绑定到无效配置的给定属性的值。下面的示例显示了如何使用 ClientTemplate 在当前列中呈现给定的属性值:
例如:
columns.Bound(p => p.Value).ClientTemplate("#=generateTemplate(Value)#");
function generateTemplate(Value) {
var template = "<ul>";
for (var i = 0; i < Value.length; i++) {
template = template + "<li>" + Value[i] + "</li>";
}
return template + "</ul>";
}