|
.NET TIPS [ASP.NET]DataGridコントロールの削除ボタンで確認メッセージを表示するには?デジタルアドバンテージ2003/12/26 |
![]() |
|
|
|
「TIPS:[ASP.NET]DataGridコントロールに削除ボタンを追加するには?」では、ボタン列として削除ボタンを表示する方法について解説した。削除ボタンに行(およびその行に関連したデータソースのデータ)を完全に削除するような処理を実装する場合には、操作ミスによるクリックを防ぐために何らかの対策を講じておくのが一般的である。ここでは、削除ボタンがクリックされたときに本当に削除してよいのかを問い合わせるメッセージ・ボックスを表示する方法について解説する。
削除ボタンがクリックされたときにメッセージ・ボックスを表示するサンプル・プログラムの実行画面は次のようなる。ここで[キャンセル]ボタンをクリックすれば、削除ボタンのクリックは取り消されることになる。
![]() |
| 削除ボタンがクリックされたときに確認用のメッセージ・ボックスを表示するサンプル・プログラム(confirmdg.aspx) |
Buttonコントロールがクリックされた場合に、このような確認メッセージを表示する方法については、「TIPS:ASP.NETでボタンのクリック時に確認メッセージを表示するには?」ですでに解説している。そこで示した方法は、次のようにButtonコントロールのAttributesプロパティでメッセージ・ボックスを表示するためのJavaScriptを追加するものだった。
Button1.Attributes["onclick"] = "return confirm('本当に移動しますか?');";
今回では、データ連結後に生成されたグリッド上のButtonコントロールに対して同様の処理を行えばよい。データ連結後に行にアクセスする方法については、「TIPS:[ASP.NET]DataGridコントロールですべての行にアクセスするには?」で解説しているように、ItemDataBoundイベントを利用するのが一般的である。
今回の場合におけるItemDataBoundイベントのイベント・ハンドラは次のような内容になる。
void MyGrid_Bound(object sender, DataGridItemEventArgs e) {
if (e.Item.ItemType == ListItemType.Item
|| e.Item.ItemType == ListItemType.AlternatingItem) {
Button button = (Button)e.Item.Cells[3].Controls[0];
button.Attributes["onclick"]
= "return confirm('本当に削除しますか?');";
}
}
このコードは、左から4番目の列に削除ボタンを表示しているボタン列がある場合のものである(Cellsプロパティのインデックス番号は0から始まる)。
確認メッセージ付き削除ボタンを使用したサンプル・プログラム
「TIPS:[ASP.NET]DataGridコントロールに削除ボタンを追加するには?」で示しているサンプル・プログラムに、上記のイベント・ハンドラを追加したコードは次のようになる。
|
|
| 確認メッセージ付き削除ボタンを使用したC#のサンプル・プログラム(confirmdg.aspx) | |
なお、このプログラムをIEから呼び出してHTMLのソースを表示すれば分かるが、当然ながらすべての行にメッセージ・ボックスを表示するためのスクリプトが含まれることになる。表示するメッセージが長くて転送されるデータ量が気になる場合には、確認メッセージを表示するスクリプトをJavaScriptの関数としてまとめ、それを呼び出すコードをButtonコントロールのAttributesプロパティに追加するようにすればよいだろう。![]()
| カテゴリ:Webフォーム 処理対象:DataGridコントロール 使用ライブラリ:DataGridコントロール 使用ライブラリ:ButtonColumn要素 関連TIPS:[ASP.NET]DataGridコントロールに削除ボタンを追加するには? 関連TIPS:ASP.NETでボタンのクリック時に確認メッセージを表示するには? 関連TIPS:[ASP.NET]DataGridコントロールですべての行にアクセスするには? |
| 「.NET TIPS」 |
TechTargetジャパン
- 新人プログラマーのためのInsider.NETの歩き方 2012 (2012/5/22)
晴れて.NETプログラマーとなる新人が効率的に開発技術を習得するには? 大量にある記事群の中から新人が読むべきお勧めを厳選して紹介 - jQuery MobileでJavaScriptプログラミング (2012/5/17)
jQuery Mobileは手軽なだけでなく、JavaScriptのAPIも充実しており、独自機能の実装もできる。今回は「グローバル設定」と「イベント」を解説 - Windows上で開発するための開発環境構築入門 (2012/5/16)
Windowsを使ってチームで開発している? なのにサーバOSを設定・運用した経験がない? そうなら、今すぐ学ぼう - 「コントラクト」でアプリのサンドボックスを乗り越える! (2012/5/11)
Metroスタイル・アプリはサンドボックスの中で動作する。それを乗り越えてほかのアプリと連携する仕組み「コントラクト」を解説
|
|
キャリアアップ
スポンサーからのお知らせ
- - PR -
イベントカレンダー
- - PR -



