WebApllication上のDataGrid上ののボタンを押してメッセージを出す方法

解決


むらちゃん  2004-08-22 00:33:08  No: 115812

VB.net WebApllicationです。
DataGridがあります。そのDataGridには、ボタンの列があります。
DataGridのプロパティのColumnのコレクションで設定できます。
123列はデータを表示、456列にボタンを配置しました。

このとき実行時に
例えば  DataGridの6列目のボタンを押されたときに
メッセージボックスを表示をさせたいのです。
YES、NO、キャンセルを選択させて
Yesならば  その行のデータを削除させるような感じです。

続く


むらちゃん  2004-08-22 00:34:19  No: 115813

↓DataGridのボタン押されたときのItemCommandの部分のコードです

Private Sub DataGrid_ItemCommand1(ByVal source As Object, 
ByVal e As System.Web.UI.WebControls.DataGridCommandEventArgs) Handles DataGrid.ItemCommand
    Select Case e.CommandName
        Case "1"
            〜〜〜処理
        Case "2"
            〜〜〜処理
        Case "3"
            〜〜〜処理
        Case "4"
            〜〜〜処理
        Case "5"
            〜〜〜処理
        Case "6"
            MsgBox("削除しますか?", MsgBoxStyle.YesNoCancel)
        Case Else
            ' その他選択は何もされません
    End Select
End Sub

このとき  MsgBoxのところでエラーになります。

エラー内容は
「アプリケーションが UserInteractive モードで実行されていないときに、モーダル ダイアログまたはフォームを表示することはできません。サービス アプリケーションからの通知を表示するには、ServiceNotification または DefaultDesktopOnly スタイルを指定してください。 」
ということです。

DataGridのボタン押下時に対話モードになっていないときは  ダイアログを表示できないらしいです。
ServiceNotification または DefaultDesktopOnly スタイルを指定してMessageBoxを使えばいいのでしょうか?

MessageBoxを記述すると  なぜかMessageBoxがコンパイルを通りません。

続く


むらちゃん  2004-08-22 00:37:23  No: 115814

自分でいろいろ調べたところ
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?forum=7&topic=3007
ジャバスクリプトを使わないとだめらしいのですが
メッセージを出すには
VB.net側の記述ではだめなんでしょうか?

他に調べてみたのは
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=13981&forum=7&5

http://dobon.net/cgi-bin/vbbbs/cbbs.cgi?mode=al2&namber=5540&rev=&no=0
などです。


むらちゃん  2004-08-22 00:39:10  No: 115815

長くなりましたがよろしくお願いいたします。


むらちゃん  2004-08-30 23:22:20  No: 115816

下の例は  ボタンクリック時のものですが
まだ試してはいませんが  RegisterStartupScriptをつかうとできそうです。

vb側で  メッセージボックスを表示させる方法です。

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click 

Dim startupScript As String 
Dim strScript As String 

strScript = " confirm('どちらか押してください!') " 
startupScript = "<script language='JavaScript'> " + strScript + "</script>" 

RegisterStartupScript("key1", startupScript) 

End Sub 

こんな感じです。
警告を出す場合は  confirmではなく、
aspx側で記述されるJavaScriptのalertでOKみたいです

以上自己解決です。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加