方法 1:
DefaultDataTable を継承し、独自の HTML テンプレートを提供します。
方法 2:
DefaultDataTable を継承し、コンストラクターに AttributeModifier を追加するため、HTML テンプレートを提供する必要はありません。テンプレートは DefaultDataTable.html から自動的に継承されます。奇数、偶数について。つまり、テーブルはゼブラ効果を提供します。
@Override protected Item<T> newRowItem(final String id, final int index, final IModel<T> model) { return new OddEvenItem<T>(id, index, model); } //OddEvenItem的内容: @Override protected void onComponentTag(ComponentTag tag) { super.onComponentTag(tag); tag.put("class", (getIndex() % 2 == 0) ? CLASS_EVEN : CLASS_ODD); }
DefaultDataTable の newRowItem メソッドをオーバーライドできます。 たとえば、purecss テーブルの場合、
@Override protected void onComponentTag(ComponentTag tag) { super.onComponentTag(tag); if (getIndex() % 2 != 0) { tag.put("class", "pure-table-odd"); } }
から継承する新しいクラスを作成できます。