子节点中的树表命令链接

时间:2014-08-28 08:09:20

标签: oracle-adf

我有查看链接,我已将其拖动为.jsff页面中的ADF树表。

        <af:treeTable value="#{bindings.SisaiEndPointView1.treeModel}" var="node"
                rowSelection="single" id="TT1" contentDelivery="immediate"
                columnStretching="last" partialTriggers=":::commandButton1"
                editingMode="clickToEdit"
                contextMenuSelect="true">
    <f:facet name="nodeStamp">
      <af:column id="column1" headerText="Ministry" sortable="true"
                 width="200%">
        <af:outputText value="#{node.Ministry}" id="outputText1"/>            
      </af:column>

    </f:facet>

   <af:column id="column5" headerText="#Errors" width="100%">

 <af:commandLink text="#{node.ErrorMsgCount}" id="cl2" immediate="true"  partialSubmit="true" action="#{pageFlowScope.EndPointBean.testInput}">        

   <af:setActionListener from="test #{node.ErrorMsgCount}"
                              to="#{pageFlowScope.Min}"/>            
 </af:commandLink>


</af:column>

public String testInput() {
    String str = (String)ADFContext.getCurrent().getPageFlowScope().get("Min");
    System.out.println(str);
    return null;
}

当我在动作方法STR中打印时,我没有得到任何值。 它仅提供硬编码值“test”但未获得#{node.ErroMsgCount}。

4 个答案:

答案 0 :(得分:0)

尝试这个。

<af:setPropertyListener from="#{node.ErrorMsgCount}" to="#{pageFlowScope.Min}" type="action"/>

希望它能奏效......

答案 1 :(得分:0)

很抱歉迟到的回复我也尝试了属性监听器,但也无法正常工作。

之后我发现上述操作完全有效的解决方案。这是VO无法更新的问题。

答案 2 :(得分:0)

我认为你要找的是一个actionListener。所以,你的代码看起来像:

网页

<af:treeTable value="#{bindings.SisaiEndPointView1.treeModel}" var="node"
                rowSelection="single" id="TT1" contentDelivery="immediate"
                columnStretching="last" partialTriggers=":::commandButton1"
                editingMode="clickToEdit"
                contextMenuSelect="true">
    <f:facet name="nodeStamp">
      <af:column id="column1" headerText="Ministry" sortable="true"
                 width="200%">
        <af:outputText value="#{node.Ministry}" id="outputText1"/>            
      </af:column>

    </f:facet>

   <af:column id="column5" headerText="#Errors" width="100%">

 <af:commandLink text="#{node.ErrorMsgCount}" id="cl2" immediate="true"  partialSubmit="true" actionListener="#{pageFlowScope.EndPointBean.testInput}">        

   <af:setActionListener from="test #{node.ErrorMsgCount}"
                              to="#{pageFlowScope.Min}"/>            
 </af:commandLink>


</af:column>

<强>豆

public void testInput(ActionEvent ae) {
    String str = (String)ADFContext.getCurrent().getPageFlowScope().get("Min");
    System.out.println(str);
    return null;
}

更多的事情。

  1. PageFlowScope适用于整个任务流程。我不确定您的用例,但使用的范围可能最小。
  2. setPropertyListener与type =“action”和setActionListener非常相似,因此它们的行为基本相同。
  3. 您正在使用的bean,除非需要在任务流中的页面之间保留值,否则会从pageFlowScope中降低bean的范围。

答案 3 :(得分:0)

尝试删除inmediate =“true”

<af:commandLink text="#{node.ErrorMsgCount}" id="cl2"  partialSubmit="true" action="#{pageFlowScope.EndPointBean.testInput}">

当您将inmediate设置为true时,此跳过更新模型阶段并且您看不到更改。

马科斯