2011-08-23 4 views
2

우리는 LINQ-to-sql, databindding 및 오류 공급자 개체를 사용하여 C# Windows Forms 응용 프로그램을 개발하고 있습니다.Linq, 오류 공급자, Databinding : 사용자 지정 오류 메시지

데이터 바인딩을 사용하면 허용되지 않는 데이터를 입력하자 마자 자동 생성 된 메시지가 표시됩니다 (예 : 숫자 필드에 영숫자 문자 입력). 그러나 생성되는 메시지는 사용자에게 친숙하지 않습니다 (올바른 형식이 아닌 입력 문자열, 값이 유효하지 않음, 값이 pos 0에서 시작하는 datetime 등이 아닙니다).

이 문제를 해결하는 가장 좋은 방법은 무엇이라고 생각하십니까? 데이터 바인딩 된 컨트롤에서 "FormattingEnabled"를 false로 설정하여 자동 굽기 기능을 해제하십시오. 즉, 모든 유효성 검사를 직접 처리해야합니다. 또는 개체를 확장하여 메시지를 재정의 할 수 있습니다 (예 : TypeConverter를 확장/덮어 쓰기)? 기본 유효성 검사를 수행하는 사용자 정의 컨트롤 (예 : 정수, 금액 등만 허용되는 텍스트 상자 만들기)을 만드시겠습니까?

답변

1

만들 것입니다 사용자 정의 입력 컨트롤 :

  • 이 필요한 경우 사용자 지정 오류 메시지를 보여줍니다 자신의 ErrorProvider를 생성

    • 한계 입력
    • 무시 OnValidation base.OnValidation를 호출하지 않고이.
  • 1

    그것은 나를 있었다면 난 ... 단지 등 INT를 허용하도록

    를 텍스트 상자의 컨텐츠를 제한 할 또는 값이 텍스트 상자 null의 경우 messageBox.Show를 추가합니다.

    이 작업을 수행하는 방법에 대한 예가 필요합니까? 나는 결국 무슨 짓을

    관련 문제