日期:2014-05-16  浏览次数:20405 次

jsf的dataTable组件自定义控制指定行样式的方法
上次为了解决按照某种特定业务实现jsf的dataTable组件的特定行显示不同的颜色,看了网上的方法,太麻烦,后来自己实现了了一种,分享下。
1 我要实现的功能是当某些数据实现强制修改了,显示为红色。
在类中
private Integer enforEditflag = 0; //0表示未强制修改, 1表示强制修改
private String Color = "black"; //默认为黑色。

@Transient
public String getColor() {
if(this.getEnforEditflag() != null){
if(this.getEnforEditflag() == 1){
this.Color = "red";
}else if(this.getEnforEditflag() == 0){
this.Color = "black";
}
}
return Color;
}

public void setColor(String color) {
Color = color;
}
2 在页面上
<rich:column>
<f:facet name="header">
<h:outputText value="客户姓名"/>
</f:facet>
<h:outputText style="color: #{contract.color};" value="#{contract.customer.name}" />
</rich:column>
即可实现,比http://www.blogjava.net/fangshun/archive/2007/09/14/145156.html给出的简单,希望大家指教,本人也是菜鸟。