嗨,我想为素数数据表中的选择列设置工具提示。作为示例,我使用了以下代码。
<p:dataTable id="checkboxDT" var="car" value="#{dtSelectionView.cars6}"
selection="#{dtSelectionView.selectedCars}" rowKey="#{car.id}"
style="margin-bottom:0">
<p:column id="selectId" selectionMode="multiple" style="width:16px;text-align:center">
<p:tooltip for="selectId" value="tooltip for selection"/>
</p:column>
<p:column headerText="Id">
<h:outputText id="textId" value="#{car.id}" />
<p:tooltip for="textId" value="tooltip for text"/>
</p:column>
</p:dataTable>
在上面的代码中,工具提示是为文本而不是为选择生成的。这里已经提出了类似的问题,但评论中提到的解决方案不起作用。请在这里帮助我:)
<p:column>
在selectionMode="multiple"
时不会呈现id
。
典型的<p:column selectionMode="multiple">
将呈现以下 html:
<td class="ui-selection-column" role="gridcell">
<span class="ui-column-title"></span>
<div class="ui-chkbox ui-widget">
<div class="ui-helper-hidden-accessible">
<input name="form:dataTableId_checkbox" aria-checked="false" aria-label="" type="checkbox">
</div>
<div class="ui-chkbox-box ui-widget ui-corner-all ui-state-default">
<span class="ui-chkbox-icon ui-icon ui-icon-blank ui-c"></span>
</div>
</div>
</td>
给定上述代码,工具提示找不到用于附加值消息的 id。
为了显示选择列的工具提示消息,您可以使用PrimeFaces选择器API
示例代码:
<p:dataTable id="checkboxDT" var="car"
value="#{dtSelectionView.cars6}"
selection="#{dtSelectionView.selectedCars}" rowKey="#{car.id}"
style="margin-bottom:0" rowIndexVar="rowIndex">
<p:column selectionMode="multiple"
style="width:16px;text-align:center">
<p:tooltip for="@(.ui-datatable tr[role=row][data-ri=#{rowIndex}] td[class=ui-selection-column] div[class~=ui-chkbox])" value="tooltip for selection" />
</p:column>
</p:dataTable>
此示例在鼠标悬停在行复选框上时显示工具提示消息。
你可以玩这个来实现你想要的。