将鼠标悬停在标题列dataTable上时显示工具提示

mid*_*Dev 6 datatable tooltip primefaces jsf-2

如何显示动态表头的工具提示表p:dataTable当鼠标悬停在标题上时,显示标题列的整个标题.

<p:dataTable id="detailDataTable" widgetVar="detailWidgetVar"
 value="#{model.elements}" var="element"

paginator="false" resizableColumns="false" scrollWidth="100%"
 scrollable= "true" emptyMessage="Aucun résultat"
styleClass="tableResultat" rowStyleClass="">
<p:columns value="#{model.columns}" var="column" columnIndexVar="colIndex"
headerText="#{column.header}"
styleClass="#{column.styleClass}" width="#{column.width}"
sortBy="#{(element[column.productId])[column.property]}">
<h:outputText value="#{(element[column.productId])[column.property]}"
title="#{(element[column.productId])[column.property]}"/>
                        </p:columns>
                    </p:dataTable>
Run Code Online (Sandbox Code Playgroud)

kol*_*sus 13

您可以使用Global Primefaces Tooltip ; 您只需要使用<f:facet/>而不是headerText属性来更改设置标题文本的方法.使用您的代码示例

   <p:tooltip/>

   <p:columns value="#{model.columns}" var="column" columnIndexVar="colIndex"
        headerText= styleClass="#{column.styleClass}" width="#column.width}" sortBy="#{(element[column.productId])[column.property]}">
     <f:facet name="header">
          <h:outputText value="#{column.header}" title="#{column.header}"/>
     </f:facet>
        <h:outputText value="#{(element[column.productId])[column.property]}" title="#{(element[column.productId])[column.property]}"/>
   </p:columns>
Run Code Online (Sandbox Code Playgroud)

发生了两件事

  1. 我定义了一个全球性的 <p:tooltip/>
  2. title在标题构面文本上使用HTML标准属性.这是挂钩到全局工具提示的内容,用于显示每列的工具提示文本