如何解决确保联接的表与插入的行一起出现
我发现很多时候我都会有这样的数据视图
PXSelectJoin<A,LeftJoin<B,ON<A.foreignKey,Equal<B.pk>>>,LeftJoin<C,ON<B.foreignKey,Equal<C.pk>>>> View;
然后我将一行插入到View的后备缓存中:
View.Insert(new A()
{
ForeignKey = KeyThatExistsInTheDatabase
}
)
A行将正确插入,但是即使我在插入的A行中创建了正确的链接,联接表B和C也不会显示在UI中。 UI将仅显示表A中的数据,而联接表中的其余字段将为null。就是这样,直到我按Save /在用户界面中手动更新该行,然后魔术地显示数据。
我尝试过:
View.Select();
View.View.RequestRefresh();
但是这些都不能解决我的问题。插入具有正确外键的行时,有人可靠地能够引入所有联接的表吗?
解决方法
您可以采用以下两种模式之一获取数据记录:合并或只读。如果要查看数据库中未保存的更改以及缓存中的已修改记录,请选择PXSelect
请记住,该框架仅合并数据视图的主DAC的数据记录。
这就是原因,在将更改保存到数据库(“持久”或“保存”按钮)之前,您不会在联接表中看到新记录。
实现目标的可能途径是将数据视图重新定义为PXSelectReadonly。但是在这种情况下,您必须实现自己的记录处理技术。
希望这有助于理解。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。