如何允许kendo网格绑定到未定义的字段
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何允许kendo网格绑定到未定义的字段相关的知识,希望对你有一定的参考价值。
我有这个json对象
{
id: string,
name: string,
category: {
id: string
name: string,
}
}
我想要有一个绑定到productCategory.name的列。但是该字段可以为空。当productCategory为null / undefined时,kendo将抛出错误。我怎么能告诉kendo如果字段未定义,只显示空字符串?
编辑
以下是我的示例数据
[{
"id":1,
"name":"Spaghetti",
"category":{
"id":"1",
"name":"Food"
}},
{
"id":2,
"name":"Coca-cola",
"category":null
}}]
下面是我的kendo数据源
var kendoDataSource = new kendo.data.DataSource({
schema: {
data: "data",
total: "total",
model: {
id: "id",
fields: {
id: { type: "string" },
name: { type: "string" },
"category.name": { type: "string" }
}
}
}
});
上面的数据会抛出“未定义”错误,因为第二个产品没有类别。
答案
尝试使用空对象而不是null
创造了一个小提琴,检查这个:
http://jsfiddle.net/Sowjanya51/h930jcru/
另一答案
只需在模型中提供默认值,如下所示:
var kendoDataSource = new kendo.data.DataSource({
schema: {
data: "data",
total: "total",
model: {
id: "id",
fields: {
id: { type: "string" },
name: { type: "string" },
"category.name": { type: "string" },
category: { defaultValue: {
id: "",
name: "",
}
}
}
}
}
});
如果它是null或未定义,这将初始化productCategory。
以上是关于如何允许kendo网格绑定到未定义的字段的主要内容,如果未能解决你的问题,请参考以下文章