一点帮助将非常感谢,我正在设计一个自行车租赁/预订程序作为一个扩展,在VB中使用一个MS Sql DB的当前项目。
我有一个datagridview,它显示了从我的数据库中拉入的几行数据,我正在手动添加另外两列,以便有几个复选框列。
这个想法是,如果有人使用第一个复选框列选择了一辆自行车,那么第二个复选框列(用于选择头盔)将自动被选中。如果用户不想要头盔,则可以取消选择该选项。这使得用户将自动获得头盔,除非他们决定不拥有头盔,而不是必须选择头盔。
如何使选中第一个复选框启用第二个复选框?当用户单击单元格时,我有一个事件处理程序:
Private Sub dgvBikeAvailability_CellContentClick(sender As System.Object, e As System.Windows.Forms.DataGridViewCellEventArgs) Handles dgvBikeAvailability.CellContentClick
drBikeAvailability = dvBikeAvailability(e.RowIndex).Row
'MsgBox to test data pass through
MsgBox(drBikeAvailability("bikeName"))
End Sub我一直在尝试访问我添加到datagridview中的额外列,但因为它们不存在于datatable中,所以我无法在even处理程序中执行此操作。
任何想法和建议,我们都非常感谢!
发布于 2013-04-24 00:29:52
假设第一个复选框位于列索引0,第二个复选框位于索引2(我认为您可以将索引替换为列的名称)。您需要自己处理复选框的值,因为事件似乎会禁用单击的正常行为。
Private Sub dgvBikeAvailability_CellContentClick(sender As Object, e As DataGridViewCellEventArgs) Handles dgvBikeAvailability.CellContentClick
If e.ColumnIndex = 0 Then
dgvBikeAvailability.Rows(e.RowIndex).Cells(0).Value = Not dgvBikeAvailability.Rows(e.RowIndex).Cells(0).Value
dgvBikeAvailability.Rows(e.RowIndex).Cells(2).Value = dgvBikeAvailability.Rows(e.RowIndex).Cells(0).Value
End If
End Sub如果起作用了,请告诉我。
https://stackoverflow.com/questions/16173976
复制相似问题