呈现动态列时的数据表问题

时间:2011-07-04 13:06:20

标签: primefaces

我有一个NULLPointerException。 我已经添加了一个名为Workhours的对象,它有一个小时列表和一个工作日(枚举值)。 现在,我有一个清单 我想将它呈现在一个数据表中,其中workday(枚举)名称为行,小时为列。现在,这就是我的尝试:

                <p:dataTable id="dtWorkHours" var="workhour" value="#{uploadImagesPage.lwh}"  >
                    <p:column>
                        <f:facet name="header">
                            <h:outputText value="Days"></h:outputText>                               
                        </f:facet>
                        <h:outputText value="#{workhour.workday}"></h:outputText>
                    </p:column>
                    <p:columns value="#{workhour.luh}" var="columnUntilHours" columnIndexVar="index">
                        <f:facet name="header">
                             #{columnUntilHours.untilhours}
                        </f:facet>
                        <h:selectBooleanCheckbox value="#{columnUntilHours.checked}" >
                        </h:selectBooleanCheckbox>
                    </p:columns>
                </p:dataTable>

我检查了WorkHours对象的初始化,看起来好像已经到位了。有什么理由我p:列不起作用(当我把它放出来时,工作日表示为行有效)?

提前致谢!

1 个答案:

答案 0 :(得分:1)

我不相信可以在单个Primefaces dataTable中混合动态和静态列。您必须选择一种方法或另一种方法。

如果您希望在其中显示workday列,那么您可以创建创建可查看的复合实体类型,该类型将工作日和行实体的属性组合为单个类型。工作日可以是动态列集中始终存在的另一个对象。