按下按钮后显示数据表

时间:2017-03-23 11:17:08

标签: jsf managed-bean

我想在点击commandButton时显示数据表。我的文件看起来像这样:

<h:commandButton value="List all students"></h:commandButton>

<h:panelGroup id="table-wrapper">
    <h:dataTable value = "#{jSFDatabase.students}" var="s" border="1">

        <h:column><f:facet name = "header"><h:outputText value="ID"/></f:facet>
            <h:outputLabel value="#{s.id }"></h:outputLabel>
        </h:column>

         <h:column><f:facet name = "header"><h:outputText value="Firstname"/></f:facet>
            <h:outputLabel value="#{s.firstname }"></h:outputLabel>
         </h:column>   

         <h:column><f:facet name = "header"><h:outputText value="Lastname"/></f:facet>
            <h:outputLabel value="#{s.lastname }"></h:outputLabel>
         </h:column> 

         <h:column><f:facet name = "header"><h:outputText value="Birthdate"/></f:facet>
            <h:outputLabel value="#{s.birthdate }"></h:outputLabel>
         </h:column> 
    </h:dataTable>
</h:panelGroup>

我该如何解决这个问题?我试图更新数据表但是没有用。

1 个答案:

答案 0 :(得分:-1)

您可以使用css完成此操作。 使用切换方法在托管bean中添加布尔标志:

@ManagedBean
public class Mybean {
private boolean show = false;
public void toggle() {
    show= !show;
}

public boolean isShow() {
    return show;
}

public void setRender(boolean show) {
    this.show = show;
}
}

在命令按钮中,调用toggle方法,更新表并在表中添加css样式,以便根据标志布尔值显示或隐藏。

<h:commandButton value="List all students" action="#{myBean.show}" update="table-wrapper"></h:commandButton>

<h:panelGroup id="table-wrapper" style="display: #{mybean.show ? 'none' : 'block'}">
...
</h:panelGroup>