如何允许 kendo 网格绑定到未定义的字段
How to allow kendo grid to bind to an undefined field
我有这个 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" }
}
}
}
});
上面的数据会抛出 "undefined" 错误,因为第二个产品没有类别。
尝试使用空对象而不是 null
创建了一个 fiddle,检查一下:
只需在您的模型中提供一个默认值,如下所示:
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: "",
}
}
}
}
}
});
如果 productCategory 为 null 或未定义,这将初始化它。
我有这个 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" }
}
}
}
});
上面的数据会抛出 "undefined" 错误,因为第二个产品没有类别。
尝试使用空对象而不是 null
创建了一个 fiddle,检查一下:
只需在您的模型中提供一个默认值,如下所示:
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: "",
}
}
}
}
}
});
如果 productCategory 为 null 或未定义,这将初始化它。