【发布时间】:2010-12-06 08:16:50
【问题描述】:
我有一个页面,上面有两个控件,一个数据网格和一个数据表单。
在数据网格中,我有一个特定类的所有对象的列表。当用户在数据网格中选择一个项目时,数据表单将与所选对象一起加载。
dataForm.CurrentItem = view.CurrentItem; view 是一个 PagedCollectionView,它只包含被选择的项目。
我的问题是,在设置数据表单的 currenitem 属性时,如果我只使用没有 .CurrentItem 的 PagedCollectionView(视图),我会丢失对数据表单的验证。并非所有必填字段都被视为必填。如果我使用 pcv.CurrentItem 作为我的数据表单的 CurrentItem 验证工作正常,但是会出现另一个问题。
当我使用 PagedCollectionView 的当前项作为数据表单的当前项时:
用户在数据网格中选择一个项目,并且该对象在数据表单中加载良好。如果用户更改数据表单上任何文本字段中的某个值,然后选择不同的项目来加载数据表单,则会引发以下错误:
“当项目存在验证错误或正在编辑且 AutoCommit 为 false 时,无法更改货币。将 ItemsSource 设置为 ICollectionView 以改为管理货币。” 我没有使用数据表单的分页属性,我在表单上有自己的保存按钮。
如果有任何帮助,我将不胜感激,这是我正在进行的第一个 silverlight 项目。
Edit-我在更改数据表单的当前项时使用了 dataform.CommitEdit。这没有解决的一件事是,如果表单上存在验证错误,则会引发货币错误。反正有没有绕过这个。数据表单的 AutoEdit 为 true,AutoCommit 为 false
【问题讨论】:
标签: c# silverlight currency dataform