以编程方式更新 adf 表单

Programmatically update the adf form

我正在学习 Oracle ADF(11g)。请帮助我解决这种情况:

  1. 我想更新 "af:panelFormLayout" 中的几个字段。
  2. 例如,我在表单中的字段是:Employee、Department 和 Salary。

  1. 我想更新表格中显示的部门 '90' 的所有员工的工资。为此,我在表单中添加了一个带有标签的复选框:Select All Employees。选中该复选框后,部门 90 的所有员工都应使用表格中提到的薪水进行更新,否则,仅应更新一名员工 'Steven' 的薪水。我如何以编程方式实现此目的?

一种方法是在框为 checked/unchecked 时使用 ValueChangeListener on the checkbox to call a method on a backing bean。在支持 bean 中,确认已选中该框。如果是,则获取对所需数据控件迭代器的引用,然后您可以以编程方式迭代 VO/EO 缓存中的记录并更改每个薪水。 网上有很多关于如何做到这一点的链接,例如here

话虽如此,我确实质疑您设计的可用性。我认为在一条记录 "all employees" 的中间有一个复选框是没有意义的。可能会让用户非常困惑。那是 "ALL employees" 吗?” 不 - 只是这个部门的那些。我会为此使用 table 然后复选框更有意义。 但是,如果您至少必须按照用户需求(有问题)这样做,我会将复选框从记录中移开,并明确表示该复选框将为所有员工设置薪水 to:____部门:_______.