我需要使用jsf可视化复杂的分层数据(OLAP多维数据集)。为简单起见,假设这是一个二维树表。第一个维度是"时间树"(例如年-月),位于基本树的x轴或"列位"。第二个是"产品树"(例如产品-子产品),放置在y轴上,普通树的树放置在y轴上。
参见下面的方案:
|Y2013| |Y2014|
| |___Sept__Dec | + |
|_____|_____|_____|_____|
Clothes |2000 |1000 |1000 |2400 |
| |_____|_____|_____|_____|
|__ Boots |1000 |500 |500 |1200 |
| |_____|_____|_____|_____|
|__ Bags |1000 |500 |500 |1200 |
|_____|_____|_____|_____|
Souvenirs |400 |200 |200 |500 |
+ |_____|_____|_____|_____|
用户可以在两个维度上展开和折叠树级别。为了简单起见,在2013年只显示两个月。例如,用户可以单击任何加号来展开子树。主要问题是如何在x轴上创建额外的树(列名称位置)。
我想知道如何在JSF中做到这一点。我可以使用任何组件库和jsf实现。
处理:我已经搜索了Oracle ADF, PrimeFaces, Apache特立尼达的"开箱即用"合适的组件。我知道我可以创建自己的自定义组件,但这是一个耗时的解决方案。复合组件也可以帮助,但我不知道如何使用它们来解决我的问题,甚至在战略的角度
提供这种功能的数据工具名称是透视表
- Oracle ADF具有出色的"开箱即用"透视表和钻孔
- ZK框架还提供了某种类型的数据透视表。
- Leo的变体:http://sourceforge.net/p/olap-faces/wiki/Home/ 关于JSF/AngularJS取代基于olap4j的JPivot的博客。示例(可能过时了,可能与这个项目和Leo的建议有关)
如果你正在寻找一个数据透视表的解决方案,有一个纯javascript数据透视表组件,你可以给它一个尝试。
Web数据透视表是一个基于Web的数据透视表实现,它提供了像excel数据透视表一样的完整功能。它可以很容易地嵌入到任何web应用程序中。这是demo和文档