0

テーブルのヘッダーのレンダリングに問題があります。テーブルに色が表示されません。以下のようなデータで 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);
    }
}

CSSクラスの「ヘッダー」を生成するHeaderToolbarを詳細に見ました。そして、View Sourceに表示されます。「ヘッダー」という名前のcssクラスがあります。

テーブル行ヘッダーの表示色を正しく取得するために HeaderToolbar をカスタマイズする方法、または代わりに新しい Css クラスを作成できますか?

誰でもこの問題を解決するのに役立ちますか? :)

4

1 に答える 1

0

私はあなたの目標を理解していません。テーブル ヘッダーの色を動的に変更したいですか、それとも単にヘッダーの色を静的に設定しようとしていますか?

色を静的に設定する場合はth.header {background-color: #7FFF00;}、html: に css を使用できます<th class="header">...</th>

動的に設定したい場合は、クラスをhtmlから除外し、条件が満たされたときにウィケットを挿入することに成功しました:

if(...) {
    header.add(new AttributeModifier("class", "header")`;
}

より多くの情報があれば、より完全な答えを提供できるかもしれません。他にご不明な点がありましたらお知らせください。

于 2013-09-26T20:13:10.610 に答える