- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Asp.net のDataGridで編集行以外あるいはDataGrid以外の箇所がクリックされた場合に保存をしたい。)
Asp.net のDataGridで編集行以外あるいはDataGrid以外の箇所がクリックされた場合に保存をしたい
このQ&Aのポイント
- Asp.netのDataGridで編集行以外やDataGrid以外の箇所がクリックされた場合に、編集行を自動的に保存する方法について教えてください。
- vb2005を使用してwebの開発をしていますが、DataGrid内の編集行は保存することができます。しかし、編集行以外の箇所がクリックされた場合にも自動的に保存する方法を知りたいです。
- 具体的にはjavascriptでアクションを仕込むことで可能だと思われますが、どのように実装すればいいのか教えていただけますか?
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
個人的に思い浮かぶ方法は以下のようなものです。 まず、JavaScriptではDataKeyが読み取れないため、GridViewの行内にHiddenを配置して主キー等の必要な情報を記載します。 それから編集行のinputからフォーカスを移動する際にonblurやonchangeが発生すると思うので、そのイベントでXMLHttpRequestを作成し、更新する内容を送信します。 そのリクエストを別に用意した白紙のaspxで受け取り、Request.Paramsプロパティを元に更新処理を行えばよいと思います。 更新結果が欲しいなら、適当なJSONを出力します。 これで実装はできると思いますが、ひょっとしたらASP.NET Ajax等に手軽な方法が用意されているかもしれません。
お礼
mdp36様 早々のご返答有り難うございました。 Datagridにonblurやlostfucusなどチャレンジしてみたのですが・・なかなかうまくいかず・・。私の技術不足だと思いますが。 しょうがないので、画面が遷移や閉じるタイミングで保存するようにしました。 ご丁寧に有り難うございました。また何かありましたら、よろしくお願い致します。