[Seasar-user:16032] Re: [DBFlute]rowspanを使用した一覧のページングは可能でしょうか

[E-MAIL ADDRESS DELETED] [E-MAIL ADDRESS DELETED]
2008年 10月 17日 (金) 16:05:27 JST


久保さん

> 多重度は「ABC:DEF = 1:n」
> だと思いましたが合ってます?
違います。説明がヘタですみません。。。

私も基点は「ABC」で考えてます。
で、「DEF」だけでなく、「ABC」と関連づいた
「GHI」「JKL」などいろんなテーブルを連結して、
情報として「ABC」を基点とした1行のレコードにします。
その1行を、Teeda(HTML)側で、rowspan指定して
2段や3段で表示したいです。

それが出来れば、DBFluteのPagingResultBeanがそのまま
利用できると思っています。
(その2段や3段に表示したものを、ページング処理としては
 1行で扱えると。)

(最初のサンプルは、このようなことが出来ないと思っていまして
 「Teedaのrowspanを使った表示では、各行の
  rowspanの数の合計数ぶんのListが必要」
 という前提でつくったものです。このつくりだと、
 PagingResultBeanがそのままでは利用できないと思った次第です。)

いかがでしょう、伝わりましたでしょうか。
宜しくお願い致します。
海野



引用 kubo <[E-MAIL ADDRESS DELETED]>:

> 久保(jflute)です。
> 
> 海野さん、ちょっと意識合わせをさらにさせて下さい。
> 
> > DBFluteでは、ページングはPagingResultBeanを使いますよね。
> >
> PagingResultBeanのリストの1要素が、ページングでの1件です。
> > (ここまで合ってますか?)
> 
> 合ってます。
> 
> >
> ですが、表示では、「1」「2」がそれぞれrowspan=2なので、
> > 見た目は2行です。なので、Listは4件なんだけど
> >
> 表示上のテーブルを正として2件としてページングがしたい
> > というのが要件です。
> 
> ここですね。
> 自分がイメージしたので、「1」「2」の粒度に相当する
> テーブルがあるということなので、
> 例えば、「1、2」に相当する粒度のテーブルを「ABC」
> 「aaa、bbb」に相当する粒度のテーブルを「DEF」
> として、
> 多重度は「ABC:DEF = 1:n」
> だと思いましたが合ってます?
> (ここが合ってないと話が食い違うので)
> 
> もし、上記がYESならば、
> 海野さんは検索の基点テーブルは「DEF」と
> お考えのようですが、自分は基点テーブルは「ABC」で
> いいんじゃないかと考えた次第です。
> 
> 2008/10/17  <[E-MAIL ADDRESS DELETED]>:
> > 久保さん
> >
> > ご回答ありがとうございます。
> >
> >> 想像していますが、意識合っていますでしょうか?
> >
> >
> ちょっと微妙なので、もう少し説明&確認させてください。
> >
> > DBFluteでは、ページングはPagingResultBeanを使いますよね。
> >
> PagingResultBeanのリストの1要素が、ページングでの1件です。
> > (ここまで合ってますか?)
> >
> > 一方で、HTMLは、trタグ1つがテーブルでの1行です。
> >
> Teeda(の話です。すみません、言ってませんでしたね(汗))では、
> > 行の繰り返しはtbodyタグに〜ItemsというIdを振って
> >
> Pageクラスのリストの要素数ぶん、trタグを出力しますよね。
> >
> >
> そこで、先ほどお送りしたサンプルでご説明すると、、
> >
> >
> ForeachNestPageクラスで作成しているListの要素は4つです。
> > このListは、DBFluteで検索した結果のPagingResultBean
> > を格納すると考えてください。
> >
> >
> ですが、表示では、「1」「2」がそれぞれrowspan=2なので、
> > 見た目は2行です。なので、Listは4件なんだけど
> >
> 表示上のテーブルを正として2件としてページングがしたい
> > というのが要件です。
> >
> > ここまでが私が考えついた方法です。
> > これは、「Teedaのrowspanを使った表示では、各行の
> > rowspanの数の合計数ぶんのListが必要」という前提です。
> >
> > もし、「rowspanする単位で1行」という扱いで
> > DBFluteでは検索しておいて、それをTeeda側で
> >
> 適切にrowspan指定する方法があれば、それでもかまわないのですが、、
> >
> >
> TeedaとDBFluteのどちらの件として質問すべきか迷ったのですが
> >
> やりたいことは「ページング」であったため、DBFlute扱いで
> > 質問させていただいた次第です。
> > でも、Teedaの質問とするべきかもしれませんね。
> >
> >>
> オブジェクトの階層構造をHTML上で要件通りの展開することに、
> >>
> PagingResultBeanだろうがListだろうかはあまり関係ないはずです。
> > なるほど。。その通りですね。
> >
> >
> 階層構造を展開するのはTeedaのネストしたループでいけるのかな
> >
> と思いますが、今回の場合、階層構造のないオブジェクトを
> >
> HTMLで階層構造のように(rowspan)表示するという感じです。
> >
> > ズバッと簡潔に質問できず恐縮です。
> > 見当つく範囲で結構ですので、宜しくお願いします。
> > 海野
> >
> >
> > 引用 kubo <[E-MAIL ADDRESS DELETED]>:
> >
> >> 久保(jflute)です。
> >>
> >> >>
> 例の「1,2」に相当する粒度のレコードを持つテーブルは
> >> >> 存在しないでしょうか?
> >> > 存在します。
> >> 了解です。ありがとうございます。
> >>
> >> ならば、検索に関しては以下のような方法を
> >> 想像していますが、意識合っていますでしょうか?
> >>
> >>
> 例えば、「1、2」に相当する粒度のテーブルを「ABC」
> >> 「aaa、bbb」に相当する粒度のテーブルを「DEF」
> >> として、
> >> 「ABC」のリストを普通にselectPage()で取得して、
> >> その直後に「DEF」をbhv.loadDef(abcList, new
> >> Xxx(){});で取得し、
> >>
> オブジェクトの階層構造とHTML上の階層構造を同じにする。
> >>
> >> >
> 添付のような感じで実装する方法しか思いつかなかったので
> >>
> >> DBFluteの検索部分の実装がなかったので、
> >> どちらかと言うと今回の質問内容は、
> >> Teeda(でいいんですよね?)でオブジェクトの階層構造を
> >> うまく解決して、TDタグのrowspan属性を利用して
> >> テーブルの見映えを良くする方法は?
> >> って質問になりますでしょうか?
> >>
> >> ちなみに
> >>
> オブジェクトの階層構造をHTML上で要件通りの展開することに、
> >>
> PagingResultBeanだろうがListだろうかはあまり関係ないはずです。
> >>
> >>
> >> 2008/10/17  <[E-MAIL ADDRESS DELETED]>:
> >> > 久保さん
> >> >
> >> > いつもお世話になってます。
> >> >
> >> >>
> 例の「1,2」に相当する粒度のレコードを持つテーブルは
> >> >> 存在しないでしょうか?
> >> > 存在します。
> >> >
> >> >
> 添付のような感じで実装する方法しか思いつかなかったので
> >> >
> Paging機能はそのまま使えないかなー、と思った次第です。
> >> >
> >> > どうぞ宜しくお願いします。
> >> > 海野
> >> >
> >> >
> >> > 引用 kubo <[E-MAIL ADDRESS DELETED]>:
> >> >
> >> >> 久保(jflute)です。
> >> >>
> >> >> 海野さん、こんにちは
> >> >> まず確認をさせてください。
> >> >>
> >> >>
> >>
> 取得したレコードを何かしらの基準でグループ分けして扱う感じでしょうか?
> >> >>
> >> >>
> 例の「1,2」に相当する粒度のレコードを持つテーブルは
> >> >> 存在しないでしょうか?
> >> >>
> >> >> 2008/10/14  <[E-MAIL ADDRESS DELETED]>:
> >> >> > 海野です。
> >> >> > いつもお世話になっております。
> >> >> >
> >> >> >
> >> >>
> >>
> HTMLのテーブルのTDタグにrowspan属性を使用した一覧表示で、
> >> >> >
> DBFluteのページング機能を利用することは可能でしょうか。
> >> >> >
> >> >> > 例)
> >> >> > --------------
> >> >> >     | aaa
> >> >> >  1  |--------
> >> >> >     | bbb
> >> >> > --------------
> >> >> >     | ccc
> >> >> >     |--------
> >> >> >  2  | ddd
> >> >> >     |--------
> >> >> >     | bbb
> >> >> > --------------
> >> >> >
> >> >>
> >>
> この場合、2行とカウントしてページング機能が利用できると嬉しいです。
> >> >> >
> >> >> > 宜しくお願い致します。
> >> >> >
> >> >> > _______________________________________________
> >> >> > Seasar-user mailing list
> >> >> > [E-MAIL ADDRESS DELETED]
> >> >> > https://ml.seasar.org/mailman/listinfo/seasar-user
> >> >> >
> >> >> _______________________________________________
> >> >> Seasar-user mailing list
> >> >> [E-MAIL ADDRESS DELETED]
> >> >> https://ml.seasar.org/mailman/listinfo/seasar-user
> >> >>
> >> >
> >> >
> >> >
> >> > _______________________________________________
> >> > Seasar-user mailing list
> >> > [E-MAIL ADDRESS DELETED]
> >> > https://ml.seasar.org/mailman/listinfo/seasar-user
> >> >
> >> >
> >> _______________________________________________
> >> Seasar-user mailing list
> >> [E-MAIL ADDRESS DELETED]
> >> https://ml.seasar.org/mailman/listinfo/seasar-user
> >>
> >
> >
> > _______________________________________________
> > Seasar-user mailing list
> > [E-MAIL ADDRESS DELETED]
> > https://ml.seasar.org/mailman/listinfo/seasar-user
> >
> _______________________________________________
> Seasar-user mailing list
> [E-MAIL ADDRESS DELETED]
> https://ml.seasar.org/mailman/listinfo/seasar-user
> 




Seasar-user メーリングリストの案内