2010-01-21 2 views
1

필자는 테이블 필드에 바인딩 된 ComboBox를 보유하고 있으며 컨텍스트에 따라 특정 선택 항목 만 유효하기 때문에 선택 항목의 유효성을 검사하려고합니다. On Validating Event에서 선택을 변경하기 전에 어떻게 값을 이전에 가져 오거나 table.field에있는 값을 얻을 수 있습니까?VB.NET ComboBox 확인 중입니까?

답변

1

WinForms ComboBox 컨트롤은 값 변경을 가로 채서 취소 할 수있는 기능을 제공하지 않습니다. Validating 이벤트 (또는 설명대로 ComboBox를 서브 클래스 화하고 OnValidating을 재정의)를 사용할 수 있지만 컨트롤에만 집중할 수 있습니다. 유효성 검사 이벤트를 통해 값 변경을 실제로 "취소"할 수는 없습니다.

값이 변경 될 때 초기 값과 새 값을 모두 검사하고 원하는 경우 변경을 취소 할 수 있지만 시스템에 제공된 ComboBox를 사용할 수있는 ComboBox를 제공하는 여러 타사 패키지가 있습니다. Windows.Forms 않습니다.

+0

감사합니다. 나는 그들의 사이트를 간략하게 살펴 보았다. 약간의 비용이 들지 요. 하지만 내 가장 큰 관심사는 VS에있는 것과는 반대되는 것으로 내가 빗 맞을 수있는 것이 무엇인지 알지 못하는 것입니다. DevExpress를 사용하고 있습니까? – Alex

+0

@ bochur1 : 지금 당장은 사용하지 않지만 마지막 직장에서는 광범위하게 사용했습니다. 꾸러미가 고가 일 수 있지만 컨트롤 자체는 매우 높은 품질입니다. ComboBox를 사용하면 ComboBox를 통해 변경 사항을 취소 할 수 있지만 더 경제적 인 옵션이 있지만 WinForms 컨트롤 라이브러리가 있으므로 DXperience 패키지는 THE가 아니라면 가장 좋습니다. –

+0

> ComboBox를 사용하면 변경 사항을 취소 할 수 있습니다. ComboBox에서 여러 열을 사용할 수 있습니까? 그렇지 않으면 내가 원하는 건 취소입니다. 다른 옵션은 무엇입니까? – Alex