2011-05-15 6 views
1

나는코드를 vb.net로 작성했습니다. (datasource에는 아무 것도 첨부되지 않습니다.)셀 값 읽기

네 번째 열은 checkboxCell입니다. 해당 checkBox이 선택되어 있는지 또는 선택 취소되어 있는지 어떻게 감지합니까?

이 코드는 이상하게도 임의 시간에 TRUE 또는 FALSE를보고합니다. 심지어 내가에서 클릭 행 이외의 다른 행에 checkbox 켜집니다.

Private Sub DataGridView1_CellContentClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DataGridView1.CellContentClick 
    Dim whichGrid As DataGridView = CType(sender, DataGridView) 

    Dim rowClicked As Int16 = e.RowIndex 

    Call MsgBox(rowClicked & vbCrLf & whichGrid.Rows(rowClicked).Cells(4).Value) 

End Sub 

내가 여기 (다른 곳에서) 검토 한 모든 다른 예 도움하지 못하는 것 같습니다. 솔루션은 항상 다음과 같습니다.

  • 셀의 VALUE 만 확인하면됩니다.
  • 그냥 C#을 배우고 vb.net으로 변환하는 법을 배웁니다.
  • VALUE에서 아무것도 확인하지 않거나 null 또는 ""또는 그 모두를 확인하십시오.
  • VALUE을 bool로 변환하십시오.
  • 대신 데이터 소스에 연결하십시오.
  • TrueValue 및 FalseValue를 설정하십시오.

나는 다른 방법을 무수히 시도했지만 아무도 실제로 vb.net에서 checkbox ON/OFF 값을 얻는 것 같습니다. 부울에

답변

0

캐스트 셀의 값 :

Dim RowIndex As Integer = ... 
Dim ColumnIndex As Integer = ... 

Dim IsTicked As Boolean = CBool(DataGridView1.Rows(RowIndex).Cells(ColumnIndex).Value) 

If IsTicked Then 
    MessageBox.Show("You ticked the box.") 
Else 
    MessageBox.Show("You cleared the box.") 
End If