我有两列是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/

10-13 05:00