2016-09-16 7 views
0

次のPrimefaces 3.5ページでは、2つのcommandLinkを定義しました。私の問題は、lockoutのアクションは、同じ設定で動作するlockoutTestですが、ブレークポイントでチェックされていません。 oncompleteは両方のコマンドリンクで動作します例外は発生しません。DataGridでPrimefacesアクションが実行されない

<p:dataTable id="calendar" value="#{calendarView.calendarData.entrySet().toArray()}" var="row"> 
      <f:facet name="header"> 
       <p:panelGrid> 
        <p:row> 
         <p:column> 
          <p:commandLink id="lockoutTest" 
              value="test lockout" 
              update=":mainForm:lockoutEditorDialog" 
              process="@this" 
              action="#{calendarView.editLockout(15,15)}" 
              oncomplete="lockoutDialogWidget.show()"> 
           <f:attribute name="title" value="valami" escape="true" /> 
          </p:commandLink> 
         </p:column> 
        </p:row> 
       </p:panelGrid> 
      </f:facet> 
      <p:column style="width: 50px; text-align: right"> 
       <f:facet name="header"> 
        <h:outputText value="#{msgs.calendar_room}" /> 
       </f:facet> 
       <h:outputText value="#{row.key.roomNumber}" /> 
      </p:column> 
      <p:columns value="#{calendarView.columns}" var="column" style="text-align: center; #{not empty row.value[column].color ? 'background-color:#'.concat(row.value[column].color):''}"> 
       <f:facet name="header"> 
        <h:outputText value="#{column}" /> 
       </f:facet> 
       <p:commandLink id="lockout" 
          value="#{row.value[column].text}" 
          update=":mainForm:lockoutEditorDialog" 
          process="@this" 
          action="#{calendarView.editLockout(row.key.roomNumber,column)}" 
          oncomplete="lockoutDialogWidget.show()" 
          rendered="#{row.value[column].text == 'K'}"> 
        <f:attribute name="title" value="#{row.value[column].label}" escape="true" /> 
       </p:commandLink> 
      </p:columns> 
     </p:dataTable> 

UPDATE:

私はテストのための簡単なp:columnp:columnsを変更したし、それが動作します:

 <p:column id="testcolumn"> 
      <p:commandLink id="lockouttest" 
          value="T" 
          update=":mainForm:lockoutEditorDialog" 
          process="@this" 
          action="#{calendarView.editLockout(15,15)}" 
          oncomplete="lockoutDialogWidget.show()" 
          > 
      </p:commandLink> 
     </p:column> 
+0

てみてください(私はそれがあなたのp:datatableの親でなければなりませんので、あなたはここでそれをommitedきたと仮定)内に配置されます。自動更新= 『true』のメッセージを/> 'が表示された場合はエラーメッセージが表示されます。 – tak3shi

+0

また、常にjavascriptエラーをチェックしてください。 – tak3shi

+0

p:メッセージに何も表示されず、jsエラーもありません – Hubidubi

答えて

-1

利用actionListener代わりのactionは、あなたの裏でメソッドを呼び出したいとき豆。

また、確認してくださいあなたのp:commandLinkh:form

+0

はい、コードの一部が省略されています。 Datatableはh内に配置されます:フォーム – Hubidubi

+2

_ "バッキングBeanでメソッドを呼び出す場合は、アクションの代わりにactionListenerを使用してください。"どうして?行動は – Kukeltje

関連する問題