【发布时间】:2013-08-27 07:53:54
【问题描述】:
我的模型字段之一是一个数组,当我尝试使用它来绑定 ASP.NET MVC 中的网格列并使用 Kendo Grid 时出现错误:“绑定列需要字段或属性访问表达式"
for(var i=0; i<10 ; i++)
columns.Bound(p => p.Value[i])
使用模板也无法解决我的问题。
【问题讨论】:
标签: kendo-ui kendo-grid
我的模型字段之一是一个数组,当我尝试使用它来绑定 ASP.NET MVC 中的网格列并使用 Kendo Grid 时出现错误:“绑定列需要字段或属性访问表达式"
for(var i=0; i<10 ; i++)
columns.Bound(p => p.Value[i])
使用模板也无法解决我的问题。
【问题讨论】:
标签: kendo-ui kendo-grid
您应该能够使用模板对这些列执行任何您需要的操作。
查看示例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>";
}
【讨论】: