2011-02-03 56 views
5

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

Trả lời

Các vấn đề liên quan