【问题标题】:ADF Table Editable Field IssueADF 表可编辑字段问题
【发布时间】:2013-06-19 14:51:53
【问题描述】:

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

我有一个问题,如果用户单击尚未选择的表行的可编辑字段,则字段行选择器似乎会触发,然后浏览器会失去对用户打算选择的字段的关注.

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

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

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

对此问题有任何经验吗?我正在考虑一个客户倾听者或价值变化倾听者,但想看看你的想法。

谢谢!

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

更新 02: 表的 Iterator' 和 Binding 的 ChangeEventPolicy 设置为默认值(无)。但无论如何我都将其设置为无。结果一样..

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

【问题讨论】:

  • 为什么要使用行选择?
  • 存在基于所选表记录的主从关系设置。原始开发人员还编写了功能,因此用户可以选择表格行,删除它们并选择下一条/上一条记录(我不知道为什么要添加下一条/上一条记录按钮)。
  • 我确实找到了一个页面,其中选择侦听器和可编辑字段正常工作。乍一看,它们几乎完全相同。区别在于字段验证器。另一个区别是功能页面上的选择侦听器运行得更快。我认为我们不需要额外的验证运行周期。

标签: oracle-adf


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2020-03-06
    • 1970-01-01
    • 1970-01-01
    • 2016-12-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多