我有一个问题,工作了三天,但找不到任何解决方案!!!在 document.ready 中,我创建了一个带有子对象的数据源
var datasource = [
{
"category": {
"id_category": 1,
"desc_category": "Beverages"
},
"id_product": 1,
"desc_product": "Chai",
"price": "11",
"id_category": 1
},
{
"category": {
"id_category": 2,
"desc_category": "Condiments"
},
"id_product": 2,
"desc_product": "Aniseed Syrup",
"price": "12",
"id_category": 2
}
]
然后我创建了一个 kendogrid
var kendoGrid = $("#grid").kendoGrid({
selectable: true,
dataSource: datasource,
resizable: true,
toolbar: [{
name: "create",
text: "Add Something"
}],
columns: [
{ field: "desc_product", title: "Description", width: 100 },
{ field: "price", title: "Price", width: 100 },
{ field: "id_product", title: "Category", width: 200, editor: categoryDropDownEditor, template: '#=category.desc_category#' },
{
command: [{
name: "destroy",
text: "Delete",
confirmation: "Are you sure?"
},
{
name: "edit",
text: {
edit: "Edit",
update: "Update",
cancel: "Cancel"
}
}
]
}
],
width: 200,
height: 300,
editable: editable = {
mode: "inline",
confirmation: "Are you sure?"
}
});
最后是在编辑模式下填充网格中组合框的功能
function categoryDropDownEditor(container, options) {
var ds = [
{
"id_category": 1,
"desc_category": "Beverages"
},
{
"id_category": 2,
"desc_category": "Condiments"
},
{
"id_category": 3,
"desc_category": "Confections"
},
{
"id_category": 4,
"desc_category": "Produce"
},
{
"id_category": 5,
"desc_category": "Sea Food"
}
];
$('<input data-text-field="desc_category" data-value-field="id_category" data-bind="value:' + options.field + '"/>"')
.appendTo(container)
.kendoComboBox({
index: 0,
placeholder: "Select Category",
dataTextField: "desc_category",
dataValueField: "id_category",
dataSource: ds
})
}
问题是当我尝试添加新记录时,它运行错误(运行时错误:类别未定义)。
有人可以告诉我数据源是否正确吗?代码结构对吗?哪里有问题?
希望可以有人帮帮我!!!