データベースのブール列から DataGridView チェックボックス列を正しく設定できません。
最初の form_load コード:
Me.DataGridView1.DataSource = Me.bindingSource1
GetData("SELECT myInt, myBool, myString " & _
"FROM " & myFavTable & " " & _
"WHERE (myInt > 100) ORDER BY myString")
formatGrid()
GetData で、myTable にデータを入力します。
Me.dataAdapter.Fill(myTable)
Me.bindingSource1.DataSource = myTable
最後に、表示する前にグリッドをフォーマットします。
自動フォーマットよりもロードがはるかに高速であるため、手動でフォーマットします。
With DataGridView1
.AllowUserToAddRows = False
.AllowDrop = False
.AllowUserToOrderColumns = False
.AllowUserToResizeRows = False
.SelectionMode = DataGridViewSelectionMode.FullRowSelect
.MultiSelect = False
.Dock = DockStyle.Fill
.EditMode = DataGridViewEditMode.EditProgrammatically
With .Columns(0)
.Name = "postN"
.HeaderText = "Postal"
.Width = 55
End With
With .Columns(1) 'here should be a checkbox
.Width = 20
End With
With .Columns(2)
.Name = "colCity"
.HeaderText = "City"
.Width = 180
End With
End With
しかし、このコードでは、チェックボックスを表示する必要がある私の列には0
、データベースにあるときに文字列値が表示されますFALSE
。
この状況で、テキストの代わりに中央の列にチェックボックスを表示するにはどうすればよいですか?
バインディングの前後に .Columns.Add... を試してみましたが、望ましい結果は得られませんでした。
そうすれば取得できますcheckboxes
が、新しい列にあります。