ASP.net(VB)とSQLSERVERで開発しているのですが、SQLSERVERでストアドプロシージャでSELECT文を発行するSQLを書きました。
1)そのデータをGridViewで表示したのですが、列がNULLの場合にチェックボックスを表示したい。←これが分からない
2)チェックボックスがonの状態で実行ボタンが押下された場合に別のストアドプロシージャを走らせてNULLを「確認済」としたい。
(例)
チェック |名前 |メールアドレス
確認済 |Aさん|aaaa@test.co.jp
□(チェックボックス) |Bさん|bbbb@test.co.jp
[実行ボタン]
このようにこのようなことはGridViewで可能なのでしょうか?
それとも、HTMLコントロールを使用して一行ずつ書きこんでいくしかないのでしょうか?
返答をお待ちしております。
No.1ベストアンサー
- 回答日時:
実際やったわけではないですが、可能だと思います。
ただ「確認済」表示列とチェックボックス列を分けた方が簡単なのではないでしょうか?
さて、やり方としては、チェックボックスが含まれる列は、全行とにかくチェックボックスが表示されるようにデザインします。
実行時に、行の描画イベント(RowDataBoundイベント)の中で、値が NULL でなければ、CheckBox を削除/非表示するようにし、代わりに"確認済"と表示する Literal コントロールでも追加してやればよいんじゃないかと思います。
この回答への補足
申し訳ありません、TmpCntStrの箇所をGridCheckにすればよかったのですね。
投稿する前に試したのですが、なぜかうまく動かなかったので思わず書き込んでしまいました。(なんでだろう…)
ついでと言いますか、TmpCntStrはうまく表示できた時にソースの表示で作成されたものを見た結果だったりします。
このような若造にお付き合い頂きありがとうございました。
ご返事ありがとうございます。
実際にやってみたのですがチェックボックスのコントロールがうまくとれず、つまずいてしまいました。
(エラー:オブジェクト参照がオブジェクト インスタンスに設定されていません。)
[Default.aspx]
<columns>
<asp:boundfield datafield="No." headertext="No." FooterText="処理済"/>
<asp:TemplateField HeaderText="処理済">
<ItemTemplate>
<asp:CheckBox ID="GridCheck" runat="server" />
<asp:Label ID="GridCheckLabel" runat="server" Text="済"></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:boundfield datafield="処理済flg" HeaderText="処理済flg"/>
<asp:boundfield datafield="名前" headertext="名前"/>
<asp:boundfield datafield="メールアドレス" headertext="メールアドレス"/>
</columns>
[Default.aspx.vb]
Protected Sub GridView1_RowDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles GridView1.RowDataBound
Dim RowCnt As Integer
Dim TmpCnt As String
Dim TmpCntStr As String
Dim GridRow As GridViewRow
RowCnt = GridView1.Rows.Count
If RowCnt > 0 Then
GridRow = GridView1.Rows(RowCnt - 1) 'タイミングが新しい行の挿入なので前行を編集する
If GridRow.Cells(2).Text = " " Then '確認済flgがNULLの場合 が挿入される
TmpCnt = "00" + CStr(RowCnt + 1) 'CheckBoxのIDが変更されるためIDを合わせる
TmpCnt = Right(TmpCnt, 2)
TmpCntStr = "GridView1_ctl" + TmpCnt + "_GridCheck"
'GridRow.Cells(1).FindControl(TmpCntStr).Visible = False 'ここでエラー
'GridRow.Cells(1).FindControl.(TmpCntStr).Visible = False
End If
End If
End Sub
よろしければご指導をお願いできませんでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) スプレッドシートのチェックボックスとフィルタを連携させたい 2 2022/09/26 18:02
- Excel(エクセル) Libreoffice calcで人名を取り消し線を入れたい。 2 2022/09/10 15:27
- JavaScript javaScriptで画面に値を入れるには 1 2022/08/14 12:27
- PHP PHPでCSVを出力するさいに、ループの中で前の行の値を変更したい 3 2022/10/27 17:44
- Excel(エクセル) 表内で、Enterキーで横→行の最後入力したら次の行の先頭に移動するマクロを作りたい 3 2022/05/01 21:19
- Excel(エクセル) PHPプログラムをエクセルに張り付けると検索ボックスがでてくる! 3 2022/05/08 07:10
- Excel(エクセル) Excelでnullになるような式のセルをマクロで空白行と認識させるにはどうすればいいですか? 3 2023/03/13 13:42
- PostgreSQL DBFluteについて質問です。 環境:PostgreSQL java8 前提:webアプリケーショ 1 2022/07/07 00:49
- MySQL PHPとMySQLを使った掲示板の作り方 1 2022/06/02 13:00
- Visual Basic(VBA) エクセルでフォームのチェックボックスを使用した日付表示切替を作りたい 3 2023/07/11 10:47
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Acrobatのツールボタンの消し方
-
Excel:「フォーム」のボタンで...
-
TabStripのイベントについて
-
MEDIAS N-04DのFactoryReset
-
javascript 別ウィンドウを開...
-
ボタンを押したような状態にし...
-
GridViewの項目編集(初歩)
-
JSPでボタンを押したら、文字が...
-
WEBページ上に[Ctrl]+[F5]を割...
-
Q&Aフォームを作成したいのです...
-
チャレンジタッチの画面にスマ...
-
エクセルVBAで画面の大きさを取...
-
画面遷移が不正ですと表示されます
-
数字のみ入力可
-
【ASP.NET】ページ遷移してもGr...
-
Accessの画面更新を一時的に停...
-
ASP.NET 電卓計算
-
別ブラウザにセッションを渡す...
-
【ASP.NET】フォームの継承は出...
-
ASP.NetのGridViewで任意の行ク...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
c# 文字列の最後から1文字削除...
-
DataGridViewのチェックボック...
-
VBAで一時中断したプログラムの...
-
Eclipseでクリーンが出来ない
-
ブラウザの×ボタン(閉じるボタ...
-
グリッドビューでのチェックボ...
-
メール添付されたPDFファイルが...
-
SPREADでカーソルの位置を1行目...
-
EXCEL2010でセルが編集中かを判...
-
CheckBoxをボタン形式にして押...
-
最大化ボタンと最小化ボタンを...
-
Ctrlキーを押しながらのダブル...
-
IEの閉じるボタンを消す方法
-
今更、VBAでRPA、キーボード操...
-
C# Enterキーの動作について
-
Page_Load時にボタンクリックイ...
-
Webブラウザの閉じるボタン無効...
-
【C#】 : WindowsProgramming ...
-
Fancyboxのiframe内に閉じるボタン
-
VBのこのコードの意味を教えて...
おすすめ情報