Tôi có một điều khiển DataGridView trong ứng dụng .Net có chứa cột hộp kiểm. Tôi muốn người dùng có thể chỉnh sửa các hộp kiểm. Vấn đề mà tôi đang gặp phải là tôi không thể phát hiện trạng thái của hộp kiểm sau khi người dùng kiểm tra nó.Trạng thái phát hiện phát hiện vấn đề trong DataGridView
Nếu hộp kiểm ban đầu được chọn, khi đó hộp kiểm này sẽ trả về kiểm tra ngay khi DataGridViewCheckBoxCell lấy tiêu điểm. Nhưng, nếu tôi nhấp vào hộp kiểm một lần nữa và bỏ chọn nó, sau đó nó vẫn trả về kiểm tra. Từ thời điểm đó, nó sẽ luôn luôn trở lại kiểm tra bất kể trạng thái thực tế của hộp kiểm cho đến khi nó mất tập trung và tăng nó một lần nữa.
Tương tự như vậy, nếu hộp kiểm ban đầu không được chọn, khi nó được lấy nét, nó sẽ trở lại không được chọn trong sự kiện nhấp chuột bất kể trạng thái của hộp kiểm thực sự là gì.
Đây là mã của tôi.
Private Sub grdTemplates_CellContentClick(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles grdTemplates.CellContentClick
Dim strValue As String = ""
Try
If Me.grdTemplates.Columns(e.ColumnIndex).Name = "colCurrentTemplate" Then
'The user clicked on the checkbox column
strValue = Me.grdTemplates.Item(e.ColumnIndex, e.RowIndex).Value
'THIS VALUE NEVER CHANGES WHILE THE DataGridViewCheckBoxCell HAS FOCUS
Me.lblTemplates.Text = strValue
End If
Catch ex As Exception
HandleError(ex.ToString)
End Try
End Sub
Cảm ơn trước,
Mike