Я боролся с этой проблемой и попал в блокпост. У меня есть сетка кендо с выпадающим списком.Kendo Grid DropdownList And Insert template Ошибка
Проблема
- Когда я отредактировать запись, выбрав значение в DropDownList, то поле не обновляется.
Когда я выберите Add Command на панели инструментов, другой шаблон пытается вынести и поднимает ошибку «Uncaught ReferenceError: ParentMenu не определен» в Chrome отлаживает. Поэтому ничего не происходит.
Когда я закомментировать «значения: parentRef» из kendogrid определения столбцов все команды [Добавить, Редактировать] дисплей правильно
я показал ошибку я испытываю здесь http://jsfiddle.net/BlowMan/5tNQy/
JS код
$(function() {
var mbModel = kendo.data.Model.define({
id: "MenuId",
fields: {
"MenuId": {
type: "number"
},
"DisplayText": {
type: "string"
},
"MenuOrder": {
type: "number"
},
"MenuStatus": {
type: "boolean"
},
"HasKids": {
type: "boolean"
},
"ParentMenu": {
type: "number",
defaultValue: 1
}
}
});
var mbDataSource = new kendo.data.DataSource({
data: [{
"MenuId": 1,
"DisplayText": "Home",
"MenuOrder": 0,
"MenuStatus": true,
"HasKids": false,
"ParentMenu": null
}, {
"MenuId": 2,
"DisplayText": "Finance",
"MenuOrder": 1,
"MenuStatus": true,
"HasKids": false,
"ParentMenu": null
}]
});
var parentRef = [{
"value": 1,
"text": "Finance"
}, {
"value": 2,
"text": "Corp. Services"
}];
$("#menuBuilder1").kendoGrid({
columns: [{
field: "MenuId",
title: "Menu",
editable: true
}, {
field: "DisplayText",
title: "Name",
editable: true
}, {
field: "MenuOrder",
title: "Order",
editable: true
}, {
field: "MenuStatus",
title: "MenuStatus",
editable: true
}, {
field: "HasKids",
title: "Depends",
editable: true
}, {
field: "ParentMenu",
title: "ParentMenu",
values: parentRef
}, {
title: "Action",
command: ["edit"]
}],
toolbar: ["create"],
editable: "popup",
schema: {
model: mbModel
}
});
var mbObject = new kendo.data.ObservableObject({
data: mbDataSource,
//parentRef:[]
});
kendo.bind($("#menuBuilder1"), mbObject);
mbDataSource.bind("change", function (e) {
});
var grid = $("#menuBuilder1").data("kendoGrid");
grid.bind("save", function (e) {
var that = this;
that.refresh();
});
grid.bind("edit", function (e) {
});
$.ajax({
url: "/MenuBuilder/GetMenuWithKids",
dataType: "json",
type: "GET",
success: function (ret) {
mbObject.set("parentRef", ret);
}
});
});
HTML код
<div id="menuBuilder1" data-bind="source:data"></div>
Am в узком углу и любую помощь будет оценена.
Когда вы даете начальное значение 1 или 2, как ParentMenu в mbDataSource, обновление работает правильно. Вы можете дать 0 для начального нулевого значения. Но это работает неправильно (для выбора финансов вам нужно сначала выбрать корпоративные услуги, затем выбрать финансы, иначе сетка не изменит значение) – MustafaP
Я ничего не мог найти о других проблемах. – MustafaP
Привет, спасибо за обходной путь. Вы взглянули на проблему №2? – BlowMan