Я пытаюсь привязать массив пар идентификаторов-значений к всплывающему редактору сетки кендо.
Получил все для создания новой записи.Всплывающий редактор загружает пользовательский редактор и успешно передает данные в контроллер.
Проблема заключается в том, что я пытаюсь редактировать записи.Записи корректно отображаются в строке, но когда я пытаюсь отредактировать ее, мультиселектор не содержит значений.
Разметка сетки
$("#ProjectSites-SubContract-grid").kendoGrid({
dataSource: {
type: "json",
schema: {
data: "Data",
total: "Total",
errors: "Errors",
model: {
id: "Id",
fields: {
DateOfContract: { type: 'date', editable: true },
DateOfCompletion: { type: 'date', editable: true },
AmountOfContract: { type: 'number', editable: true },
Contractor: { defaultValue: { id: "", name: "" } }
}
}
},
},
columns: [
{
field: "ScopeOfWork",
title: "Scope of Work",
template: "#=parseScopeOfWork(ScopeOfWork)#",
editor: scopeOfWorkEditor
},
]
});
});
Редактор объема работ
function scopeOfWorkEditor(container, options) {
$('<input data-text-field="name" data-value-field="id" data-bind="value:ScopeOfWork"/>')
.appendTo(container)
.kendoMultiSelect({
dataSource: {
data: [
@foreach (var scopeOfWork in Model.AvailableScopeOfWork)
{
<text>{ id : "@scopeOfWork.Value", name : "@scopeOfWork.Text" },</text>
},
]
}
});
parseScopeOfWork - этот метод выполняет итерации по списку объектов и объединяет имя.
function parseScopeOfWork(scopeOfWork) {
var result = "";
for (var i = 0; i < scopeOfWork.length; i++) {
result += scopeOfWork[i].Name;
if (i < scopeOfWork.length - 1)
{
result += ", <br/>";
}
}
return result;
}
Вот снимок экрана:
![enter image description here](https://i.stack.imgur.com/rNnJN.jpg)