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

时间:2014-02-11 15:01:35

标签: jsf-2 primefaces datatable tooltip

如何显示动态表头的工具提示表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>

1 个答案:

答案 0 :(得分: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>

发生了两件事

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