[英]How to remove emptyMessage from primefaces TreeTable
有没有一种方法可以完全删除它,我并不是说要使用emptyMessage =“”,我的意思是像完全不使用它一样,在下面的图像中,我有一个空的树表,它作为树表的头之后它。
带有默认emptyMessage的树表:
使用emptyMessage =“”:
以上都不是我想要的。
我需要将2个树表分开的灰线消失,这在PrimeFaces 3.5中没有发生,仅在7.0中发生,有没有办法? :)在3.5中,您可能有一个具有null值的树表,现在不可能了,因此在managedbean中,我将其设置为postconstruct和getter的默认值(当它为null时),但这并不重要我正在寻找结果,只是为了让您了解为何以前从未发生过。
正如您对问题的评论所暗示的那样-您可以使用一些简单的CSS并使用emptyMessage=""
解决此问题。 这是一个简单的示例,说明如何进行;
<?xml version="1.0" encoding="UTF-8"?>
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:h="http://java.sun.com/jsf/html"
xmlns:p="http://primefaces.org/ui" xmlns:f="http://java.sun.com/jsf/core">
<h:head>
<title>Empty treetable styling</title>
<style>
tbody#form\:first_data > tr > td:empty {
display: none;
}
</style>
</h:head>
<h:body>
<h:form id="form">
<p:treeTable id="first" emptyMessage="" value="#{treeBackingBean.root}">
<f:facet name="header">First TreeTable</f:facet>
</p:treeTable>
<p:treeTable emptyMessage="" value="#{treeBackingBean.root}">
<f:facet name="header">Second TreeTable</f:facet>
</p:treeTable>
</h:form>
</h:body>
</html>
我们结合使用:empty
CSS选择器和emptyMessage=""
会在结果emptyMessage=""
生成一个空的td
元素的优势。 然后,我们使用display: none;
隐藏元素display: none;
。
为了完整起见,下面是此示例使用的支持bean;
@Data
@Named
@ViewScoped
public class TreeBackingBean implements Serializable {
private TreeNode root;
@PostConstruct
private void init() {
root = new DefaultTreeNode("Testing", null);
}
}
生成的结果树表应类似于下图;
我们仅在此处设置第一个树形表的样式,但是如您所见,它删除了您在问题中遇到的“空区域”。 为了进行比较,我保留了所有自定义样式规则未触及的第二个树表。
第一个渲染的树形目录树网格(PrimeFaces为第一个树形表生成的代码)看起来像这样-您还可以清楚地看到先前定义的样式规则在哪里匹配;
<table role="treegrid">
<thead id="form:first_head">
<tr role="row"></tr>
</thead>
<tfoot></tfoot>
<tbody id="form:first_data" class="ui-treetable-data ui-widget-content">
<tr class="ui-widget-content ui-treetable-empty-message">
<td colspan="0"></td>
</tr>
</tbody>
</table>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.