如何将持久对象数据绑定到 DataLayoutControl(DevExpress 工具)?
我有一个显示 DataLayoutControl 组件的小窗体。
如果我使用 GridControl,对象就会被保存。 如果我使用 DataLayoutControl(单独显示它们),它们在更改后不会被保存。 用户界面编辑后,底层对象会发生更改,但不会保存。
我怎样才能启用此功能?
PS:我已经尝试过UnitOfWork.CommitChanges(我有一个uow遍历整个架构)但无济于事。
I have a small form displaying the DataLayoutControl component.
If I use a GridControl the objects get saved. If I use the DataLayoutControl (which shows them individually) they do not get saved after they are changed. The underlying object is changed after the user interface edits, but doesn't get saved.
How can I enable this ?
PS: I have tried UnitOfWork.CommitChanges (i have one uow going through the whole architecture) to no avail.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
DataLayoutControl 所在的窗体上应该有一个 Session 和一个 XPCollection。 您应该将 XPCollection 与 Session 挂钩。 您为 XPCollection 选择正确的类,并且可能添加一些使 XPCollection 返回零记录的条件。 将 XPCollection 挂钩到 DataLayoutControl。
然后你应该提供一个带有参数的构造函数:你想要编辑的对象的Oid。 在构造函数内,您应该使用 Criteria 使 XPCollection 仅包含该对象。 确保在“保存”按钮或菜单项中调用 Session.Save()。
You should have a Session and an XPCollection on the form where the DataLayoutControl is. You should hook XPCollection with Session. You select the right class for the XPCollection and maybe add some criterial that make the XPCollection return zero records. Hook XPCollection to the DataLayoutControl.
Then you should provide a constructor with a parameter: The Oid of the object you want to edit. Inside the constructor you should use the Criteria to make the XPCollection contain only that object. Make sure you call Session.Save() in your Save button or menu item.