Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/jsf/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
一个jsf表中有多个jsf表_Jsf_Primefaces - Fatal编程技术网

一个jsf表中有多个jsf表

一个jsf表中有多个jsf表,jsf,primefaces,Jsf,Primefaces,我想创建一个如下所示的表: 分目1 |分目2 InfoType1.Info1 | InfoType1.Info2 分目3 InfoType2.List.get(0.var1 | InfoType2.get(0.var2) InfoType2.List.get(N.var1 | InfoType2.get(N.var2 我曾尝试使用jsf子表来实现这一点,但我不确定这是否可行,到目前为止,我还没有找到任何方法将多个子表包含到一个数据表中,共享相同的头。请注意,分目3下的信息来自与

我想创建一个如下所示的表:



分目1 |分目2


InfoType1.Info1 | InfoType1.Info2


分目3


InfoType2.List.get(0.var1 | InfoType2.get(0.var2)



InfoType2.List.get(N.var1 | InfoType2.get(N.var2



我曾尝试使用jsf子表来实现这一点,但我不确定这是否可行,到目前为止,我还没有找到任何方法将多个子表包含到一个数据表中,共享相同的头。请注意,分目3下的信息来自与分目1和2不同的数据源。任何帮助都将不胜感激!请原谅这些难看的格式,但我不知道如何在发布时保留ascii,而且我没有图像示例。

您可以使用嵌套在一起的panelGrid

XHTML页面:

<h:body>
    <style>
.hide-column-names table thead tr {
    display: none;
}
</style>
    <h:form>
        <p:panelGrid columns="1" border="1">
            <p:panelGrid columns="2" border="1" style="width:100%;">
                <f:facet name="header">
             Table Header
        </f:facet>
                <p:panelGrid columns="1" border="1" style="width:100%;">
                    <f:facet name="header">
             SubHeader 1
        </f:facet>
                    <h:outputLabel value="#{bean.info1}" />
                </p:panelGrid>
                <p:panelGrid columns="1" border="1" style="width:100%;">
                    <f:facet name="header">
             SubHeader 2
        </f:facet>
                    <h:outputLabel value="#{bean.info2}" />
                </p:panelGrid>
            </p:panelGrid>
            <p:dataTable var="list" value="#{bean.listInfoType}" styleClass="hide-column-names">
                <f:facet name="header">
             SubHeader 3
        </f:facet>
                <p:column>
                    <h:outputText value="#{list.info1}" />
                </p:column>
                <p:column>
                    <h:outputText value="#{list.info2}" />
                </p:column>
            </p:dataTable>
        </p:panelGrid>
    </h:form>
</h:body>   

.隐藏列名称表THAD tr{
显示:无;
}
表头
分目1
分目2
分目3
豆子:

@ManagedBean(name = "bean")
@ViewScoped
public class bean implements Serializable {

    private static final long serialVersionUID = 1L;

    private String info1;
    private String info2;
    private List<InfoType> listInfoType;

    public bean() {
        info1 = "info1";
        info2 = "info2";
        listInfoType = new ArrayList<InfoType>();
        listInfoType.add(new InfoType("var 1 1", "var 1 2"));
        listInfoType.add(new InfoType("var 2 1", "var 2 2"));
        listInfoType.add(new InfoType("var 3 1", "var 3 2"));
        listInfoType.add(new InfoType("var 4 1", "var 4 2"));
        listInfoType.add(new InfoType("var 5 1", "var 5 2"));
        listInfoType.add(new InfoType("var 6 1", "var 6 2"));
        listInfoType.add(new InfoType("var 7 1", "var 7 2"));
        listInfoType.add(new InfoType("var 8 1", "var 8 2"));
        listInfoType.add(new InfoType("var N 1", "var N 2"));
    }

    public List<InfoType> getListInfoType() {
        return listInfoType;
    }

    public void setListInfoType(List<InfoType> listInfoType) {
        this.listInfoType = listInfoType;
    }

    public String getInfo1() {
        return info1;
    }

    public void setInfo1(String info1) {
        this.info1 = info1;
    }

    public String getInfo2() {
        return info2;
    }

    public void setInfo2(String info2) {
        this.info2 = info2;
    }

}
@ManagedBean(name=“bean”)
@视域
公共类bean实现了可序列化{
私有静态最终长serialVersionUID=1L;
私有字符串信息1;
私有字符串信息2;
私有列表列表信息类型;
公共豆(){
info1=“info1”;
info2=“info2”;
listInfoType=new ArrayList();
添加(新的信息类型(“VAR11”、“VAR12”);
添加(新的信息类型(“VAR21”、“VAR22”);
添加(新的信息类型(“VAR31”、“VAR32”);
添加(新的信息类型(“VAR41”、“VAR42”);
添加(新的信息类型(“VAR51”、“VAR52”);
添加(新的信息类型(“VAR61”、“VAR62”);
添加(新的信息类型(“VAR71”、“VAR72”);
添加(新的信息类型(“VAR81”、“VAR82”);
添加(新的信息类型(“VARN1”、“VARN2”);
}
公共列表getListInfoType(){
返回列表信息类型;
}
public void setListInfoType(列表listInfoType){
this.listInfoType=listInfoType;
}
公共字符串getInfo1(){
返回信息1;
}
公共void setInfo1(字符串info1){
this.info1=info1;
}
公共字符串getInfo2(){
返回信息2;
}
公共void setInfo2(字符串info2){
this.info2=info2;
}
}
结果:

我希望这个例子能帮助你!如果不是这样,请告诉我

@ManagedBean(name = "bean")
@ViewScoped
public class bean implements Serializable {

    private static final long serialVersionUID = 1L;

    private String info1;
    private String info2;
    private List<InfoType> listInfoType;

    public bean() {
        info1 = "info1";
        info2 = "info2";
        listInfoType = new ArrayList<InfoType>();
        listInfoType.add(new InfoType("var 1 1", "var 1 2"));
        listInfoType.add(new InfoType("var 2 1", "var 2 2"));
        listInfoType.add(new InfoType("var 3 1", "var 3 2"));
        listInfoType.add(new InfoType("var 4 1", "var 4 2"));
        listInfoType.add(new InfoType("var 5 1", "var 5 2"));
        listInfoType.add(new InfoType("var 6 1", "var 6 2"));
        listInfoType.add(new InfoType("var 7 1", "var 7 2"));
        listInfoType.add(new InfoType("var 8 1", "var 8 2"));
        listInfoType.add(new InfoType("var N 1", "var N 2"));
    }

    public List<InfoType> getListInfoType() {
        return listInfoType;
    }

    public void setListInfoType(List<InfoType> listInfoType) {
        this.listInfoType = listInfoType;
    }

    public String getInfo1() {
        return info1;
    }

    public void setInfo1(String info1) {
        this.info1 = info1;
    }

    public String getInfo2() {
        return info2;
    }

    public void setInfo2(String info2) {
        this.info2 = info2;
    }

}