【发布时间】:2011-01-02 23:48:14
【问题描述】:
我需要创建一个 Rich:dataTable(甚至是扩展的)具有以下功能:
我有一个 Company 类,其中包含 Product 对象的集合。我想显示下表:
我仍然没有弄清楚如何使用子表来做到这一点(在所有示例中,我发现子表与主表具有完全相同的列)。据推测,我需要在前两列中使用行跨度,但我仍然没有找到方法。
有人可以为此提供伪代码吗?
干杯!
更新 1: 我尝试将左侧列的 rowspan 设置为列表或产品的大小,然后:
- 如果产品是空的(公司还没有产品),我打印两列。我通过将它们的 rendered 属性设置为 #{myFuncs:sizeOf(company.products)} 有条件地做到这一点
- 如果产品 >= 1,则使用 对其进行迭代,并在该循环内插入两列(一列用于产品名称,一列用于描述),并且对于每个产品名称列,除了第一个我将 breakBefore 属性设置为 #{ !myFunc:firstProduct(company.products, product)},它对除第一个以外的所有产品名称的计算结果为 true。
不幸的是,这对我不起作用,因为 a4j:repeat 内的列根本没有出现 - 不是因为 rendered 标记。循环是正确的,因为如果我打印其他标准文本,它就会出现。
有没有办法实现行跨度,还是我把头撞到墙上了?
更新 2:
问题大概和这个article有关,说明
我尝试在 a4j:repeat 之外获取 rich:columns 并且它们被渲染(当然,不像预期的那样,但确实如此)。
【问题讨论】:
标签: java jsf jakarta-ee richfaces jstl