kendo-uiグリッドで解決できない問題が発生しました。私のアプリケーションでは、kendo-gridをバッチ編集モードで使用して、データ入力担当者が画面上の複数のレコードをすばやく編集できるようにしています。この特定のグリッドは、ページングと並べ替えを許可するように設定されています。
特定のページ (データグリッド/データソースのページのように) で編集が行われているときに、並べ替えを試行したり、ページング リンクの 1 つをクリックしたりしたときに、ユーザーにプロンプトを表示する方法を探しています。ユーザーが [OK] をクリックした場合は、データの次のページに進みたいと思います。それ以外の場合は、編集をキャンセルして、既存の編集で現在のページにユーザーを保持したいと考えています。私の他のオプションは、ページングまたはソート時に変更を自動的にコミットするか、キャンセルして現在のページにとどまるようにすることです。
これまでの私の試みは、実際のグリッド データソースで変更イベントを使用してダーティ フラグをオブザーバブルに格納し、グリッドの dataBinding イベントをリッスンして実際の並べ替えまたはページングの変更をキャッチし、プロンプトが表示されたときにプロンプトを表示することでした。 isDirty フラグが true であり、dataBinding イベントの e.action == 「再バインド」。
このアプローチで私が抱えている問題は、グリッドの dataSource が別のページのフェッチを既に実行した後に dataBinding イベントが発生することです。これにより、編集を保存したり、既存の編集を維持したりすることができなくなります。
ページのフェッチ/ソートの前に検査を実行できる、サブスクライブできるイベントが見つかりません。他の誰かがこのシナリオを処理する方法を思いつきましたか? 人々がデータ入力アプリケーションで処理したいと思うのは、かなり一般的なことだと私には思えます。