JSF 2.0 Primefaces动态表,带有动态单选按钮矩阵

时间:2012-11-07 10:19:28

标签: java select jsf-2 primefaces facelets

我有一个p:datatable,可以在问卷的一部分中迭代一系列问题。对于每个问题,可以有多个答案。一节中的所有问题都有相同数量的潜在答案。因此,我希望能够根据可能的答案数创建动态数量的列,并将每列中的selectOneRadio按钮渲染为同一个radioGroup的一部分,以便只能选择一个。

但是,当尝试使用单选按钮的自定义布局时,我可以在同一行中选择多个,这样它们就不会作为一个组。有谁知道达到预期结果的最佳方法?

<ui:composition>


        <p:dataTable value="#{questions}" var="question"
            styleClass="pro_category_table">

            <f:facet name="header">
                <h:outputText value="#{msg[category.categoryType.label]}"></h:outputText>
            </f:facet>
            <p:column headerText="#{msg['long_pro_question_intro1']}">
                <h:outputText value="#{msg[question.questionTextKey]}" />
            </p:column>
            <p:column>


            </p:column>
            <p:columns value="#{category.answerChoicesForSection}" var="categoryHeader" columnIndex="i">
            <f:facet name="header">
            #{categoryHeader}
            </f:facet>
            <p:panel>
            <p:selectOneRadio id="customRadio" value="#{question.selectedAnswers.answers[0]}" layout="custom" 
                    styleClass="pro_select_one_of_many">
                    <p:ajax update="@(.pro_navigation_button_panel)"/>
                    <f:selectItems var="answer" value="#{question.validAnswers}"
                        itemDescription="#{msg[answer.labelKey]}"
                        itemValue="#{answer.value}" itemLabel=""></f:selectItems>
                </p:selectOneRadio>
            <p:radioButton for="customRadio" itemIndex="#{i}"></p:radioButton>
            </p:panel>


            </p:columns>



        </p:dataTable>

    </ui:composition>

0 个答案:

没有答案