次の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:column
にp: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>
てみてください(私はそれがあなたの
p:datatable
の親でなければなりませんので、あなたはここでそれをommitedきたと仮定)内に配置されます。自動更新= 『true』のメッセージを/> 'が表示された場合はエラーメッセージが表示されます。 – tak3shiまた、常にjavascriptエラーをチェックしてください。 – tak3shi
p:メッセージに何も表示されず、jsエラーもありません – Hubidubi