2010-02-25 4 views
2

사용자가 DataGridView의 셀에 유효하지 않은 텍스트를 입력하면 사용자가 해당 셀을 벗어나 툴팁에 오류 메시지와 함께 해당 셀에 오류 아이콘을 표시하지 못하도록하고 싶습니다. 일반적으로 오류 아이콘은 셀이 더 이상 편집 모드가 아닐 때까지 표시되지 않습니다. 편집 모드에서 오류 아이콘을 표시하는 방법은 example인데 그 위에 마우스를 가져 가면 툴팁이 표시되지 않습니다.DataGridView 셀을 편집하는 동안 사용자에게 오류를 표시하려면 어떻게해야합니까?

저는 Windows 7을 사용하고 있지만 XP에서도 작동하지는 않습니다. 따라서이 문제를 해결할 수 있습니다.

예제가 누락 된 것이 무엇인지 파악하거나 동일한 결과를 산출 할 수있는 대체 방법을 제안 할 수 있습니까?

예제를 작성하려면 양식을 직접 작성하고 예제 코드를 복사/붙여 넣기하고 using System.Drawing.Drawing2D;을 추가하고 이벤트 핸들러를 직접 지정해야합니다.

답변

1

나는 다음과 같은 post를 참조 예를 들어 IDataErrorInfo 인터페이스

보는 것이 좋습니다.

+0

고마워요! 오늘 이걸 가지고 놀아 보겠습니다. – Ecyrb

+0

이것이 나를 위해 잘 될지 모르겠습니다. 문서는 가치가 없습니다. 나는 그 게시물과 심지어 그 블로그의 답변 중 하나가 연결된 블로그를 체크 아웃했는데 그것이 내'DataGridView'와 제대로 작동하는 방법을 이해하는 데 도움이되지 못했다. 사용자가 잘못된 'DateTime'(예 : null 또는 "Blarg")을 입력하는 것을 방지하기 위해이 방법을 사용할 수는 없습니다. 정상적인 문자열 열의 경우 셀이 포커스를 잃은 후에야 내 목표의 목적을 무효화 할 때까지 유효성을 검사하지 않습니다. 어쩌면 나는 그것을 올바르게 사용하는 법을 모른다. 'DataGridView'와 관련된 추가 예제가 가장 환영받을 것입니다. – Ecyrb

1

약간의 해킹이 있지만 유효성 검증 메소드의 끝 부분에 이처럼 뭔가를 추가하면 EndEdit()이 데이터 구조에 새 값을 제출할 수 있도록 일부 데이터에 바인딩되지 않은 것으로 가정합니다 또는 무엇인가) :

if (e.Cancel) 
{ 
    myView.EndEdit(); 
    myView.BeginEdit(true); 
} 
관련 문제