Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/387.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何将CSS类添加到AbstractColumn表头_Java_Wicket_Wicket 6 - Fatal编程技术网

Java 如何将CSS类添加到AbstractColumn表头

Java 如何将CSS类添加到AbstractColumn表头,java,wicket,wicket-6,Java,Wicket,Wicket 6,我需要动态更改Wicket数据表的CSS类。有什么建议吗 示例代码: public class TextColumn<T> extends PropertyColumn<T, String> private static final long serialVersionUID = 1L; public TextColumn(IModel<String> displayModel, String propertyExpression) { super

我需要动态更改Wicket数据表的CSS类。有什么建议吗

示例代码:

public class TextColumn<T> extends PropertyColumn<T, String>

private static final long serialVersionUID = 1L;

public TextColumn(IModel<String> displayModel, String propertyExpression)
{
    super(displayModel, propertyExpression);
}

public TextColumn(IModel<String> displayModel, String sortProperty, String propertyExpression)
{
    super(displayModel, sortProperty, propertyExpression);
}

@Override
public String getCssClass()
{
    return getPropertyExpression();
}

@Override
public void populateItem(Item<ICellPopulator<T>> item, String componentId, IModel<T> rowModel)
{
    item.add(new Label(componentId, getDataModel(rowModel)).setEscapeModelStrings(false));
}

@Override
public IModel<Object> getDataModel(IModel<T> rowModel)
{
    final IModel<Object> model = super.getDataModel(rowModel);

    final Object object = model.getObject();

    return model;

    if((object != null) )
    {
        return Model.of(new Model<String>("label here"));
    }
    else
    {
        return model;
    }
}       

}
公共类TextColumn扩展了PropertyColumn
私有静态最终长serialVersionUID=1L;
公共文本列(IModel displayModel、字符串属性Expression)
{
超级(displayModel、propertyExpression);
}
公共文本列(IModel displayModel、字符串sortProperty、字符串propertyExpression)
{
super(displayModel、sortProperty、propertyExpression);
}
@凌驾
公共字符串getCssClass()
{
返回getPropertyExpression();
}
@凌驾
公共void populateItem(项、字符串组件、IModel rowModel)
{
添加(新标签(componentId,getDataModel(rowModel)).SetEscapeModelString(false));
}
@凌驾
公共IModel getDataModel(IModel rowModel)
{
最终IModel模型=super.getDataModel(rowModel);
最终对象=model.getObject();
收益模型;
如果((对象!=null))
{
退货型号(新型号(“此处标签”);
}
其他的
{
收益模型;
}
}       
}

您需要覆盖
org.apache.wicket.extensions.markup.html.repeater.data.table.AbstractColumn#getHeader()


您需要重写
org.apache.wicket.extensions.markup.html.repeater.data.table.AbstractColumn#getHeader()


我想出了一个不同的解决方案——但你的更好更短!我想出了一个不同的解决方案——但你的更好更短!
@Override 
public Component getHeader(final String componentId)
{
    Component header = super.getHeader(componentId);
    header.add(AttributeModifier.replace("class", "myCssClass"));
    return header;
}