Salve galera!
É o seguinte:
usando a displaytag como eu faço pra poder mudar a cor de apenas uma linha especifica.
O que eu preciso é que se um produto seja substituto a linha desse produto seja de um style diferente das outras linhas…
Se alguem souber como e/ou tiver exemplos eu ficaria grato…
Oi
Diego, o DisplayTag renderiza as tabelas com stilos odd e even nas TDs. Você pode alterar estes estilos criando um novo CSS e acertando isso no displaytag.properties ou, pelo que entendi, se for só uma linha, crie um estilo novo e coloque no styleClass dela.
T+
Olá Paulo
Consegui resolver esse problema, pra isso eu precisei implementer duas classes pra poder mostrar essas linhas especificas.
Uma extendendo de Row, que faz a formatação da linha, e a outra de TableTag, que vai chamar essa minha classe. Criei um tld pra exibir essas informações baseadas no display e ta funcionando que é uma maravilha.
(tava dando pulos de alegria no dia hehe :lol: )
A subclasse de TableTag é enorme, então eu mudei esse trecho:
//aqui era um new de Row
this.currentRow = new RowEstrutura(iteratedObject, this.rowNumber);
e mudei um setName(Object) pra um setName(String)
A RowEstrutura:
public class RowEstrutura extends Row {
public RowEstrutura(Object arg0, int arg1) {
super(arg0, arg1);
}
public String getOpenTag() {
StringBuffer trTag = new StringBuffer(TagConstants.TAG_OPEN
+ TagConstants.TAGNAME_ROW);
Object rowObject = getObject();
try {
String value = null;
Boolean substituto = new Boolean(false);
Integer nivel = new Integer(0);
if (rowObject instanceof EstruturaVO) {
substituto = (Boolean) PropertyUtils.getProperty(rowObject,"substituto");
nivel = (Integer) PropertyUtils.getProperty(rowObject,"nivel");
}
if ( substituto != null) {
if(substituto.booleanValue()){
value = "tablesubstitutoHV";
} else {
if (nivel.intValue() == 1){
value = "tableboldHV";
} else {
value = "tablemeioHV";
}
}
}
if (value != null)
trTag.append(" class=\"").append(value).append("\"");
trTag.append(TagConstants.TAG_CLOSE);
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (InvocationTargetException e) {
e.printStackTrace();
} catch (NoSuchMethodException e) {
e.printStackTrace();
}
return trTag.toString();
}
}
Blz? Valeu a atenção kra! É que a correria é tamanha q nem lembrei de avisar q eu tinha conseguido… :roll: Mesmo assim brigadão! :joia:
Abração e T+!