トップ回答者
DataGridView の DataGridViewCheckBoxCell について

質問
-
DataGridView で指定したセルをチェックボックスにする為に、
DataGridView.Rows(1).Cells(1) = New DataGridViewCheckBoxCell
と、指定するとエラーになります。けど、
DataGridView.Rows(1).Cells(1) = New DataGridViewButtonCell
と、指定するとエラーにならずに、セルはボタンになります。
ボタンは作成できるんですが、チェックボックスが作成できません。
御存じの方がいらっしゃいましたら、ご教授頂けないでしょうか。
宜しくおねがいします。
【環境】
Windows XP Pro
Microsoft Visual Basic 2005 SP1
.NET Framework2.0.50727 SP1
回答
すべての返信
-
norisuke77 さんからの引用 お役に立てずすいませんでした。
私はこの記述でうまくいったのですが・・・
ちなみにどういったエラーでしょうか?
norisuke77 さん 返信ありがとうございます。
エラーの内容ですが、
DataGridViewで、次の例外が発生しました。
System.FormatException:セルのフォーマットされた値に間違った型が指定されています。
と、いったエラーです。ちなみに、norisuke77 さん の開発環境は、
Microsoft Visual Basic 2005 SP1
.NET Framework2.0.50727 SP1
でしょうか? -
trapemiya さん 返信ありがとうございます。
やはり、VS2008 でも同じエラーでした。
trapemiya さん このコードでは、まずいんでしょうか?
①のところが、.Rows(Idx1).Cells(1) = New DataGridViewButtonCell だと問題ないんですが。
Private Sub Set_DataGridView()
Dim Idx1 As Integer
With DataGridView1
.ColumnCount = 2
.RowCount = 8
For Idx1 = 1 To .RowCount - 1
.Rows(Idx1).Cells(1) = New DataGridViewCheckBoxCell ・・・・・・・・①
Next
End With
End Sub -
trapemiya さんからの引用 そのようなコードであれば、DataGridViewButtonCell の場合には、.Rows(Idx1).Cells(1).Value = 0を実行してから代入してみて下さい。
今、エラーになっているのは、たぶんNothingがセルの値として返ってくるので、NothingはCheckBoxの型として不適切だよって叱られているんだと思います。
trapemiya さん 度々返信ありがとうございます。
Private Sub Set_DataGridView()
Dim Idx1 As Integer
With DataGridView1
.ColumnCount = 2
.RowCount = 8
For Idx1 = 1 To .RowCount - 1
.Rows(Idx1).Cells(1) = New DataGridViewCheckBoxCell ・・・・・・・・①.Rows(Idx1).Cells(1).Value = FalseNext
End With
End Sub
.Rows(Idx1).Cells(1).Value = 0 を ①の前だと同じエラーでしたが、①の後だとうまくいきました。
ちなみに、.Rows(Idx1).Cells(1).Value = False でもうまくいきました。
trapemiya さん 、norisuke77 さん ありがとうございました。