У меня есть страница с двумя элементами управления на ней, datagrid и форматом данных.Silverlight dataform currentitem issue
В datagrid у меня есть список всех объектов определенного класса. Когда пользователь выбирает элемент в datagrid, форма данных загружается выбранным объектом.
dataForm.CurrentItem = view.CurrentItem; view - это PagedCollectionView, который содержит только выбранный элемент.
Моя проблема заключается в том, что при установке свойства currenitem в dataform, если я использую только PagedCollectionView (представление) без .CurrentItem, я теряю валидацию в форме данных. Все необходимые поля не рассматриваются как требуемые. Если я использую pcv.CurrentItem, так как проверка данных CurrentItem моей формы данных прекрасна, но затем возникает другая проблема.
При использовании текущего элемента в PagedCollectionView в качестве текущего элемента в DataForm в:
пользователь выбирает элемент в сетке и объект загружается штраф в DataForm. Если пользователь изменяет определенное значение в любом из текстовых полей в форме данных, а затем выбирает другой элемент для загрузки формы данных, возникает следующая ошибка:
«Невозможно изменить валюту, когда элемент имеет ошибки проверки или он и AutoCommit имеет значение false. Установите ItemsSource в ICollectionView для управления валютой вместо этого. " Я не использую пейджинговые свойства формы данных, и у меня есть собственная кнопка сохранения в форме.
Буду признателен за любую помощь, это мой первый проект Silverlight, над которым я работаю.
Редактировать. Я использовал dataform.CommitEdit при изменении текущего элемента данных. Одна вещь, которую это не разрешило, - это если в форме есть ошибка проверки, возникает ошибка валюты. В любом случае, чтобы обойти это. AutoEdit является истинным, а AutoCommit является ложным для формы данных.
Привет, Крис, спасибо за предложение. Я пробовал этот метод, и я все равно получаю ту же ошибку. – user531958 2010-12-06 09:13:33