2016-09-08 7 views
0

私のプロジェクトでjqgridを使用しています。ユーザーが行を選択し、インラインツールバーコントロールの編集ボタンをクリックしてセル内のデータを変更した後、インラインツールバーコントロールの[保存]ボタンをクリックするのではなく、ユーザーが移動するようにする必要がありますグリッドの次のページ次に、「前のページから変更したデータを保存/破棄しますか?」というメッセージをユーザーに表示します。 ダイアログの[Save]ボタンをクリックするとデータが保存され、それ以外の場合はデータが破棄されます。どのように実装すればいいのか教えてください。次のページに移動するようにユーザーを制限しますか?

答えて

0

あなたは前の質問でthe answerのようにほとんど同じことをする必要があります。あなたは他の行の間に行のの選択が編集されていないようにしたかった。したがって、beforeSelectRowfalseを最初に返してからsetSelectionに続いてsaveRowまたはrestoreRowと呼ばれました。同じ方法で、onPagingコールバックを使用してダイアログを表示し、グリッドが編集中の場合は"stop"を返します。ユーザーが変更を保存して破棄するかどうかを選択した後、saveRowまたはrestoreRowとし、reloadGridpageパラメータ(the old answerを参照)で呼ぶことができます。

onPagingコールバックのオプションから、ユーザーを選択した新しいページに関する情報を受け取ることができます。オプションは、使用するjqGridのバージョンと、使用するjqGridのフォークに依存します。無料のjqGridは、例えば2つのパラメータを使用してonPagingを呼び出します。最初のものはthe old documentationに記載されています。第2のパラメータは、プロパティcurrentPage,newPage,lastPage,currentRowNumおよびnewRowNumを有するoptionsオブジェクトである。したがって、あなたはoptionsパラメータから必要な情報を得ることができます。詳細は、the old answerおよびthe wiki articleを参照してください。

+0

説明したのと同じ方法で試しましたが、動作しません。可能であれば、サンプルコードがあれば教えてください。私は同じように実装します。 – Pankaj

+0

@Pankaj:申し訳ありませんが、あなたが必要とするものとまったく同じデモを行う必要はありません。いくつかの助けが必要な場合は、デモを作成する必要があります(JSFiddleなど)。デモを修正して問題を解決することができました。 – Oleg

+0

私はJSFiddle(http://fiddle.jshell.net/needhelp18/6zaHp/)に1つのサンプルを持っています あなたはコードを修正し、私が間違っている場所を教えてください。 – Pankaj

関連する問題