这个问题尖叫是JSF 2.0 + Primefaces 2.x: Tooltip for datatable row的副本,但由于这个老问题对我来说没有任何工作/令人满意的解决方案,并且没有办法(?)得到关注,我开了这个新的。
这很简单:
我有一个dataTable
(使用JSF标准或者使用primefaces),我想为每一行添加一个不同的工具提示(不仅仅是为了一个字段!)。
到目前为止我尝试了什么:
<pe:tooltip value="This is row number #{rowIndex}"
for="@(#table1 tr[role=row][data-ri=#{rowIndex}])"
atPosition="top center" myPosition="bottom center"
shared="true" />
其中#table1
是我的数据表的ID。由于this,我想到了这一点。
来自JSF 2.0 + Primefaces 2.x: Tooltip for datatable row的两个解决方案:第一个解决方案有效,但仅适用于一个字段/ id而不适用于整行。第二种解决方案对我来说根本不起作用。
而且我100%肯定两者 - 主要和&amp; primefaces扩展 - 为我工作,我测试了它。
答案 0 :(得分:7)
我做了一些测试,这种方法非常有效:
<p:dataTable var="entry" value="#{....}" styleClass="myTable" rowIndex="rowIndex">
<p:column headerText="Header 1">
<h:outputText value="#{entry.value1}" />
</p:column>
<p:column headerText="Header 2">
<h:outputText value="#{entry.value2}" />
<pe:tooltip value="This is row number #{rowIndex}" forSelector=".myTable tr[role=row][data-ri=#{rowIndex}]"
shared="true" atPosition="top center" myPosition="bottom center" showDelay="500" />
</p:column>
</p:dataTable>
请注意,为了将 data-ri 属性放置在数据表行上,您需要添加属性 rowIndex (rowIndex =“rowIndex”)。
它也适用于
<p:tooltip for="@(.myTable tr[role=row][data-ri=#{rowIndex}])" value="This is row number #{rowIndex}" />
答案 1 :(得分:3)
您也可以在不使用primefaces扩展的情况下执行此操作。这个示例代码适用于我使用primefaces 5.2。 请注意,在primefaces 5.2中,p:dataTable属性为 rowIndexVar ,而不是上面示例中的rowIndex。
<h:form id="idform">
<p:dataTable var="komp"
id="idDataTable"
value="#{kompselect.listKomponenten}"
rowIndexVar="rowIndex"
selection="#{kompselect.selectedKomponente}"
rowKey="#{komp.name}">
<p:column>
<h:outputText id="otSelKomponente" value="#{komp.name}" />
<p:tooltip rendered="#{komp.displayToolTip}"
for="idForm:iddataTable:#{rowIndex}:otSelKomponente"
value="this is my Tooltip"/>
</p:column>
</p:dataTable>
答案 2 :(得分:2)
根据这篇文章https://stackoverflow.com/a/13327334/4851983(thaks BalusC) 让primefaces自动链接对象。我可以显示textArea Primefaces 3.5的工具提示,如下所示
<p:dataTable id="commentsTable"
value="#{historyReq.commentsFromReq}" var="comment"
emptyMessage="#{localeMsg.roles_table_empty}"
rows="10"
styleClass="myTable"
rowIndexVar="rowIndex">
<p:column headerText="HEADER A">
<h:outputText value="#{bean.valorA}" />
</p:column>
<p:column headerText="#{HEADER B}">
<p:inputTextarea id="txtArea" cols="45" rows="1"
value="#{bean.valorB}"
readonly="true"
disabled="false"
autoResize="false">
<f:converter converterId="commentsConverter" />
</p:inputTextarea>
<p:tooltip for="txtArea" value="This is row number #{rowIndex}" />
</p:column>