我可以将多个 ListArray 放入同一 h:datatable 的不同列中吗?
我有一个表格,我必须用数据填充表格的 3 列。这些列中的每一列都附加了一个来自辅助 bean 的 ArrayList。每个 ArrayList 都保存相同数量的相同类型“LabValue”的实例。每个 LabValue 都有一个名称(“参数”)和一个单位(“Einheit”),但对于第一个数据表,我只需要两列一次(如下图)。
由于 h:datatable
只能容纳一个 List,到目前为止,我通过将三个数据表放在 h:panelgrid
的一行中解决了这个问题,如下图所示:
< img src="https://i.sstatic.net/BF8vr.png" alt="单行面板网格中包含三个数据表的表单">
这工作正常,但我们在不同浏览器中进行测试时遇到一些问题:有时我们一方面 Datatable1 与另一方面 Datatable2&3 之间存在垂直偏移(例如 Chrome 和 Firefox 工作正常;Safari 不行)。
例如,Safari 将数据表 2 和 3 的标头渲染为四行,数据表 1 的标头渲染为三行(图中未显示)。这会导致偏移。
因此,最好的方法是将它们放在一个数据表中,并最终消除偏移量。
有没有办法在 JSF 2.0 中做到这一点,而无需引入包含所有三个列表的新类?
I have a form where I have to fill 3 columns of a table with data. Each of these columns has an ArrayList from a backing bean attached. Each of the ArrayLists holds the same number of instances of the same type "LabValue". Each LabValue has a name ("Parameter") and a unit ("Einheit") but I need both columns only once for the first datatable (picture below).
Since a h:datatable
can only hold one List until now I solved the problem by putting three datatables in one row of a h:panelgrid
as shown in the picture below:
This works fine but we have some trouble with our tests in different browsers: Sometimes we have a vertical offset between Datatable1 on the one hand and Datatable2&3 on the other hand (e.g. Chrome and Firefox work fine; Safari not).
E.g. Safari renders the header of datatable 2 and 3 in four lines and datatable one in three lines (not shown in picture). This will cause an offset.
So the best way would be to have them in one single datatable and finally get rid of the offset.
Is there a way to do this in JSF 2.0 without introducing a new class holding all three lists?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
不,不存在——为什么要避免这种情况如此重要?
No, there isn't - and why would that be so important to avoid anyway?
创建一个新类要好得多,但这是可以做到的。
请参阅 http://wiki.apache.org/myfaces/Parameters_In_EL_Functions
在 jsf 中执行类似以下操作:
在java中:
It's much better to create a new class, but it can be done.
See http://wiki.apache.org/myfaces/Parameters_In_EL_Functions
In the jsf do something like this:
In java: