如何在 Primefaces 数据表列中为过滤器框添加工具提示说明
How to add Tooltip Description for filter Box in Primefaces Datatable Column
我有一个动态生成的 Primefaces 数据表,其中包含一些列,每列都有一个简单的筛选框。我想为每个 filterBox 添加一个工具提示。
我可以为列 header 添加工具提示,但我想要 primefaces 默认过滤器框(不是自定义过滤器)的工具提示。您可以在下面查看列代码:
<p:columns value="#{cc.columns}" id="dataTableColumn" var="col" filterBy="#{col.filterExp}" sortBy="#{col.filterExp}" headerText="#{col.header}">
<h:outputText value="#{data[col.position]}"
rendered="#{'java.math.BigDecimal'.equals(col.type) or 'java.lang.Integer'.equals(col.type) or 'java.lang.Long'.equals(col.type)}">
<f:convertNumber maxFractionDigits="10"/>
</h:outputText>
<h:outputText value="#{data[col.position]}" rendered="#{'java.lang.String'.equals(col.type) or col.type.startsWith('serp3.entity.')}"/>
<h:outputText converter="JalaliDateConverter" value="#{data[col.position]}" rendered="#{'java.util.Date'.equals(col.type)}"/>
<p:selectBooleanCheckbox value="#{data[col.position]}" rendered="#{'java.lang.Boolean'.equals(col.type)}" disabled="true"/>
</p:columns>
<cc:insertFacet name="footer"/>
</p:dataTable>
我该怎么做?
您可以使用 watermark
代替工具提示。为您的 Column
设置一个 StyleClass
并为其添加一个 <p:watermark>
,如下所示:
<p:columns value="#{cc.columns}" id="dataTableColumn" styleClass="watermark" var="col" filterBy="#{col.filterExp}" sortBy="#{col.filterExp}" headerText="#{col.header}"/>
<p:watermark for="@(.watermark)" value="filter..."/>
它为每个过滤器框添加了水印。
我有一个动态生成的 Primefaces 数据表,其中包含一些列,每列都有一个简单的筛选框。我想为每个 filterBox 添加一个工具提示。
我可以为列 header 添加工具提示,但我想要 primefaces 默认过滤器框(不是自定义过滤器)的工具提示。您可以在下面查看列代码:
<p:columns value="#{cc.columns}" id="dataTableColumn" var="col" filterBy="#{col.filterExp}" sortBy="#{col.filterExp}" headerText="#{col.header}">
<h:outputText value="#{data[col.position]}"
rendered="#{'java.math.BigDecimal'.equals(col.type) or 'java.lang.Integer'.equals(col.type) or 'java.lang.Long'.equals(col.type)}">
<f:convertNumber maxFractionDigits="10"/>
</h:outputText>
<h:outputText value="#{data[col.position]}" rendered="#{'java.lang.String'.equals(col.type) or col.type.startsWith('serp3.entity.')}"/>
<h:outputText converter="JalaliDateConverter" value="#{data[col.position]}" rendered="#{'java.util.Date'.equals(col.type)}"/>
<p:selectBooleanCheckbox value="#{data[col.position]}" rendered="#{'java.lang.Boolean'.equals(col.type)}" disabled="true"/>
</p:columns>
<cc:insertFacet name="footer"/>
</p:dataTable>
我该怎么做?
您可以使用 watermark
代替工具提示。为您的 Column
设置一个 StyleClass
并为其添加一个 <p:watermark>
,如下所示:
<p:columns value="#{cc.columns}" id="dataTableColumn" styleClass="watermark" var="col" filterBy="#{col.filterExp}" sortBy="#{col.filterExp}" headerText="#{col.header}"/>
<p:watermark for="@(.watermark)" value="filter..."/>
它为每个过滤器框添加了水印。