ClickBBS二日目
そんなこんなで二日目。
前日は入力部分を完成させました。
というわけで残りは、結果表示画面
ここで困ったことが一点
一件分の記事を、テーブルとして、
それを1セルとするような記事全体のテーブルとしたい。
というわけで、Tableのカラムをテーブルにしたいわけです。
<table> <tr> <td> <table> 一件分の記事テーブル </table> </td> </table>
こんな感じ。
なぜかというと、外側のテーブルでページングを実現したいから・・・
というわけで考えたコードがこれ。
Table outerTable = new Table("parent"); public BbsPage(){ //中略 //テーブル outerTable.addColumn(new Column("child")); outerTable.setPageSize(1); //isi,its,mars,simple,nocol,report outerTable.setAttribute("class", "isi"); addControl(outerTable); } @Override public void onRender() { List<Map> articleTableList = new ArrayList<Map>(); for (Iterator iter = articles.iterator(); iter.hasNext();) { Article article = (Article) iter.next(); Table table = new Table("child"); table.addColumn(new Column("name")); table.addColumn(new Column("message")); List<Article> list = new ArrayList<Article>(); list.add(article); table.setRowList(list); Map<String, Table> map = new HashMap<String, Table>(); map.put("child", table); articleTableList.add(map); } outerTable.setRowList(articleTableList); }
子のテーブルがレンダリングされませんToT
まぁ別枠で記事リストをmodelに追加して、
#foreach($article in $resultList) <table> <tr> <td>たいとる</td> <td>$article.getTitle()</td> </tr> <tr> <td>名前</td> <td>$article.getName()</td> </tr> <tr> <td>メール</td> <td>$article.getEmail()</td> </tr> <tr> <td>内容</td> <td>$article.getMessage()</td> </tr> </table> <br> #end
とすれば、それっぽくはなるんだけど、
ページングがね・・・
Tableのスタイル
はとりあえず
isi,its,mars,simple,nocol,report
があるようです。
他にもあるかもね(^^;