我有 ap: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>