public Page(){
List<IColumn<Score>> columns = new ArrayList<IColumn<Score>>();
columns.add(new PropertyColumn<Score>(new Model<String>("打順"), "order"){
public String getCssClass() {
return "orderClass";
}
});
add(new AjaxFallbackDefaultDataTable<Score>(
"scores", columns
, new ScoreDataProvider(), 10
));
こんな感じで、カラムのgetCssClassをオーバーライドして適当な値を返せばthタグのclassとして出力されるので、スタイルシートで
th.orderClass{ width: 20%}
ってやっとけば幅を指定できる。前回のコードからわかるように、Columnは実際にはthやtdの下に位置するんだけど、getCssClassが返す結果はthやtdに反映される。
前回のと同じ結果ではないけど、はるかにシンプルにできるので、わざわざ前回のコンポーネント階層を辿るより全然良い。
0 件のコメント:
コメントを投稿