[Seasar-user:16048] Re: [Teeda]foreachで、Listに格納した1つのDtoをrowspanで表示したい
Koichi Kobayashi
[E-MAIL ADDRESS DELETED]
2008年 10月 17日 (金) 19:00:07 JST
小林 (koichik) です.
Date: Fri, 17 Oct 2008 18:03:35 +0900
From: [E-MAIL ADDRESS DELETED]
To: [E-MAIL ADDRESS DELETED]
Subject: [Seasar-user:16045] [Teeda]foreachで、Listに格納した1つのDtoをrowspanで表示したい
> Pageに持たせたList、〜ItemsにDtoを持っているとき、
> その1つのDtoを、foreachでrowspan指定して表示したいです。
(略)
> Teedaのサイトやteeda-html-exampleによると、
> 上記の表をrowspanで表示するには、Listの要素は5個必要です。
> これを、2個のDtoで表示したいです。
図は [Seasar-user:16045] より [Seasar-user:16046] の
> ------------------------
> | win | PC |
> 1 |-------|-------|.....
> | xp | hp |
> ------------------------
> | win | note |
> 2 |-------|-------|.....
> | 2000 | nec |
> ------------------------
が正しいということでいいのでしょうか?
つまり,Dto 1 インスタンスに付き 2 行で
固定ということでいいのでしょうか?
また,列については固定でしょうか?
それとも可変でしょうか?
Dto がネストしているのでなければ
固定だと思いますが,もし 1 件 2 行固定で
いいなら,
<tbody id="xxxItems">
<tr>
<td rowspan="2"><span id="number"></span></td>
<td><span id="product1"></span></td>
<td><span id="product3"></span></td>
</tr>
<tr>
<td><span id="product2"></span></td>
<td><span id="product4"></span></td>
</tr>
</tbody>
みたいな.
列も可変 (Dto のプロパティが List とか) の場合は
外側の Dto に
public List<NestedDto> getOddItems() {
List<NestedDto> list = new List<NestedDto>();
for (int i = 0; i < xxx.size(); ++i) {
if (i % 2 == 0) {
list.add(xxx.get(i));
}
}
return list;
}
public List<NestedDto> getEvenItems() {
// ほぼ同上
}
としておいて,Page クラスに
public List<NestedDto> oddItems;
public List<NestedDto> evenItems;
HTML は
<tbody id="xxxItems">
<tr>
<td rowspan="2"><span id="number"></span></td>
<div id="oddItems">
<td><span id="xxx-odd"></span></td>
</div>
</tr>
<tr id="evenItems">
<td><span id="xxx-even"></span></td>
</tr>
</tbody>
のようにすれば何とかなるんじゃないかと.
<div> が不正な位置にあるのがアレですが.
--
<component name="koichik">
<property name="fullName">"Koichi Kobayashi"</property>
<property name="email">"[E-MAIL ADDRESS DELETED]"</property>
<property name="blog">"http://d.hatena.ne.jp/koichik"</property>
</component>
Seasar-user メーリングリストの案内