2011-08-30 185 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