2010-11-27 10 views
-1

Silverlight 데이터 표에 약간 문제가 있습니다. 문제를 보여주기 위해 작은 샘플 앱을 작성했습니다. (여기에서 다운로드 할 수 있습니다 : http://rapidshare.com/files/433480041/DataGridValidationTest.zip).
DataGrid에 표시되는 컬렉션에 새 Person (이름과 나이가 있음)을 추가 할 수 있습니다.
또한 INotifyDataErrorInfo 인터페이스를 기반으로 유효성 검사를 구현했습니다. 저장을 클릭하면 데이터가 유효합니다 (이름은 null, Age gt 0이 아니어야 함).

유효성 검사는 정상적으로 작동하지만 한 번의 클릭으로 유효성 검사 오류가 표시됩니다. 저장 버튼을 클릭 한 후, 데이터가 validatet이지만, 그리드에 표시되지 (아래 그림 참조) : 나는 행을 클릭하면
Validation is not shown :(DataGrid 유효성 검사 오류 오류 메시지 표시

는, 데이터를 변경, 유효성 검사 메시지 (아래 그림 표시됩니다) : Validation shown

그 행에 있다면 다른 셀을 선택할 수 없기 때문에 문제를 해결해야합니다.

누구나 알 수 있듯이 그리드에서 직접 (모두) 오류를 표시 할 수 있습니까? 그리고 문제를 해결하지 않고 오류가있는 셀에서 빠져 나올 수 있습니까? 사전에

들으,

TJ

답변

0

지금까지 내가 동시에 모든 행을 valudate 싶다면, 실버 라이트 데이터 그리드에, 단 하나 개의 행이 한 번에 활성화 될 것입니다 알고, 그것은 불가능합니다.

다른 해결 방법은 모든 콘텐츠를 동일한 셀에 추가하는 것입니다. 따라서 모든 데이터는 편집 가능하며 동시에 유효성이 검증됩니다. <DataGrid> <Name> <Age> </DataGrid>

는이 <Grid> <Cell> <Grid> <Name> <Age> </Grid> </Cell></DataGrid>

처럼 보이게 - 내 말은 당신이 2 열 그리드가있는 경우

입니다

관련 문제