2013-10-04 3 views
0

PropertyGrid.SelectedObjects (Winform 컨트롤) 속성을 사용하여 여러 개체의 속성을 표시하고 있습니다. 기본 유효성 검사를 수행하고 비즈니스 논리를 실행하는 각 개체의 각 속성에 대한 사용자 지정 설명자가 있습니다.여러 개체 속성 변경에 대해 단일 유효성 검사를 수행하는 방법

모든 유효성 검증이 완료된 경우에만 비즈니스 로직을 한 번만 실행하고 싶습니다. 어떻게할까요?

편집 값이 자동으로 설정됩니다

PropertyGrid가 제어는 여러 비즈니스 로직 호출 결과 루프에서 내 사용자 지정 기술자의 SetValue 매크로 함수를 호출 MergedPropertyDescriptor를 사용합니다. 나는이 질문은 또한 Microsoft Forums

답변

0

에 게시

Edit2가 정적 변수를 사용하지 않고이를 방지하고자하는 가장 쉬운 :

myForm.submit = function() { 
    if (checkValidation()) { 
    // business logic; 
    if (OK) return true; 
    } 
    return false; 
}; 

I, 개인적으로, 간단하게 사용하는 것을 선호 wrapper로서의 submit 메소드 (내부의 if 문 [true의 경우는 true 또는 false를 돌려주는 또 다른 [비즈니스 로직] 함수를 호출합니다).

+0

(위에서 본) submit 메서드는 버튼 요소 또는 "SelectedObjectes"에 대해 원하는 이벤트 처리기의 click 이벤트로 변경할 수 있습니다. 나는 항상 마지막 '반환 거짓'진술을 잘못합니다. 코드를 깨끗하게 만들뿐만 아니라 유효성 검사에서 놓친 부분이 잘못 반환되면 항상 false를 반환합니다. 'true'를 반환하는 함수 만이 위의 예제에서 유효성 검사와 비즈니스 로직을 전달합니다. –

+0

이것이 제 경우에 어떻게 어울리는 지 모르겠습니다. 더 많은 정보를 얻기 위해 제 질문을 업데이트했습니다. – keyr

관련 문제