gpt4 book ai didi

c# - Silverlight 数据表单当前项目问题

转载 作者:太空狗 更新时间:2023-10-30 01:10:36 26 4
gpt4 key购买 nike

我有一个页面,上面有两个控件,一个数据网格和一个数据表单。

在数据网格中,我有一个特定类的所有对象的列表。当用户在数据网格中选择一个项目时,数据表单将加载所选对象。

dataForm.CurrentItem = view.CurrentItem;view 是一个 PagedCollectionView,它只包含选中的项目。

我的问题是,在设置数据表单的 currenitem 属性时,如果我只使用没有 .CurrentItem 的 PagedCollectionView( View ),我将失去对数据表单的验证。并非所有必填字段都被视为必填字段。如果我使用 pcv.CurrentItem 作为我的数据表单的 CurrentItem 验证工作正常,但随后出现另一个问题。

当我使用 PagedCollectionView 的当前项目作为数据表单的当前项目时:

用户在数据网格中选择一个项目,该对象在数据表单中加载正常。如果用户更改数据表单上任何文本字段中的特定值,然后选择不同的项来加载数据表单,则会抛出以下错误:

“当项目存在验证错误或正在编辑且 AutoCommit 为 false 时无法更改货币。将 ItemsSource 设置为 ICollectionView 以管理货币。”我没有使用数据表单的分页属性,我在表单上有自己的保存按钮。

如果有任何帮助,我将不胜感激,这是我正在进行的第一个 silverlight 项目。

编辑- 我在更改数据表的当前项时使用了 dataform.CommitEdit。这没有解决的一件事是,如果表单上存在验证错误,则会抛出货币错误。无论如何绕过这个。数据窗体的 AutoEdit 为 true,AutoCommit 为 false

最佳答案

如果没有样本,很难准确确定这里发生了什么,但这里的观察可能有助于解决问题。请尝试将 DataGrid 和 DataForm 的 ItemsSource 属性绑定(bind)到 Collection View ,不要绑定(bind) DataForm 的 CurrentItem 属性。它们神奇地保持同步(DataGrid 中的选定项将设置 DataForm 中的当前项)——这是 CollectionView 的一个特性。这可能会或可能不会解决您的问题,但无论哪种方式都不会造成伤害:)。

公然 self 推销:我的书 Pro Business Applications with Silverlight 4 涵盖了 CollectionView 的这个和其他功能:).

关于c# - Silverlight 数据表单当前项目问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4364406/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com