Проблема с отображением проверки валидации DataGrid - PullRequest
0 голосов
/ 27 ноября 2010

У меня небольшая проблема с сеткой данных silverlight. Я написал небольшой пример приложения, чтобы показать проблему. (Вы можете скачать его здесь: http://rapidshare.com/files/433480041/DataGridValidationTest.zip).
Здесь вы можете добавить нового человека (с именем и возрастом) в коллекцию, которая отображается в DataGrid.
Я также реализовал проверку на основе интерфейса INotifyDataErrorInfo. Если вы нажмете сохранить, данные будут валидированы (имя не должно быть нулевым, возраст gt 0).

Проверка работает нормально, но ошибки проверки отображаются только при нажатии на одну строку. После нажатия кнопки «Сохранить» данные проверяются, но не отображаются в сетке (см. Рисунок ниже):
Validation is not shown :(

Если я щелкну в строке, чтобы изменить данные, появится сообщение проверки (рисунок ниже): Validation shown

Если я нахожусь в этом ряду, мне нужно решить проблему, потому что я не могу выбрать другую ячейку.

Кто-нибудь знает, как я могу показать (все) ошибки прямо в сетке? И можно ли выйти из клетки с ошибкой, не решив проблему?

Спасибо заранее,

TJ

1 Ответ

0 голосов
/ 30 ноября 2010

Насколько я знаю, в сетке данных Silverlight одновременно будет активна только одна строка, поэтому, если вы хотите проверить все строки одновременно, это невозможно.

Другой обходной путьдобавьте все содержимое в одну ячейку.Таким образом, все ваши данные будут доступны для редактирования, а также будут проверены одновременно.Я имею в виду

Если у вас есть сетка с 2 столбцами - <DataGrid> <Name> <Age> </DataGrid>

, чтобы она выглядела так <Grid> <Cell> <Grid> <Name> <Age> </Grid> </Cell></DataGrid>

...