- 題名: 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が返ってきます。
いろいろ調べましたが、見当もつかないのでご教授ください。
よろしくお願いします。