Jdev Version 11.1.1.7.1
我的用例场景如下: -
我有2个表作为"员工详细信息",它显示不同员工的详细信息和#34;薪资明细",显示每个员工不同月份的薪资明细。将根据第一个表中选择的行(即Employee)填充第二个表。 第一个表格中有一栏“总薪资”,该栏目最初为空白,并将根据“薪资”进行填充。单击名为" Estimate Salary"。
的按钮后,第二个表的列以下是我的代码: - 员工详细信息: -
<af:table value="#{bindings.EmployeeView.collectionModel}" var="row"
rows="#{bindings.EmployeeView.rangeSize}"
fetchSize="#{bindings.EmployeeView.rangeSize}"
rowBandingInterval="0"
selectedRowKeys="#{bindings..EmployeeView.collectionModel.selectedRow}"
selectionListener="#{bindings.EmployeeView.collectionModel.makeCurrent}"
rowSelection="single" id="resId1"
binding="#{backingBeanScope.backing_calculation.resId1}">
<af:column sortProperty="#{bindings.EmployeeView.hints.Name.name}"
sortable="true"
headerText="Employee Name"
id="resId1c1" width="230">
<af:outputText value="#{row.Name}" id="ot17"/>
</af:column>
<af:column sortProperty="#{bindings.EmployeeView.hints.Salary.name}"
sortable="true"
headerText="Total Salary"
id="resId1c5" noWrap="true" width="120">
<af:outputText value="#{row.Salary}" id="ot1" visible="false">
<af:convertNumber groupingUsed="false"
pattern="#{bindings.EmployeeView.hints.SalesVol.format}"/>
</af:outputText>
</af:column>
</af:table>
Salary Details :-
<af:table value="#{bindings.SalaryView.collectionModel}"
var="row"
rows="#{bindings.SalaryView.rangeSize}"
fetchSize="#{bindings.SalaryView.rangeSize}"
rowBandingInterval="0"
selectedRowKeys="#{bindings.SalaryView.collectionModel.selectedRow}"
selectionListener="#{bindings.SalaryView.collectionModel.makeCurrent}"
rowSelection="single" id="resId2"
binding="#{backingBeanScope.backing_calculation.resId2}"
partialTriggers="::resId1">
<af:column sortProperty="#{bindings.SalaryView.hints.Month.name}"
sortable="true"
headerText="#{bindings.SalaryView.hints.Month.label}"
id="resId2c1">
<af:outputText value="#{row.Month}" id="ot26"/>
</af:column>
<af:column sortProperty="#{bindings.SalaryView.hints.Salary.name}"
sortable="true" headerText="Salary"
id="resId2c5" width="195">
<af:outputText value="#{row.Salary}" id="ot22">
<af:convertNumber groupingUsed="false"
pattern="#{bindings.SalaryView.hints.Salary.format}"/>
</af:outputText>
</af:column>
</af:table>
Estimate Salary:-
<af:commandButton text="Estimate Salary"
binding="#{backingBeanScope.backing_calculation.cb3}"
id="cb3"/>
有人可以帮助我吗?
答案 0 :(得分:0)
您可以编写托管bean方法来计算总薪水,并通过访问托管bean中的ViewObjectIterator来设置。
一些有用的adf代码
http://biemond.blogspot.in/2009/03/some-handy-code-for-backing-beans-adf.html
答案 1 :(得分:0)
如果要在单击“估计薪金”按钮之前不填充“总薪金”列,则可以在托管Bean中的按钮的动作侦听器中添加计算逻辑。从Employee到Salary的查看链接将确保您在Employee中选择一行时,显示相应的Salary记录,更像是父子关系。如果您不希望“估计薪金”按钮带来额外负担,则可以在RowImpl类的Total Salary的setter方法中添加逻辑,该方法将为特定人员执行薪金记录的合并逻辑(查看链接有助于限制总和在一个人的背景下。