Пока я видел различные версии такого рода ошибок раньше, мне еще предстоит увидеть одно с участием Дюрандаля, в котором я думаю, что некоторые из проблем идут из.Обновление сетки KendoUI с использованием OData, всплывающих окон и Durandal.js
У меня есть сетка KendoUI, где я показываю несколько Расходов, и я использую окно сообщения Durandal, чтобы добавить новый расход, и идея заключается в том, что при отправке нового расхода сетка должна обновляться.
Теперь несколько человек уже упоминали следующее «решение»:
var grid = $("#grid").data("kendoGrid");
grid.dataSource.read();
К сожалению, это не похоже на работу. Хотя я использую всплывающее окно, потому что я использую Durandal, мой код для обновления сетки все еще находится на странице, на которой сетка включена из-за методологии обещаний Дюрандала.
app.showDialog('viewmodels/empresas/egreso/addEgreso').then(function() {
//the method called that uses the code above to attempt to refresh the grid
refreshGrid();
});
Каждый раз, когда он достигает метода refreshGrid, возвращается ошибка, говорящая о том, что «сетка» не определена. Как я могу получить свойство сетки, чтобы обновить его после добавления нового элемента в базу данных?
Любая помощь была бы принята с благодарностью.
Опечатка ли ошибка? Вы сказали var grid = $ ("** grid **"). Data ("kendoGrid"); но мне кажется, что это должен быть var grid = $ ("** # grid **"). data ("kendoGrid") ;. – OnaBai
Это на самом деле просто опечатка в вопросе, мой источник имеет $ («# grid»), как и следовало ожидать. Я изменил вопрос, чтобы отразить это. –
Вы подтвердили, что jQuery на самом деле находит элемент #grid? (например, 'console.log ($ (" # grid "). length);'). –