我需要创建一个丰富:dataTable的(甚至扩展),具有以下特点:富:数据表行跨度问题
我有产品对象的集合类公司。我想如下表显示:
我还没有想出如何与子表(在所有的例子,我发现子表具有完全相同的列作为主表)做到这一点。据推测,我需要在前两栏中使用rowspans,但我仍然没有找到方法。
有人可以为此提供一个伪代码吗?
干杯!
更新1: 我尝试设置列行跨度在左边的列表或产品的大小,然后:
- 的产品是否为空(无产品该公司呢),我打印了两栏。我这样做是有条件通过其呈现属性设置为#{myFuncs:整型尺寸(company.products)}
- 如果这些产品是> = 1,那么我遍历他们和循环中我插入两个列(一个用于产品名称和一个用于说明),除了第一个产品名称列以外,我还设置了breakBefore属性到#{!myFunc:firstProduct(company.products,product)},其计算结果为对于除第一个产品名称以外的所有产品名称均为真
不幸的是,这并没有为我工作,因为A4J内部中的列:重复不会出现在所有 - 不是因为呈现标签。循环是正确的,因为如果我打印其他标准文本,它就会出现。
有没有办法实现rowspan,还是我把我的头撞在墙上?
更新2: 问题可能与此article,说明如< A4J迭代组件之间的差别:重复>和标签< C:的forEach>。第一个是在渲染时发生,而第二个是在JSF组件放置到页面的组件树上时运行的。
我试图让rich:a4j:repeat之外的列被渲染(当然,并不像预期的那样,但是它们是这样做的)。
我正在尝试。 **但是**它只显示**有**产品的公司。有些公司没有我想要出现的产品(其余产品列应该是空的)。 有支持吗? – 2010-04-20 16:44:31
不使用这种方法。这是限制。但是,您可以通过对公司进行后处理并添加空白产品来伪造行。 – Damo 2010-04-20 22:33:22
我继续讨论Richfaces社区:http://community.jboss.org/message/541744。在那里,我们发现了一个解决方法,即使是** no **产品的公司也是如此。 – 2010-06-09 08:31:35