Когда вы связываетесь с сеткой пользовательского интерфейса Kendo с MVVM, бит данных будет срабатывать один раз, и все будет хорошо. Если вам необходимо обновить эти данные после этого факта, каждый раз, когда вы меняете одну часть данных на любой viewmodel (или в режиме просмотра для детей), вся привязка данных к сетке. Таким образом, если у вас есть ячейка в сетке, привязанная к шаблону, и вам нужно изменить 2 или 3 свойства в режиме просмотра из какого-либо внешнего источника ajax, Databound будет срабатывать 2 или 3 раза для каждой измененной модели, целая область просмотра для повторной обработки. Как мы можем сразу обновить множество данных и только один раз запустить бит данных?Как предотвратить зависание сетки Kendo UI во время обновления ViewModels
ответ
Как именно вы перепроверяете сетку? В принципе, если вы изменить некоторые модели, как это:
dataItem.set('SomeField','new value');
dataItem.set('someOtherField','other value');
Таким образом, сетка будет действительно связаны два раза из-за MVVM. Событие изменения запускается каждый раз, когда вы вызываете set.
Однако если вы обновляете значения, как это:
dataItem.SomeField='new value';
dataItem.someOtherField= 'other value';
Сетка обыкновение реагировать на изменения, а также не Пересвяжите перечитайте значения из моделей, вы можете заставить сетки, чтобы сделать это через обновления способ.
$('#gridName').data().kendoGrid.refresh()
Я не уверен, есть ли способ временно передать сетке прекратить прослушивание событий, а затем в конце повторить синхронизацию один раз. Если есть, пожалуйста, дайте этот ответ здесь! В противном случае, что я сделал, я не прошел через .set() для каждого элемента. Вместо этого я обновил данные для всех строк, установив данные непосредственно в свойство. Затем, когда я добрался до последней строки, которую я обновлял, я вызвал .set() в последнем свойстве, которое необходимо было обновить. Это приведет к тому, что бит данных начнет срабатывать только один раз, и вся сетка обновится с помощью всех данных, которые были изменены. Если вы не делаете этого таким образом, то чем больше строк отображается на странице, тем больше времени требуется для обработки. (Это может занять 20 секунд, прежде чем пользователь сможет что-либо сделать снова.)
Другой способ просто добавить фиктивную собственность последнего элемента и изменить его значение в конце. Это вызовет такой же эффект. –
Похоже, что событие dataBinding - это то место, где вы можете предотвратить перегруппировку сетки.
- 1. Кнопка обновления сетки Kendo UI не работает
- 2. Как предотвратить зависание пользовательского интерфейса во время длительного процесса?
- 3. Kendo UI - вопросы сетки
- 4. Kendo UI Сохранение сетки
- 5. Динамическая зависание сетки Кендо
- 6. kendo ui параметры запроса сетки
- 7. Как получить событие сортировки сетки kendo ui?
- 8. Обновление пакета сетки Kendo UI
- 9. Kendo UI привязка сетки дважды
- 10. Kendo ui сетка pagable размер меняется после обновления сетки
- 11. Как обновить агрегаты сетки Kendo без обновления
- 12. Предотвратить выполнение сетки Kendo из двух запросов
- 13. UI застрял во время обновления ProgressBar
- 14. Kendo UI MVVM с TypeScript - Создание ViewModels как «классов»
- 15. Kendo UI Popup Grid Editor без сетки
- 16. Как предотвратить зависание JFrame?
- 17. Kendo UI размер страницы сетки в MVC
- 18. Kendo UI Планировщик: рабочее время?
- 19. Kendo UI DropBox внутри сетки не работает
- 20. Серый наш инвалид kendo ui столбец сетки
- 21. Перенос сетки Telerik MVC в Kendo UI
- 22. Kendo UI: Локализация сетки через asp.net mvc
- 23. kendo ui таблица столбцов сетки не применяется
- 24. Сортировка сетки Kendo перестает работать после обновления
- 25. kendo ui grid- предотвратить отмену, когда значение недействительно
- 26. Как предотвратить падение базы данных во время обновления Wix.
- 27. MSI - как предотвратить изменение значений реестра во время основного обновления?
- 28. как предотвратить потерю сообщений во время перезагрузки/обновления страницы
- 29. Сетки с ViewModels - WPF
- 30. Шаблон обновления в Kendo-Ui Listview
Этот подход работает отлично, пока вы знаете, к каким элементам вы привязаны. Если данные, которые вы обновляете, привязаны к нескольким вещам, и они обновляются в какой-то библиотеке, где вам не нужны элементы экрана, это может вызвать некоторые проблемы. Если вы вызываете set() в свойстве самого последнего элемента, тогда вам все равно, что связано с ним. Они все получат обновление. –