Iam使用Mojarra 2.2.11(WildFly 9.0.1)和PF 5.3。
关于我原来的问题: <p:ajax update="...> cell or row update inside PF subTable
我仍在努力处理以下问题:<p:ajax update=":tabView1:form1:mainTable".../>
以下部分已更改:#{subTableView.getAllheaders(tabview)}
。已使用以下引用,但数据表刷新似乎不起作用。
我做了几项研究并尝试了多种选择而没有成功。 操作看起来很简单:我需要处理一个selectOneRadio值来更新数据表的下一列中的outputLabel。我没有收到任何错误:但是在没有更新输出标签的情况下点击另一个无线电时,无线电选择会回到初始位置。
我注意到outputLabel被panelGroup包围(参见参考资料)。已尝试使用具有正确语法的NamingContainer:
我尝试使用以下参考资料RequestContext#update("tabView1:form1:mainTable:panel")
:
<f:ajax execute="" render=""/>
我在考虑最后一个jQuery选项,但我仍然认为它适用于JSF。
感谢您的时间。
<p:tabView id ="tabView1" value="#{bean.titles}" var="tabItem" >
<p:tab id="tab1" title="#{tabItem}" >
<h:form id="form1" >
<p:dataTable id="mainTable" value="#{subTableView.getAllHeaders(tabItem)}" var="head" >
<p:subTable id="subTable1" value="#{head.questions}" var="question" >
<f:facet name="header">
#{head.name}
</f:facet>
<p:column id="questionColumn">
#{question.question}
</p:column>
<p:column id="radioColumn">
<p:selectOneRadio id="mainSelect" value="#{question.select1}" >
<f:selectItem itemLabel="Yes" itemValue="#{question.responseOfYes}" />
<f:selectItem itemLabel="No" itemValue="#{question.responseOfNo}" />
// here is my pain:
<p:ajax update=":tabView1:form1:mainTable" process="@this"
listener="#{subTableView.updateSecond(question.select1)}"/>
</p:selectOneRadio>
</p:column>
<p:column id="responseColumn">
<h:panelGroup id="panel" >
<h:outputLabel id="display1" value="#{question.select1}" />
</h:panelGroup>
</p:column>
</p:subTable>
</p:dataTable>
</h:form>
</p:tab>
</p:tabView>