데이터 유효성 검사 - WinForms FlexGrid
페이지 정보
작성자 GrapeCity 작성일 2020-07-23 00:00 조회 6,609회 댓글 0건본문
첨부파일
관련링크
는 셀 수준의 향상된 데이터 유효성 검사를 위한 두 가지 기술을 제공합니다.
데이터 주석을 사용한 유효성 검사
데이터 주석은 유효성 검사 규칙, 데이터가 표시되는 방식을 지정하고 클래스 간 관계를 설정하는 클래스 또는 클래스 구성원에게 적용되는 특성입니다.
C1FlexGrid v1은 데이터 주석의 특성을 정의하면서 코드를 통해 데이터 개체를 만듭니다. 이렇게 하면 C1Flexgrid는 각 셀에 대한 사용자 입력의 유효성을 검사하는 을 지원할 수 있게 됩니다.
그리드는 이러한 특성을 인지하고 각 해당 열에 규칙을 자동으로 적용합니다. 다음은 C1FlexGrid에서 지원되는 주석 특성입니다.
특성 이름 | FlexGrid에서의 기능 |
---|---|
Association | 엔터티의 구성원이 외래 키 관계와 같은 데이터 관계를 나타내도록 지정합니다. |
Display | 엔터티 부분 클래스의 유형 및 구성원에 대해 현지화 가능한 문자열을 지정할 수 있도록 하는 범용 특성을 제공합니다. |
DisplayFormat | 데이터 필드가 표시되고 서식 지정되는 방식을 지정합니다. |
DisplayColumn | 참조된 테이블 내에서 외래 키 열로 표시되는 열을 지정합니다. |
Editable | 데이터 필드를 편집할 수 있는지 여부를 나타냅니다. |
Key | 엔터티를 고유하게 식별하는 하나 이상의 속성을 의미합니다. |
Validation RequiredAttribute StringLengthAttribute RangeAttribute RegularExpressionAttribute MinLengthAttribute MetaDataAttribute MaxLengthAttribute EmailAddressAttribute CompareAttribute DataTypeAttribute | 데이터 주석 유효성 검사 특성은 FlexGrid 연산에서 유효성 검사 규칙으로 사용됩니다. |
한 가지 예를 살펴보겠습니다.
조직의 직원 목록에 이름, 이메일, 연령, 연락처 등의 공통 필드가 있습니다. 모든 필드에는 통과 기준 집합이 있으며, 데이터 주석은 입력의 유효성을 검사합니다.
그리드에서 데이터 주석 구현
위 예제에 대한 데이터 주석을 구현하려면 각 직원에 대해 다음 속성을 포함한 EmployeeData라는 클래스를 만듭니다.
class EmployeeData { public string EmployeeName {get; set;} public UInt32 Age {get; set;} public string EmployeeEmail {get; set;} public string Contact {get; set;} }
클래스가 생성되면 다음 단계를 수행합니다.
각 속성에 대한 메타데이터 태그를 추가하여 유효성 검사 적용
EmployeeName, Age 및 EmployeeEmail 속성에 데이터 주석 특성 적용
EmployeeName 속성의 표시 이름을 그리드 열의 캡션으로 반영되는 “Name”으로 변경
“yrs.”가 해당 값 뒤에 오는 접미사로 표시되도록 Age의 서식을 설정
EmployeeEmail 속성의 표시 이름을 “Email”로 변경하고 그것이 필수 속성인지 그리고 비워둘 수 없는지 유효성 검사
[Display (Name = "Name")] public string EmployeeName {get; set;} [DisplayFormat (DataFormatString = "0 yrs.")] public UInt32 Age {get; set;} [Display (Name = "Email")] [Required (Error Message = "Email ID is Required")] public string EmployeeEmail {get; set;}
클래스에서 이러한 속성의 특성을 정의한 후 EmployeeData 개체 목록을 만듭니다. 이 목록을 레코드를 표시하기 위한 그리드의 DataSource로 설정합니다.
이제 코드를 통해 데이터 개체를 생성하는 동안 입력에 대한 유효성이 검사됩니다. 클래스 개체를 통해 데이터 소스를 설정할 필요가 없는 경우 FlexGrid는 EditorValidation이라는 새 속성을 제공합니다.
EditorValidation 속성을 사용한 유효성 검사
C1FlexGrid v1에는 이라는 속성이 포함됩니다. 이 속성은 그리드의 열에 적용할 때 데이터 평가를 개선하는 유효성 검사 규칙으로 이루어집니다.
주석이 사용되면 EditorValidation 속성으로 해석됩니다. 주석이 사용되지 않으면 그리드에서의 유효성 검사는 EditorValidation 속성을 사용하는 열에 적용될 수 있습니다.
아래에서는 EditorValidation 속성을 사용하여 앞에서 논의한 규칙을 적용하고 2개의 열에 대해 유효성 검사를 수행합니다.
EmployeeName 열에 대해서는 다음 규칙을 적용합니다.
RequiredRule: 필드를 비워둘 수 없습니다.
StringLengthRule: 입력의 최소 길이를 특정 값으로 설정합니다.
마찬가지로 RangeRule을 사용하여 Age 열에 대해 유효성 검사를 수행합니다.
var Name = c1FlexGrid1.Cols["EmployeeName"]; Name.EditorValidation.Add(new RequiredRule()); Name.EditorValidation.Add(new StringLengthRule() { MinimumLength = 5 }); var Age = c1FlexGrid1.Cols["Age"]; Age.EditorValidation.Add(new RequiredRule()); Age.EditorValidation. Add(new RangeRule() { Minimum = 18, Maximum = 50 });
여기서는 FlexGrid 컨트롤에서의 데이터 유효성 검사에 대해 자세히 설명했습니다.
댓글목록
등록된 댓글이 없습니다.