DOBON.NET DOBON.NETプログラミング掲示板過去ログ

DataGridViewCheckBoxColumnのチェックのみの取り出し方

環境/言語:[XP C# NET Framework 2.0]
分類:[.NET]

DataGridViewにチェックボックスを入れチェックの入ったものだけを参照し、その行のデーターを取り出したいと思っています。

チェックボックスはこのページのおかげで入れることができました。
http://dobon.net/vb/dotnet/datagridview/datagridviewcheckboxcolumn.html

あとはチェックのついた行を取り出したいと思っています。

どなたか御教授していただけないでしょうか?
宜しくお願いします。
■No26097に返信(たなかさんの記事)
> DataGridViewにチェックボックスを入れチェックの入ったものだけを参照し、その行のデーターを取り出したいと思っています。

        Dim bRet As Boolean

        For Each dr As DataGridViewRow In DataGridView1.Rows
            bRet = CBool(dr.Cells("チェックするカラム名").Value)
            If bRet Then
               ' チェックされていた場合、何かの処理
            End If
        Next

このコードのdrが、該当する行データになりますが・・・

以上。参考まで
オショウさん

返信ありがとうございます。

下の例文を参考にいろいろ試して参照することができました。

foreach(DataGridViewRow row in dataGridView1.Rows) {
Console.WriteLine( row.Cells["NAME"].Value );
}

指定してカラム名でDataGridViewの値を参照することができました。
ありがとうございます!

ただまだ問題があってDataGridViewCheckBoxColumnで追加したカラム
には名前がなく参照できないでいます。

今考えているのはDataSetを作りそこでカラム名をセットすればいいのかと考えているのですがどうでしょうか?

よろしくお願いします。


■No26100に返信(オショウさんの記事)

> Dim bRet As Boolean
>
> For Each dr As DataGridViewRow In DataGridView1.Rows
> bRet = CBool(dr.Cells("チェックするカラム名").Value)
> If bRet Then
> ' チェックされていた場合、何かの処理
> End If
> Next
>
> このコードのdrが、該当する行データになりますが・・・
>
> 以上。参考まで
■No26103に返信(たなかさんの記事)
> ただまだ問題があってDataGridViewCheckBoxColumnで追加したカラム
> には名前がなく参照できないでいます。

名前を付けてやればよいだけかと・・・

Dim column As DataGridViewCheckBoxColumn

column = New DataGridViewCheckBoxColumn
column.Name ="hogehoge"

DataGridView1.Add(column)
DataGridView1.Columns("hogehoge").HeaderText = "ほげほげ"

としたらよいのでは?

DataSetとの絡みがあるようですが、DataGridViewに細かいカラムの設定
や表としての装飾・設定を行っていると、DataSetから直接流し込むと意
図した形にならない場合があるので、私は1行づつDataSetの該当Table
から行データを取り出して、DataGRidViewに行データをAddさせてます。

以上。参考まで
おしょうさん

DataGridViewにカラムの詳細設定ができること知りませんでした><
プログラムからではなくDataGridViewの設定からチェックボックスを追加するようにしました。
カラム名も取得できるようになりチェックボックスの値を取ることができました!

とても助かりました。本当にありがとうございます!

> DataSetとの絡みがあるようですが、DataGridViewに細かいカラムの設定
> や表としての装飾・設定を行っていると、DataSetから直接流し込むと意
> 図した形にならない場合があるので、私は1行づつDataSetの該当Table
> から行データを取り出して、DataGRidViewに行データをAddさせてます。
>
> 以上。参考まで
>
> DataSetとの絡みがあるようですが、DataGridViewに細かいカラムの設定
> や表としての装飾・設定を行っていると、DataSetから直接流し込むと意
> 図した形にならない場合があるので、私は1行づつDataSetの該当Table
> から行データを取り出して、DataGRidViewに行データをAddさせてます。
>
> 以上。参考まで
解決済み!

DOBON.NET | プログラミング道 | プログラミング掲示板