我正在使用JDeveloper 11.1.1.7.0,我遇到了这个问题。 我会尽力解释一下。
我有一个流程。名为 mainTable.jspx 的第一个视图有一个包含当前数据的表和一个 New Data 按钮。 表中的每一行都有一个 setCurrentRowWithKey 链接来编辑所选数据。使用此链接,将选择当前行。
editData.jspx 行为是正确的,因此它包含 new 流的空字段或带有 edit 流的已完成字段。
在 editData.jspx 中,我有一个自定义按钮检查并带有操作。我做了一些检查,所以如果有错误,我会用FacesContext.addMessage显示一条错误消息。此按钮不会执行删除,提交或回滚操作。
嗯,我的问题出现在这些步骤中:
我不知道发生了什么。在有问题的按钮中没有删除,提交或回滚操作。
我该如何解决这个问题?在流程中有什么我没做的吗?
非常感谢任何帮助。
谢谢
答案 0 :(得分:0)
嗯,问题发生的原因是迭代器使用不当。
在我的解释的某些检查中,一些步骤从迭代器获取当前行,并重用相同的迭代器以通过 executeQuery 获取另一个行集,因此当前行是失去了它意味着一个不一致的状态。
解决方案是从同一视图创建另一个不同的迭代器,但是使用不同名称的不同迭代器。因此, main 迭代器保留当前行,其他附加操作,查询等由不同的迭代器创建。
希望它有所帮助。此致