2013-06-19 47 views
1

我正在更新用ADF 11.1.1.3编写的应用程序。在几乎所有的屏幕中,我都有带有可编辑字段的ADF表格,并且每个表格都启用了行选择器。ADF表可编辑字段问题

我有一个问题,如果用户单击尚未选定的表格行的可编辑字段中,字段行选择器似乎开火,然后浏览器失去焦点在用户打算的字段上选择。

​​

每上面我举的例子屏幕,第二表行当前选择。但是,如果我在第3行中的任何可编辑字段(如结束日期)内单击,浏览器会将焦点置于该字段上。但是,表格行选择侦听器在之后立即调用,然后将焦点从最初点击的字段中移除。这发生在任何可编辑的字段类型上。

最烦人的是当我更新表格行(未选中)的复选框时,该值立即被其原始值覆盖。

目前,解决此问题的唯一方法是用户首先选择表格行,然后更新字段数据。

有关于此问题的任何经验?我正在考虑一个客户端的听众或价值变化的听众,但想看看你的想法是什么。

谢谢!

更新01: 我设置“立竿见影”属性设置为“真”为表,仍然得到同样的结果。我将immediate = true应用于父面板框,结果相同。

更新02: 表的迭代器和绑定的ChangeEventPolicy被设置为默认值(无)。但我把它设置为无论如何。相同的结果..

更新03: 删除验证器,结果相同。

+0

为什么使用行选择? –

+0

根据所选表记录设置主从关系。最初的开发人员写了功能,以便用户可以选择表行,删除它们并选择next/prev记录(我不知道为什么下一个/ prev记录按钮被添加)。 – GavinWoods

+0

我确实找到了一个页面,其中选择侦听器和可编辑字段正常工作。乍一看,它们几乎完全一样。区别在于字段验证器。另一个不同之处在于功能页面上的选择监听器运行速度更快。我正在考虑运行我们不需要的额外的验证周期。 – GavinWoods

回答

0

您的选择监听器仍然保留“#{bindings.xxx.collectionModel.makeCurrent}”吗?这用于将当前选定的行设置为当前行,如果删除了该行,则意味着即使通过单击字段来选择行,该模型仍然在其迭代器中选择了前一行。