剣道UIグリッドにMVVMでバインドすると、databoundが一度起動し、すべて正常です。事実の後にそのデータを更新する必要がある場合は、任意のビューモデル(または子ビューモデル)のデータを変更するたびに、グリッド全体が再データバインドされます。したがって、テンプレートにバインドされているグリッド内にいくつかのセルがあり、外部のajaxソースからviewmodelの2つまたは3つのプロパティを変更する必要がある場合、Databoundは変更されたモデルごとに2〜3回起動します。表示可能領域全体を再バインドします。一度にたくさんのデータを更新するにはどうすればいいのですか?ViewModelsの更新時に剣道UIグリッドが何度も再バインドされないようにする方法
答えて
グリッドを正確にどのように再バインドしますか?基本的には、このようなモデルの一部を変更した場合:
dataItem.set('SomeField','new value');
dataItem.set('someOtherField','other value');
この方法でグリッドは確かためMVVMの2倍にバインドされます。変更イベントは、setを呼び出すたびにトリガーされます。
しかし、あなたがこのような値は更新した場合:
dataItem.SomeField='new value';
dataItem.someOtherField= 'other value';
グリッドは文句を言わない変化に反応し、文句を言わないリフレッシュを通じて、あなたがそれを行うには、グリッドを強制することができたモデルから値を再読み込み再バインドをメソッド。
$('#gridName').data().kendoGrid.refresh()
一時的にグリッドにイベントのリッスンを停止し、最後に一度再同期するように指示する方法があるかどうかはわかりません。もしあれば、ここでその答えを教えてください!さもなければ、私が代わりに行ったのは、各項目に対して.set()を実行しなかったことです。代わりに、プロパティに直接データを設定することによって、すべての行のデータを更新しました。それから私が更新していた最後の行に着いたとき、更新が必要な最後のプロパティで.set()を呼び出しました。これにより、データバインドが1回だけ実行され、グリッド全体が変更されたすべてのデータで更新されます。このようにしないと、ページに表示される行が多いほど、処理に時間がかかります。 (ユーザーが何かをやり直すには20秒以上かかることがあります)
もう一つの方法は、単に最後の項目にいくつかの偽のプロパティを追加し、最後にその値を変更することです。それは同じ効果を引き起こします。 –
dataBindingイベントは、グリッドでの再バインドを防ぐことができるようです。
- 1. 剣道UIグリッド - 更新が維持されない
- 2. ノックアウトバインド剣道UIグリッド列コレクションの更新
- 3. グリッドデータの更新後の剣道グリッドのバインド方法は?
- 4. 剣道UI角度グリッド - 高さ
- 5. 剣道UIグリッドの更新アイコンにも、リフレッシュがtrueに設定されたテキストが含まれています
- 6. バッチ更新剣道UIグリッド動的に値を変更する
- 7. 剣道UIグリッドをリフレッシュする方法
- 8. 剣道-ui-angular2グリッド:グリッドを強制的に再描画する方法は?
- 9. 剣道UI DateTimePickerがコントローラに正しくバインドされない
- 10. 剣道UIビルダーで剣道UIを更新するにはどうすればよいですか?
- 11. カスタムポップアップエディタ - 剣道UIグリッド
- 12. 剣道UI MVC。グリッドを更新し、$(「#グリッド」)に新しい値を追加する方法。データ(「kendoGrid」)。dataSource.read()
- 13. JSP用の剣道UI:グリッドのリモートデータがロードされない
- 14. 剣道UI角度グリッド - カスタムヘッダは、グリッドのフッターに
- 15. 剣道グリッドにjsonデータをバインドする
- 16. 剣道UIツリービュー - ローカルデータにバインドされたときのチェックボックス状態の更新
- 17. 剣道グリッドのモデルを更新する
- 18. 多値の剣道UIグリッド
- 19. 剣道UI - MVCグリッドのドロップダウンリスト
- 20. 剣道UIグリッド:ビット値に基づいてセルテキストを変更する方法
- 21. 剣道UIグリッドデータが2つのテーブルDBにバインドされます
- 22. 剣道UI MVCグリッド - インライン編集 - すべての列を更新
- 23. mvcで選択した剣道グリッド行を別の剣道グリッドにバインドする方法
- 24. 新しいデータで剣道グリッドを更新するには
- 25. 剣道グリッド - データソースの更新がコントローラを叩いていない
- 26. 剣道UIでモデルのリストプロパティにバインドする方法Asp.Net MVC
- 27. 剣道グリッド合計がajax取得後にバインドされていない
- 28. 剣道UIグリッド.Net MVC - 作成時に編集可能な列
- 29. 剣道UIグリッド列タイムスパンフィルタ
- 30. 剣道UIグリッド - グループ化テーブルヘッダー
この方法は、バインドされている要素が分かっている限り正常に動作します。更新しているデータが複数のものにバインドされていて、画面要素を気にしないライブラリの中で更新されている場合、これはいくつかの問題を引き起こす可能性があります。最後のアイテムのプロパティでset()を呼び出すと、バインドされているものは気になりません。彼らはすべて更新を得るでしょう。 –