我在渲染表头时遇到问题。在表格上没有显示任何颜色。 我在HeadersToolbar中使用了我的数据,如下所示。
import org.apache.wicket.Component;
import org.apache.wicket.behavior.AttributeAppender;
import org.apache.wicket.extensions.markup.html.repeater.data.table.DataTable;
import org.apache.wicket.extensions.markup.html.repeater.data.table.HeadersToolbar;
import org.apache.wicket.extensions.markup.html.repeater.data.table.IColumn;
import org.apache.wicket.extensions.markup.html.repeater.data.table.ISortableDataProvider;
import org.apache.wicket.extensions.markup.html.repeater.data.table.NavigationToolbar;
import org.apache.wicket.markup.html.internal.HtmlHeaderContainer;
import org.apache.wicket.markup.repeater.Item;
import org.apache.wicket.markup.repeater.OddEvenItem;
import org.apache.wicket.model.IModel;
import org.apache.wicket.model.Model;
public class CustomTable extends DataTable {
private static final long serialVersionUID = 5912216230302446976L;
public CustomTable(String id, List columns,
ISortableDataProvider dataProvider, int rowsPerPage) {
this(id, (IColumn[]) columns.toArray(new IColumn[columns.size()]),
dataProvider, rowsPerPage);
}
public CustomTable(String id, IColumn[] columns,
ISortableDataProvider dataProvider, int rowsPerPage) {
super(id, columns, dataProvider, rowsPerPage);
// super(id, columns, dataProvider, rowsPerPage);
addTopToolbar(new NavigationToolbar(this));
addTopToolbar(new HeadersToolbar(this, dataProvider));
}
protected Item newRowItem(String id, int index, IModel model) {
return new OddEvenItem(id, index, model);
}
}
我详细看到了HeaderToolbar会生成CSS类“headers”。然后我在View Source中看到了。我有名称“标题”的css类。
如何自定义HeaderToolbar以正确获取表行标题显示颜色或者我可以创建新的Css类吗?
任何人都可以帮我解决这个问题吗? :)
答案 0 :(得分:0)
我不明白你的目标。您是否希望动态更改表头的颜色,或者您只是想静态设置标题的颜色?
如果静态设置颜色,您只需使用css th.header {background-color: #7FFF00;}
来表示html:<th class="header">...</th>
。
如果你想要它动态设置我已经成功将该课程从html&amp;满足条件时用wicket注入它:
if(...) {
header.add(new AttributeModifier("class", "header")`;
}
通过更多信息,我可以提供更完整的答案。如果您还有其他问题,请与我们联系。