【发布时间】:2019-09-08 10:57:45
【问题描述】:
我正在使用 Primefaces 6.2,并且我有一个具有以下结构的 p:dataTable:
<h:form id="infocenterform">
...
...
<p:dataTable id="infocentertable" ...>
...
...
<p:column id="infocenterthemacolumn" style="width: 60%;" filterBy="#{eintrag.thema}" headerText="Thema" filteredValue="#{marketingPagesController.filteredEintragList}" sortBy="#{eintrag.thema}" filterMatchMode="contains">
<h:outputLink value="#{eintrag.file}" target="_blank" >
<h:outputText value="#{eintrag.thema}"/>
</h:outputLink>
<p:watermark for="@(#infocenterform\\:infocentertable\\:infocenterthemacolumn\\:filter)" value="Search with a keyword" />
</p:column>
水印文本没有显示(页面渲染、过滤、排序等都可以正常工作)。我在此页面上参考了人们为 PF 6.1 建议的水印语法: How to show water mark in filter in primefaces?
知道我做错了什么吗?
【问题讨论】:
-
试试
<p:watermark for="infocentertable:infocenterthemacolumn:filter)" value="Search with a keyword" /> -
要尝试的另一件事是在 Chrome 中按 F12 以调出 JS 控制台并输入此脚本
$('#infocenterform\\: infocentertable\\: infocenterthemacolumn\\:filter').attr('placeholder','Search with a keyword');当您在控制台中运行该脚本时,您应该会看到您的水印出现在过滤器中。跨度> -
@Melloware 非常感谢您的建议。可悲的是,这两个都不适用于我的情况。我没有得到水印文字。我认为我的代码可能还有其他问题,可能吗?我的 xhtml 正在使用合成。水印有关系吗?
-
顺便说一句,我尝试了使用 styleClass 属性的另一种方法,它会显示水印文本:
<p:column id="infocenterthemacolumn" styleClass="watermark1" style="width: 60%;" filterBy="#{eintrag.thema}" headerText="Thema" sortBy="#{eintrag.thema}" filterMatchMode="contains"> <p:watermark for="@(.watermark1)" value="Search keyword...." /> <h:outputText value="#{eintrag.thema}"/> </p:column>...但另一方面,以这种方式添加水印会严重影响过滤列..我不知道为什么。 -
(这里讨论styleClass方式:stackoverflow.com/questions/13018868/…)
标签: primefaces