【发布时间】:2013-06-19 14:51:53
【问题描述】:
我正在更新用 ADF 11.1.1.3 编写的应用程序。在我几乎所有的屏幕中,我都有带有可编辑字段的 ADF 表,并且每个表都启用了行选择器。
我有一个问题,如果用户单击尚未选择的表行的可编辑字段,则字段行选择器似乎会触发,然后浏览器会失去对用户打算选择的字段的关注.
根据我上面的示例屏幕,当前选择了第二个表格行。但是,如果我单击第 3 行中的任何可编辑字段(如结束日期),浏览器会将焦点设置在该字段上。但是随后表行选择侦听器立即调用,然后将焦点从我最初单击的字段上移开。这发生在任何可编辑的字段类型上。
最烦人的事情是当我更新表格行的复选框(未选中)时,该值立即被其原始值覆盖。
目前,解决此问题的唯一方法是用户先选择表格行,然后更新字段数据。
对此问题有任何经验吗?我正在考虑一个客户倾听者或价值变化倾听者,但想看看你的想法。
谢谢!
更新 01: 我将表的“立即”属性设置为“真”,仍然得到相同的结果。我将 immediate=true 应用于父面板框,结果相同。
更新 02: 表的 Iterator' 和 Binding 的 ChangeEventPolicy 设置为默认值(无)。但无论如何我都将其设置为无。结果一样..
更新 03: 删除了验证器,结果相同。
【问题讨论】:
-
为什么要使用行选择?
-
存在基于所选表记录的主从关系设置。原始开发人员还编写了功能,因此用户可以选择表格行,删除它们并选择下一条/上一条记录(我不知道为什么要添加下一条/上一条记录按钮)。
-
我确实找到了一个页面,其中选择侦听器和可编辑字段正常工作。乍一看,它们几乎完全相同。区别在于字段验证器。另一个区别是功能页面上的选择侦听器运行得更快。我认为我们不需要额外的验证运行周期。
标签: oracle-adf