Редактор PopUp Grid Kendo не будет закрыт

99
11

У меня есть базовая сетка с   редактируемый: "popup"


У меня есть столбец команд с надписью "edit". Я использую удаленный источник данных с чтением, обновлением, созданием и уничтожением. Сетка работает, и когда я нажимаю Изменить, всплывающее окно появляется со всеми моими полями в нем. Если я введу некоторые изменения в полях и нажмите Обновить, данные будут отправлены (я могу увидеть сообщение ajax), но всплывающее окно не закрывается.


Моя кнопка Обновить имеет эти классы "k-button k-button-icontext k-grid-update".
В моем всплывающем окне эти классы "k-widget k-window".


Кнопка Отмена закрывает окно, а X в правом верхнем углу также закрывает окно.


Любые идеи?


Мой код источника данных:


var dataSource = new kendo.data.DataSource({
transport: {
read: {
url: "myReadURL",
dataType: "json"
},
update: {
url: "myUpdateURL",
dataType: "json"
},
create: {
url: "myCreateURL",
dataType: "json"
},
destroy: {
url: "myDestroyURL",
dataType: "json"
}
},
schema: {
data: "data",
total: function(response){return $(response.data).length;},
model: {
id: "id",
fields: {
id: { type: "number", editable: false },
location: { type: "string" },
username: { type: "string" },
host: { type: "string" },
model: { type: "string" },
newhost: { type: "string" },
newserial: { type: "string" },
newassettag: { type: "string" },
complete: { type: "boolean" }
}
}
},
pageSize: 10
});

Код инициализации моей сетки:


$("#grid").kendoGrid({
dataSource: dataSource,
height: 430,
filterable: true,
sortable: true,
resizable: true,
scrollable: true,
pageable: {
refresh: true,
pageSizes: [10,20,100]
},
columns: [{
hidden: true,
field:"id"

},{
command: "edit",
title: " ",
width: 90

},{
field: "location",
title: "Location",
width: 120,
filterable: {ui: cityFilter}

},{
field: "username",
title: "Username",
width: 120

},{
field: "host",
title: "Host",
width: 180
},{
field: "model",
title: "Model",
width: 180

},{
field: "newhost",
title: "New Host",
width: 180

},{
field: "newserial",
title: "New Serial",
width: 180

},{
field: "newassettag",
title: "New Asset",
width: 180

},{
field: "complete",
title: "Complete",
template: "<input type='checkbox' # if(complete){ # checked #} #/>",
width: 70

}
],
editable: "popup"

});


Мой html:


<div id="example" class="k-content">

<div id="grid" style="height: 380px"></div>

</div>

спросил(а) 2021-01-25T14:54:09+03:00 4 месяца, 4 недели назад
1
Решение
111

Ваш сервис должен вернуть действительный документ JSON, даже если он пуст. Если ваша служба ничего не отвечает или возвращает что-то не анализируемое как JSON, оно не закрывает всплывающее окно.


Например: создайте файл с именем myUpdateURL, который просто содержит:

{}

и он должен работать.

ответил(а) 2021-01-25T14:54:09+03:00 4 месяца, 4 недели назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема