我有代码
<p:column id="columnLastComment" headerText="LAST COMM" width="80"
styleClass="long-field" filterStyleClass="flt-hidden"
style="#{alarmTable.getDisplayStatus('columnLastComment')}"
sortBy="#{alarm.lastComment}" filterBy="#{alarm.lastComment}">
<h:outputText value="#{alarm.lastComment}" />
<f:facet name="header">
<h:outputText value="LAST COMM" title="Last Comment"
styleClass="tableHeader-fontSize" />
</f:facet>
</p:column>
如何在样式值中使用列的 id? 示例 - style="#{alarmTable.getDisplayStatus('[id of this column]')}"
从理论上讲,您可以使用隐式 EL 变量#{component}
来获取当前组件,如下所示:
<h:outputText id="foo" styleClass="#{bean.styleClass(component.id)}" />
但是,不幸的是,UIColumn
组件具有特殊处理。#{component}
引用父组件UIData
,在您的情况下,这将是<p:dataTable>
。
所以,你真的必须重复它(就像你已经为短语"lastComment"所做的那样。您可以通过使用 #{alarm}
的属性来减轻它的痛苦。