- 題名: DataGridViewのCheckBoxの値の取得
- 日時: 2010/09/04 14:14:49
- ID: 27271
- この記事の返信元:
- (なし)
- この記事への返信:
- [27272] Re[1]: DataGridViewのCheckBoxの値の取得2010/09/04 14:28:39
- ツリーを表示
■No27273に返信(こーじろーさんの記事)
> Handles btnCopy.DoubleClick
Button の DoubleClick とは、珍しい実装ですね。
通常のボタンだと、DoubleClick は無効化されているはずなのですけれども。
>>> dgv(0,0).Valueとすると、Nothingが返ってきます。
> MsgBox(dgv1(0, 0).Value)
> 問題なのはメッセージボックスの中の値です。
No27272 の繰り返しになりますが、現象を再現できるコードを提示してみてください。
このコードでは、.Value が Nothing なのか "" なのか判断できませんよね。
また、dgv1 のデザイナ設定はどのようになっているのでしょうか。
(特に、データバインドの有無や DataGridViewCheckBoxColumn の設定など)
Partial Public Class Form1
Inherits Form
Private WithEvents btnCopy As Button
Private WithEvents dgv1 As DataGridView
Private WithEvents col1 As DataGridViewCheckBoxColumn
Private Sub Form1_Load() Handles Me.Load
col1 = New DataGridViewCheckBoxColumn()
col1.TrueValue = True
col1.FalseValue = False
col1.ThreeState = True
col1.ValueType = GetType(Boolean?)
col1.HeaderText = "CHK"
dgv1 = New DataGridView() With {.Dock = DockStyle.Fill}
dgv1.AllowUserToAddRows = False
dgv1.Columns.Add(col1)
dgv1.RowCount = 6
btnCopy = New Button() With {.Text = "Copy", .Dock = DockStyle.Top}
Controls.AddRange(New Control() {dgv1, btnCopy})
'dgv1(0, 0).Value = 未設定
dgv1(0, 1).Value = Nothing
dgv1(0, 2).Value = DirectCast(Nothing, Boolean?)
dgv1(0, 3).Value = False
dgv1(0, 4).Value = True
dgv1(0, 5).Value = DBNull.Value
ActiveControl = btnCopy
End Sub
Private Sub btnCopy_Click() Handles btnCopy.Click
Dim list As New List(Of String)()
For r = 0 To 5
Dim o = dgv1(0, r).Value
Dim s = String.Format("{0}行目:「{1}」({2})", r, o, TypeName(o))
list.Add(s)
Next
MsgBox(Join(list.ToArray(), vbNewLine))
End Sub
End Class
分類:[.NET]
こんにちわ。いきなりですが質問があります。
DataGirdViewにデザイナ上からCheckBoxを0列目に追加しています。
しかし値を取得しようと、
dgv(0,0).Valueとすると、Nothingが返ってきます。
いろいろ調べましたが、見当もつかないのでご教授ください。
よろしくお願いします。