我有两列是orderbyborder链接。当我单击一个列时,我通过以下方式添加attributeModifier来更改列的颜色
add(new AttributeModifier("style", true, new Model<String>("background-color:#80b6ed;")));
这很好。但是,当我单击第二列时,第一列保持更改的颜色。但是我希望只有我单击的列才能包含此attributeModifier!
最佳答案
您不应该更改修饰符。
诀窍是让模型返回正确的值。因此,与其使用总是返回相同常数值的new Model<String>("background-color:#80b6ed;")
,不如说:
new Model<String>() {
@Override
public String getObject() {
if( columnName.equals( selectedColumn ) { //or something along these lines, to check if the current column is the selected one
return "background-color:#80b6ed;";
}
return "background-color:white;";
}
}
当然,这还意味着您可以在创建每列时将属性修饰符添加到每一列,而不必稍后担心它们。
关于java - 添加新的attributeModifier时,如何删除以前的attributeModifier?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6321337/