【发布时间】:2013-01-14 22:58:33
【问题描述】:
我无法从数据库的布尔列中正确填充 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,但在新专栏中。
【问题讨论】:
-
我授权@spajce 对您的标题进行编辑。请参阅"Should questions include “tags” in their titles?",其中的共识是“不,他们不应该”
-
我没有做标签!只是想像描述的那样对“DataGridView”有所帮助。通过删除标题的关键部分,您无法使它变得更好!
-
我只是想澄清一下我们想说的话,尝试查看您的 previous 帖子,如果注意到您有一个标签并且您的标题提到了
DataGridView,因此标记DataGridView不是让我们成为我们的标题,因为通过我们的tags它将对我们的帖子进行分类。我希望你明白:) -
我当然明白。那么您的用户标题“在 VB.NET 中填充 DataGridView”会怎样? “填表”?
标签: vb.net datagridview