1
我不確定我的HTML代碼有什麼問題。從我讀的,它應該工作。我甚至嘗試使用prependId="false"
這不能解決找不到UI組件的問題。Primefaces從另一個表格內更新
<p:tabView>
<p:tab title="Tab1" id="tab1">
<h:form id="form1" prependId="false">
<p:panelGrid columns="2" id="grid1">
<h:outputLabel for="minDraw" value="Starting draw number:" />
<p:inputText id="minDraw" value="#{LottoMaxBacking.minDraw}" />
<p:commandButton value="Get Frequency From Begining"
actionListener="#{LottoMaxBacking.loadAllDrawFreq}"
update=":form2:freqTable" />
</p:panelGrid>
</h:form>
<h:form id="form2" prependId="false">
<p:dataTable var="entry" value="#{LottoMaxBacking.drawFreqList}"
id="freqTable">
<f:facet name="header">
<h:outputText value="#{LottoMaxBacking.tableHeader}" />
</f:facet>
<p:column sortBy="#{entry.key}" headerText="Ball Number">
<h:outputText value="#{entry.key}" />
</p:column>
<p:column sortBy="#{entry.value}" headerText="Frequency">
<h:outputText value="#{entry.value}" />
</p:column>
</p:dataTable>
</h:form>
</p:tab>
<p:tab title="Tab 2"></p:tab>
</p:tabView>
我試過":tab1:form2:freqTable"
,":freqTable"
,並且"freqTable"
但他們沒有工作。當我將這兩個表單合併爲一個表單時,它會發現freqTable很好。
查看呈現頁面時的HTML源代碼,並查看將哪個ID分配給'dataTable',這是最容易的。 – partlov 2013-02-22 08:55:57