如何在 table 过滤列中显示 placeholder/watermark

how to show placeholder/watermark in table filter column

我在我的 .jsf 页面上添加了 table 来自数据控件并启用了可过滤选项。 现在我可以从 table 中过滤数据,但我想显示一些占位符,例如 "search here"。 如何在搜索栏框中显示占位符?

<af:column
    sortProperty="#{bindings.TblProgView12.hints.ProgId.name}"
    filterable="true" sortable="true" headerText="Program ID"
    align="center" id="c1" width="51">
    <af:inputText value="#{row.bindings.ProgId.inputValue}"
        label="#{bindings.TblProgView12.hints.ProgId.label}"
        required="#{bindings.TblProgView12.hints.ProgId.mandatory}"
        columns="#{bindings.TblProgView12.hints.ProgId.displayWidth}"
        maximumLength="#{bindings.TblProgView12.hints.ProgId.precision}"
        shortDesc="#{bindings.TblProgView12.hints.ProgId.tooltip}" id="it1"
        readOnly="true" contentStyle='text-align:center'>
        <f:validator binding="#{row.bindings.ProgId.validator}" />
    </af:inputText>
</af:column>

为您的 table 创建带有通知和标题的特定搜索表单的一种方法是使用迭代器附带的 af:query 组件。(将迭代器从 datacontrol 和 select 查询,在此处阅读更多内容:https://docs.oracle.com/cd/E15523_01/apirefs.1111/e12419/tagdoc/af_query.html)

然而,正如您具体询问的那样 我如何在搜索栏框中显示占位符?

您可以将 filter facet 添加到您的列以修改过滤器组件,如下所示:

<af:column sortProperty="#{bindings.TblProgView12.hints.ProgId.name}"
       filterable="true" sortable="true"
       headerText="Program ID" align="center"
       id="c1" width="51">
       <f:facet name="filter">
            <af:inputText value="#{vs.filterCriteria.ProgId}" 
                  placeholder="SEARCH HERE" id="id4">
            </af:inputText>
        </f:facet>
    <af:inputText value="#{row.bindings.ProgId.inputValue}"
                  label="#{bindings.TblProgView12.hints.ProgId.label}"
                  required="#{bindings.TblProgView12.hints.ProgId.mandatory}"
                  columns="#{bindings.TblProgView12.hints.ProgId.displayWidth}"
                  maximumLength="#{bindings.TblProgView12.hints.ProgId.precision}"
                  shortDesc="#{bindings.TblProgView12.hints.ProgId.tooltip}"
                  id="it1" readOnly="true"
                  contentStyle='text-align:center'>
        <f:validator binding="#{row.bindings.ProgId.validator}"/>
    </af:inputText>
</af:column>