Java Primefaces建模多重选择树

Java Primefaces建模多重选择树,java,jsf,primefaces,Java,Jsf,Primefaces,我遇到了一个与同一页面中多个复选框选择树的建模相关的问题。我所做的是将每棵树包装在数据网格中,如下所示: <p:dataGrid value="#{evaluationReportController.questionGroups}" var="t" styleClass="top-aligned-grid-cells" columns="1" style="margin-bottom: 40px;">

我遇到了一个与同一页面中多个复选框选择树的建模相关的问题。我所做的是将每棵树包装在数据网格中,如下所示:

<p:dataGrid value="#{evaluationReportController.questionGroups}" var="t" styleClass="top-aligned-grid-cells" columns="1"
                            style="margin-bottom: 40px;">
                    <f:facet name="header">Va rugam sa bifati intrebarile</f:facet>
                    <p:panel header="#{t.description}">
                        <p:tree id="question-tree" value="#{t}" var="node" style="width: 100%"
                                selectionMode="checkbox" selection="#{evaluationReportController.selectedQuestions[t]}">
                            <p:treeNode>
                                <h:outputText value="#{node}" style="width: 120px"/>
                            </p:treeNode>
                        </p:tree>                            
                    </p:panel>
                </p:dataGrid>
private Map<QuestionGroup, TreeNode[]> selectedQuestions;
....
public Map<QuestionGroup, TreeNode[]> getSelectedQuestions() {
    return selectedQuestions;
}

public void setSelectedQuestions(Map<QuestionGroup, TreeNode[]> selectedQuestions) {
    this.selectedQuestions = selectedQuestions;
}

瓦鲁加姆萨比法提国际酒店
来自控制器的相关模型数据如下所示:

<p:dataGrid value="#{evaluationReportController.questionGroups}" var="t" styleClass="top-aligned-grid-cells" columns="1"
                            style="margin-bottom: 40px;">
                    <f:facet name="header">Va rugam sa bifati intrebarile</f:facet>
                    <p:panel header="#{t.description}">
                        <p:tree id="question-tree" value="#{t}" var="node" style="width: 100%"
                                selectionMode="checkbox" selection="#{evaluationReportController.selectedQuestions[t]}">
                            <p:treeNode>
                                <h:outputText value="#{node}" style="width: 120px"/>
                            </p:treeNode>
                        </p:tree>                            
                    </p:panel>
                </p:dataGrid>
private Map<QuestionGroup, TreeNode[]> selectedQuestions;
....
public Map<QuestionGroup, TreeNode[]> getSelectedQuestions() {
    return selectedQuestions;
}

public void setSelectedQuestions(Map<QuestionGroup, TreeNode[]> selectedQuestions) {
    this.selectedQuestions = selectedQuestions;
}
私人地图选择问题;
....
公共地图getSelectedQuestions(){
返回所选问题;
}
公共无效设置选定问题(地图选定问题){
this.selectedQuestions=selectedQuestions;
}
但是,我无法将复选框选择添加到模型中。你知道我做错了什么吗?我正在使用PrimeFaces3.5和JavaEEWebAPI6

谢谢。


    <p:dataGrid value="#{evaluationReportController.questionGroups}" var="t" styleClass="top-aligned-grid-cells" 
                        style="margin-bottom: 40px;">
                <f:facet name="header">Va rugam sa bifati intrebarile</f:facet>
              <p:column>
                <p:panel header="#{t.description}">
                    <p:tree id="question-tree" value="#{t}" var="node" style="width: 100%"
                            selectionMode="checkbox" selection="#{evaluationReportController.selectedQuestions[t]}">
                        <p:treeNode>
                            <h:outputText value="#{node}" style="width: 120px"/>
                        </p:treeNode>
                    </p:tree>                            
                </p:panel>
                 </p:column>
            </p:dataGrid>
瓦鲁加姆萨比法提国际酒店
请尝试此代码,如果问题仍然存在,请告诉我。我刚刚从datagrid中删除了“Column=1”属性,并显式添加了该列