2013-07-26 2 views
1

" 'Operator'= 'CivilStatus'유형에 대해 정의되지 않았으며 'Integer'를 입력했습니다."vb.net combobox selectedvalue 이벤트 오류

코드 :

Private Sub cboCivilStatus_SelectedValueChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles cboCivilStatus.SelectedValueChanged 

    If cboCivilStatus.SelectedValue = 2 Then 
     dtpDateMarried.Enabled = True 
    Else 
     dtpDateMarried.Enabled = False 
    End If 

End Sub 

답변

2

좋아, 당신이 SelectedValue 클래스 CivilStatus의 객체를 포함처럼 보이는 콤보 상자의 SelectedIndexChanged 이벤트

Private Sub cboCivilStatus_SelectedIndexChanged(sender As Object, e As EventArgs) Handles cboCivilStatus.SelectedIndexChanged 
     If cboCivilStatus.Text = "2" Then 
      dtpDateMarried.Enabled = True 
     Else 
      dtpDateMarried.Enabled = False 
     End If 

    End Sub 
+0

나는 selectedtext를 사용하여 dtpDateMarried 컨트롤을 활성화하지 않았습니다. 어떤 이벤트를 코드에 넣어야합니까? – user2059064

+0

몇 가지 코드를 추가했습니다. 고마워요 @ 루벤. – user2059064

0

를 사용하여 시도해야합니다.

If cboCivilStatus.SelectedIndex = 2 Then 

을하지만 CivilStatus의 속성을 필요로하는 경우에는 해당 속성, 예를 들어에 대해 확인해야합니다 : 당신이 선택한 항목의 인덱스를 찾고 있다면, cboCivilStatus.SelectedIndex 속성을 대신 사용

If CType(cboCivilStatus.SelectedValue, CivilStatus).MyIntProperty = 2 Then 
+0

" 'System.int64'형식의 개체를 'ChurchData.CivilStatus'" – user2059064

+0

형식으로 캐스팅 할 수 없습니다. 드롭 다운의 두 번째 요소 또는 특정 속성이 2 인 요소를 확인해야합니까? –

+0

combobox의 값을 2로 선택하면 datetime picker 컨트롤을 활성화하려고합니다. 콤보 박스는 civilstatus 클래스에 바인딩됩니다. 데이터베이스에 CivilStatus = 'Married', ID = 2입니다. – user2059064

관련 문제