2013-02-05 4 views
0

데이터베이스의 값으로 dvgPeople을 채 웁니다. 삽입/업데이트/삭제/선택 명령이 정상적으로 작동합니다. 선택한 행의 값을 사용하여 양식의 일부 구성 요소를 채우고 싶습니다. 텍스트 상자를 채울 수는 있지만 확인란을 처리 할 수 ​​없습니다. 여기 코드가 있습니다.DataGridView의 셀 값과 문자열 비교

if (dgvPeople.CurrentRow.Cells[6].Value == "1") 
{ 
    chkGerman.Checked = true; 
} 
else 
{ 
    chkGerman.Checked = false; 
} 

내가 디버깅 할 때이 이상한 경우가 발생

enter image description here

에도 dgvPeople.CurrentRow.Cells [6] .Value = 1, 그것은 여전히 ​​false입니다.

+0

어떤 ReSharper에서 당신에게 말할하려고합니까? – GolfWolf

+0

"예상 할 수없는 참조 비교가 가능합니다. 값 비교를 위해 왼쪽에 'string'을 입력하십시오." – noDispName

+0

맞아요. 솔루션에 대한 아래의 x4rf41의 대답을 참조하십시오. – GolfWolf

답변

0

로 비교하는 유형의 객체를

Value.ToString().Equals("1") 

있습니다.

이 작동합니다 :

if (dgvPeople.CurrentRow.Cells[6].Value.ToString() == "1") 
{ 
    chkGerman.Checked = true; 
} 
else 
{ 
    chkGerman.Checked = false; 
} 
+0

입니다. 부울 값이 아닙니다. 그것은'객체'입니다. – GolfWolf

+0

감사합니다. – noDispName

1

가치는 문자열 객체에 대한 부울 값을 확인하려고 문자열

+0

감사합니다. – noDispName

+0

정답이면 ty <3 – x4rf41

0

당신은 시도해 봤어 :

if (dgvPeople.CurrentRow.Cells[6].Value.ToString() == "1") 
+1

이미 게시 됨이 답변 – Derek

+0

죄송합니다. 두 답변이 약간 잘못되었으므로 항상 비교를 위해 String 유형의 .Equals() 함수를 사용하십시오. – x4rf41