データグリッドでチェックした行を削除するには?


しおり  2004-06-15 00:32:36  No: 113925

初めまして、VB.NETでASP.NETを作成してます初心者です。
現在、datagridのチェックボックスで選択した行を削除する方法を探してます。
イベントはボタンクリックで、チェックボックスに複数選択されている
状態でボタンを押し、選択した行が削除されるというものをつくりたいと考えてます。
チェックボックスがチェックされている状態までわかったのですがそのあと
削除させるよい方法が見つかりません。
チェックボックスのチェックは以下のように判断しています。
        For Each dgi In MyDataGrid.Items
            cb = CType(dgi.Cells(0).Controls(1), CheckBox)

            If cb.Checked = True Then

            End If
            ii += 1
        Next

ここで、チェックされている行を削除したいのですが、何かよい
方法はありますでしょうか。


特攻隊長まるるう  2004-06-15 02:14:14  No: 113926

このサイトでのASP関連の質問は回答率悪いので…気長に…待つことに…(^^;)
ボクもやったことありませんし、環境が用意できませんので初心者以下の回答しか…
…というか予想で回答しておきますので間違ってても悪しからずご了承くださいm(__)m

DataGrid.Items プロパティのヘルプを見てみましたが…(オンラインは↓)
http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/cpref/html/frlrfsystemwebuiwebcontrolsdatagridclassitemstopic.asp

>解説
>Items コレクションには、コレクションに項目を追加または削除する
>メソッドは用意されていません。
…らしいので Items からどうにかするのは難しいのでしょう。
>ただし、 ItemCreated イベントのハンドラを作成することによって、
>項目の内容を制御できます。
…なんかありそうですがメンドイのでパスw。

[VB.NET]ではデータグリッドの操作をやったことがありますが、こちら
でもデータグリッド側からの削除方法は見つかりませんでした。で、
データソースのほうで削除して再表示しました。

今回もデータソースに何か設定してると思うんですが、
データソースのほうを変更すればできるんじゃないでしょうか?。


特攻隊長まるるう  2004-06-15 03:13:53  No: 113927

こんなのも検索に引っかかりました。

http://ja.gotdotnet.com/quickstart/aspplus/doc/webdataaccess.aspx#select

ソースをざっと見た限り、SQL文を発行してデータベース側を削除してますね。
やっぱりデータグリッド側は表示のみと言うことで。


しおり  2004-06-15 04:34:42  No: 113928

特攻隊長まるるう様

ありがとうございました。
データの方をいじくらないといけないようですね。
なれない作業ですが何とか教えていただいた
サイトを見ながらがんばります。


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




  


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