2011-08-30 217 views
1

我有一個dataTable,當用戶選擇一個行時填充了一些字段,以便他們可以看到更多的細節。的特定項目。但是,此時頁面將與未填充的panelgrid一起加載,並在選擇一行時進行填充。我怎樣才能隱藏這個panelgrid並讓它在顯示行被選中後顯示?渲染h:panelGrid on dataTable row select?

感謝

回答

0

使用rendered屬性,讓它評估true如果有任何已被選中。

例如

<h:panelGrid rendered="#{not empty bean.selectedRow}"> 
    <h:outputText value="#{bean.selectedRow.foo}" /> 
    <h:outputText value="#{bean.selectedRow.bar}" /> 
    ... 
</h:panelGrid> 
+0

嗯我認爲這也是,但panelgrid仍然隱藏。 dataTable是一個primefaces數據表,它使用:onRowSelectUpdate =「pnl-info」來更新panelgrid中的值,這可否影響使用呈現的屬性? – Ally

+1

將其放入視圖中總是呈現的另一個元素中,並更新另一個元素。例如。 ''。原因是JS/Ajax需要將要更新的HTML DOM元素已經在HTML DOM樹中。 – BalusC

+0

你先生是個紳士!如此簡單,像魅力一樣工作。謝謝! – Ally