如何解决JSF:由渲染属性引起的空白
| 如何通过未通过render属性呈现的组件摆脱空白空间? 我想在dataTable中显示对象列表,并按其具有的属性对其进行排序。我喜欢这样: 查看普通副本到剪贴板吗?<t:dataTable value=\"#{someBean.values}\" var=\"value\">
<h:column>
<f:facet name=\"header\">
<t:outputText value=\"X\" />
</f:facet>
<h:panelGroup rendered=\"#{value.property eq \'X\'}\">
<!-- some stuff -->
</h:panelGroup>
</h:column>
<h:column>
<f:facet name=\"header\">
<t:outputText value=\"Y\" />
</f:facet>
<h:panelGroup rendered=\"#{value.property eq \'Y\'}\">
<!-- some stuff -->
</h:panelGroup>
</h:column>
</t:dataTable>
由于渲染的东西,它将仅在每行显示一项。如何避免这种情况?我在其他场合也碰到了这个问题...
谢谢!
解决方法
使用单列并在那里渲染。
<t:dataTable value=\"#{someBean.values}\" var=\"value\">
<h:column>
<f:facet name=\"header\">
<t:outputText value=\"#{value.property}\" />
</f:facet>
<h:panelGroup rendered=\"#{value.property eq \'X\'}\">
<!-- some stuff -->
</h:panelGroup>
<h:panelGroup rendered=\"#{value.property eq \'Y\'}\">
<!-- some stuff -->
</h:panelGroup>
</h:column>
</t:dataTable>
,显然每行显示一个带有datatable
的项目。
您最好有两个不同的数据表,一个用于x渲染,另一个用于y渲染,并相应地调整css
,使其看起来像同一张表的两列。否则使用richfaces,<rich:subTable>
会有所帮助,例如在一个a6ѭ中有两个two5ѭ
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。