在commandlink上更新表单点击adf

时间:2012-09-11 09:17:50

标签: oracle-adf

我是整个oracle adf的新手。所以请原谅我这个问题。

在我的JSP页面中,我得到了一个表格,上面是一个视图。当我单击表格中的命令链接时,视图应显示详细信息。但是,如何在单击commandlink时调用表单的loadData。

以下是澄清的布局:

<h:form>
    <tr:panelHeader text="Browse" styleClass="af_m_toolbar" size="-1"/>
    <tr:panelFormLayout>
        <tr:panelLabelAndMessage label="#{bindings.name.hints.label}">
            <tr:outputText value="#{bindings.name.inputValue}"/>
        </tr:panelLabelAndMessage>
        <tr:panelLabelAndMessage label="#{bindings.id.hints.label}">
            <tr:outputText value="#{bindings.id.inputValue}"/>
        </tr:panelLabelAndMessage>
        <tr:panelLabelAndMessage label="#{bindings.salary.hints.label}">
            <tr:outputText value="#{bindings.salary.inputValue}"/>
        </tr:panelLabelAndMessage>
    </tr:panelFormLayout>
    <tr:table value="#{bindings.emp.collectionModel}" var="row" rows="#{bindings.emp.rangeSize}"
              emptyText="#{bindings.emp.viewable ? 'No data to display.' : 'Access Denied.'}"
              width="100%" inlineStyle="width:100%">
        <tr:column sortProperty="#{bindings.emp.hints.name.name}" sortable="false" inlineStyle="width:100%">
            <tr:outputText value="#{row.bindings.name.inputValue}" styleClass="af_m_listingLink"/>
            <tr:outputText value="ID: #{row.bindings.id.inputValue} Salery: #{row.bindings.salary.inputValue}"
                           styleClass="af_m_listingDetails"/>
        </tr:column>
    </tr:table>
</h:form>

我正在使用Oracle JDeveloper 11g R2。这应该成为adf移动浏览器应用程序,因此我只使用trinidad组件。

感谢您的帮助 Angelo Hannes

2 个答案:

答案 0 :(得分:0)

尝试在表单上使用PartialPageRefresh(http://myfaces.apache.org/trinidad/devguide/ppr.html)。为此,您将链接ID作为partialTriggers添加到窗体或panelFormLayout。 这是它在ADF中的工作原理,从未在特立尼达进行过测试。

答案 1 :(得分:0)

你必须使用ppr。您可以将partialPageRefresh设置为true,并提供将触发此组件刷新的组件Id。类似的东西:

<tr:panelLabelAndMessage label="#{bindings.name.hints.label}" id="pl1">
    <tr:outputText value="#{bindings.name.inputValue}"/>
</tr:panelLabelAndMessage>
<tr:panelLabelAndMessage label="#{bindings.id.hints.label}">
    <tr:outputText value="#{bindings.id.inputValue}" partialTriggers="pl1"/>
</tr:panelLabelAndMessage>

这意味着当component1更改时,component2将被刷新。