状況: グリッドを拡張し、タブまたは矢印をリッスンする onkeydown イベントを追加しました。これにより、ユーザーは次の「編集可能な」セルに移動できるようになります。私はこれを使用して...
var grid = $("#" + that.gridId).data('kendoMyExtension');
grid.closeCell(currentCell);
grid.editCell(desiredCell);
現在の動作: 期待どおりに動作しますが、セルが閉じると、データがバインドされている ViewModel.Field に (正しいバインディングを通じて) 保持されません。...ただし、変更を加えた後に Enter キーを押した IFF では、変更が保持されます。
私が試したこと: フォーカスを変更する前に手動で更新を行います(そして、他のすべての剣道編集グッズを発射します)
{grid Context}
that.saveRow();
that.dataSource.sync();
ただし、これらは機能しません。通常、剣道の腸のどこかで未定義のエラーをスローすることになります。
私が欲しいもの:
理想的には、剣道は少なくとも 1 つの MVVM と剣道拡張機能の例 (グリッド用) を提供し、すべての機能、イベントなどがバインドされています..しかし..おそらくここで質問することはないので、解決します:
- 剣道は変更をどこに「保存」しますか?
- {dataSource ではなく MVVM バインディングの場合}、実際に更新を呼び出すために使用されるメソッド。
- {one-way, two-way} の精神で拘束力のあるキーワードを見逃していませんか?
- 剣道はノックアウトに基づいていますか.. ノックアウトのテクニックを使用して、剣道で抱えている問題を回避できますか?
このグリッドの表示ロジックには、他にも多くの変更があります。テンプレートを使用して、セルを編集可能にするかどうかを決定し、テンプレートを使用して、非編集モードと編集モードでレンダリングする必要があるものを決定し、いくつかの IOC ロジックを使用してエクステンションに配線します...(参考までに)