基于 JSF 2 中的条件对数据表的行进行着色
我想根据条件更改行的背景颜色。
<t:dataTable id="data"
styleClass="history-table"
headerClass="history-table-header"
rowClasses="history-table-row-default"
border="2" cellpadding="5" cellspacing="2"
var="entry"
value="#{historyBean.logEntryList}"
preserveDataModel="false"
rows="#{historyBean.history.rowCount}"
sortable="true">
<h:column>
<f:facet name="header">
<h:outputText value="Debug Status" />
</f:facet>
<h:outputText value="#{entry.action}" />
</h:column>
如果“entry.action”的值为 X,我喜欢使用“history-table-row-incomplete”(样式类的名称),如果该值为 YI,我喜欢使用“history-table-row-error”(样式类的名称) )。所有其他情况应使用默认值。
我想我必须以某种方式将当前的条目对象获取到我的bean,对其进行分析并将带有样式类名称的字符串返回到outputText以更改颜色。但我不知道如何...(我是 JSF 的新手...)
有人可以帮助我吗?
I'd like to change the background color of rows based on a condition.
<t:dataTable id="data"
styleClass="history-table"
headerClass="history-table-header"
rowClasses="history-table-row-default"
border="2" cellpadding="5" cellspacing="2"
var="entry"
value="#{historyBean.logEntryList}"
preserveDataModel="false"
rows="#{historyBean.history.rowCount}"
sortable="true">
<h:column>
<f:facet name="header">
<h:outputText value="Debug Status" />
</f:facet>
<h:outputText value="#{entry.action}" />
</h:column>
If the value of "entry.action" is X I like to use "history-table-row-incomplete" (name of styleclass), if the value is Y I like to use "history-table-row-error" (name of styleclass). All other cases should use the default value.
I guess i have to get the current object of entry somehow to my bean, analyze it and return a string with the name of the stylclass to outputText to change the color. But I don't know how... (I'm new in JSF...)
Can someone help me please?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
使用
的rowStyleClass
属性而不是rowClasses
。rowStyleClass
在var="entry"
可用的情况下基于每行进行评估,而rowClasses
仅在每行上进行评估-表基础。Use the
rowStyleClass
attribute of the<t:dataTable>
instead ofrowClasses
. TherowStyleClass
is evaluated on a per-row basis where thevar="entry"
is available, while therowClasses
is only evaluated on a per-table basis.您可以使用 JSF EL 三元运算符,如下所示:
You can use JSF EL Ternary operator, as below: