在PrimeFaces中显示动态表

时间:2015-07-09 13:36:08

标签: java sql primefaces mybatis

我有来自SQL(1)的数据:

+------------+---------+---------+
|  Employee  |  AMNT   |  DATE   |
+------------+---------+---------+
| John       | 100     | 12-MAY  |
| Mary       | 120     | 12-MAY  |
| John       | 110     | 13-MAY  |
| Kate       |  30     | 13-MAY  |
| Mary       | 230     | 13-MAY  |
| ...        | ...     | ...     |
| ...        | ...     | 16-JUN  |
+------------+---------+---------+

我放入了对象列表,这些数据可以在PrimeFaces中显示为:

<p:dataTable id="resultTable" var="result" value="#{myBean.searchResult}">
    <p:column headerText="Employee">
        <h:outputText value="#{result.empName}" />
    </p:column>
    <p:column headerText="Amount">
        <h:outputText value="#{result.amnt}" />
    </p:column>
    <p:column headerText="Date">
        <h:outputText value="#{result.date}" />
    </p:column>
</p:dataTable>

但有必要在Java应用程序中使用水平滚动显示此数据,如下所示(2):

+------------+---------+---------+------+---------+
|  Employee  |  12-MAY |  13-MAY |  ... |  16-JUN |
+------------+---------+---------+------+---------+
| John       | 100     |   110   |      |         |
| Mary       | 120     |   130   |      |         |
| Kate       |         |    30   |      |         |
+------------+---------+---------+------+---------+

我不使用Oracle SQL中的PIVOT函数,因为我的项目使用MyBatis框架,并且固定列名称更可取(可以使用别名,但列数可以是30+)。 所以我决定从第一个表(1)中获取数据并用Java进行转换。

哪种结构更容易用来制作这样的表格以及如何显示PrimeFaces dataTable这样的结构?

0 个答案:

没有答案