2016-08-17 64 views
1

解决方案 长话短说,"not empty #{pastTxModel.currentTx.xml}"应该是"#{not empty pastTxModel.currentTx.xml}"。是啊,我知道...f:setPropertyActionListener未设置p:datatable中的属性

UPDATE 的问题是在这里:

<p:inputTextarea id="test" value="#{pastTxModel.currentTx.xml}" rendered="not empty #{pastTxModel.currentTx.xml}"></p:inputTextarea> 

回答

0

长的故事,但解决的办法是 -

第1部分 -

<h:form id="alltxform"> 
    <p:dataTable id="tablealltx" var="transaction" value="#{transactionListModel.txList}">  
     <p:column> 
      <p:commandButton update=":alltxform:xmlDetail" action="#{transactionListModel.setSelectedTx(transaction)}"> 
      </p:commandButton> 
     </p:column> 
    </p:dataTable> 

    <p:dialog header="Detail" widgetVar="dialog"> 
     <p:outputPanel id="xmlDetail"> 
      <p:inputTextarea id="test" value="#{pastTxModel.currentTx.xml}" rendered="not empty #{pastTxModel.currentTx.xml}"></p:inputTextarea> 
     </p:outputPanel> 
    </p:dialog> 
</h:form> 

然后更改 -

<p:inputTextarea id="test" value="#{pastTxModel.currentTx.xml}" rendered="not empty #{pastTxModel.currentTx.xml}"></p:inputTextarea> 

要 -

<p:inputTextarea id="test" value="#{pastTxModel.currentTx.xml}" rendered="#{not empty pastTxModel.currentTx.xml}"></p:inputTextarea> 
+0

我用行动= “#{pastTxModel.selectedTx(交易)}”,但selectedTx保持空 – Tim

+0

访问它通过bean - controllerBean.pastTxMode l.selectedTx(办理离子) - 是否交易肯定有价值? – farrellmr

+0

对不起你的bean是transactionListModel - 所以更改为transactionListModel.setSelectedTx(transaction) – farrellmr

0

您需要点击按钮后更新了整个对话。

<p:commandButton update=":alltxform:Detail" oncomplete="PF('dialog').show()"> 
       <f:setPropertyActionListener value="#{transaction}" 
        target="#{transactionListModel.selectedTx}" /> 
     </p:commandButton> 
+0

这并没有改变任何东西 – Tim