我有一个包含几列的主要面孔数据表,并且所有列都有 filteryBy 属性。如何添加占位符或水印为用户提供提示。任何建议,将不胜感激谢谢!
<p:dataTable var="dt" widgetVar="widgetUserRecords"
value="#{userBean.result}"
id="userRecordTable" paginator="true"
paginatorAlwaysVisible="false" rows="10"
height="300" >
<p:column sortBy="#{dt.course.name}" filterStyle="width:50px;"
filterBy="#{dt.course.name}" headerText="Course Name" style="text-align:bottom">
<h:outputText value="#{dt.course.name}"/>
</p:column>
.
.
.
(other columns)
</p:dataTable>
最佳答案
我意识到这个问题早在 2012 年就被问到了,但我希望这个答案可以帮助希望在数据表中按字段向过滤器添加水印的人。我尝试使用其他答案中建议的解决方案 forElement
但无法显示水印。相反,我找到了两个使用 for
的解决方案。属性,第一次使用styleClass
p:column
上的属性元素,第二个使用 for
中的 jQuery 选择器属性。我还发现 p:watermark
元素需要位于 f:facet
中用于标题的元素。
我在这两个解决方案中使用的代码如下:
<h:form id="myForm">
<p:dataTable id="myTable">
<p:column id="column1" filterBy="column1" styleClass="watermark1">
<f:facet name="header">
<p:watermark for="@(.watermark1)" value="Watermark 1" />
<h:outputText value="Column1" />
</f:facet>
</p:column>
<p:column id="column2" filterBy="column2">
<f:facet name="header">
<p:watermark for="@(#myForm\\:myTable\\:column2\\:filter)"
value="Watermark 2" />
<h:outputText value="Column2" />
</f:facet>
</p:column>
</p:dataTable>
</h:form>
关于filter - 如何在数据表列标题的过滤框中添加占位符文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13018868/