【问题标题】:Primefaces datatable dynamic object[]Primefaces 数据表动态对象[]
【发布时间】:2013-02-11 00:40:26
【问题描述】:

我想根据一个 sql 查询的结果创建一个动态 Primefaces 数据表,该结果给我一个 List<Object[]> 作为结果。对应的列名存储在List<String>中。

Object[] 字段的列和长度应该是动态的。

如何处理Datatable中的List<Object[]>?

【问题讨论】:

    标签: jsf object dynamic primefaces datatable


    【解决方案1】:

    使用<p:columns>。另见PrimeFaces <p:dataTable> showcase - dymamic columns。

    如果您实际上的意思是您在List<Object[]> 中的data 和columnNames 在List<String> 中的顺序相同,那么应该这样做:

    <p:dataTable value="#{bean.data}" var="item">
        <p:columns value="#{bean.columnNames}" var="columnName" columnIndexVar="i">
            <f:facet name="header">#{columnName}</f:facet>
            #{item[i]}
        </p:columns>
    </p:dataTable>
    

    【讨论】:

    • 尝试此操作会引发以下异常:com.google.common.collect.ComputationException: java.lang.IncompatibleClassChangeError: FormBeanCall 和 FormBeanCall$ColumnModel 在 InnerClasses 属性上不一致。我认为这是因为他想要一个 ColumnModel 对象而不是 List 的列值!
    • 你的类路径很脏。清理、重建、重新部署、重新启动。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-17
    • 2015-06-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多