古川 烈
r_f_315****@hotma*****
2008年 8月 6日 (水) 09:52:16 JST
古川です、 色々試してみました。 沖野様のおっしゃるとおり ListViewのネストで対応できました。 DataTableの方あまり追えていないので、間違っているかもしれませんが、 最終的に表示されている一レコードは「Contact」クラスだと思うのですが、 サンプルではContactクラスの保持するメンバフィールドが、 リフレクションか何かで判断されて出力されているような気がします。 フィールドを追加すると列が増えましたし、getterを書き換えてもスルーされフィールドの保持値が表示されました。 (全然違ったらごめんなさい) なので、 実行中にJavasistなどで「Contact」クラスのメンバを無理やり追加したりするような方法しか 列を可変長にする方法が自分には思いつきませんでした。 (ものすごく見当違いなことを言っているかもしれません。。。) もしよろしかったら、DataTableのサンプルを元に列を可変長にする方法をご教示いただけませんでしょうか? Date: Mon, 4 Aug 2008 14:22:04 +0900 From: shiny****@gmail***** To: wicke****@lists***** Subject: [Wicket-ja-user 200] Re: 列、行ともに可変の縦横に伸びる表について 沖野と申します。 第一回Wicket勉強会楽しかったです。 また機会があれば参加したいと思います。 >このようなテーブルを動的に作成する場合、どのような作成方法があるのでしょうか? ListViewを重ねる方法ではどうでしょうか。 html側 <table> <tr wicket:id="rows"> <td wicket:id="cells"><wicket:container wicket:id="label"></wicket:container></td> </tr> </table> Java側 add(new ListView("rows", list) { @Override protected void populateItem(ListItem item) { item.add(new ListView("cells", list) { @Override protected void populateItem(ListItem item) { item.add(new Label("label", ...)); } }); } }); 内側のListViewの繰り返しで列の長さを変えられます。 もしくはwicket-extensionsのDataTableを使うという手があると思います。 -- 沖野信也 shiny****@gmail***** _________________________________________________________________ 2008年8月 暑い夏を快適に過ごす裏ワザ。MSN相談箱で探してみよう! http://questionbox.jp.msn.com/search.php3?StatusCheck=ON&search_type=word&kw=%8F%8B%82%B3%91%CE%8D%F4 -------------- next part -------------- HTMLの添付ファイルを保管しました... Télécharger