[Seasar-user:16042] Re: [DBFlute]rowspanを使用した一覧のページングは可能でしょうか
kubo
[E-MAIL ADDRESS DELETED]
2008年 10月 17日 (金) 17:28:31 JST
久保(jflute)です。
よかったぁ。。。
>> で、問題としているのは、取得したPagingResultBeanの
>> 計算結果を画面上でそのまま利用したいけど、
>> rowspan周りの解決があるため、Teedaでの展開が難しく
>> どうしたら良いか?ということであってます?
> あってます!
で、結局ごめんなさい。
「A」の方の話であれば、自分からアドバイスできること
がありません。Teedaの細かい使い方を把握していないもので。
ただ言えることは、この問題はページングはあまり関係ない
かと思うのですがこれは意識合ってます?
焦点は、オブジェクト構造をHTMLテーブルで
rowspanを使ってどうやって以下のように展開するか!?
なので。。。
例)
--------------
| aaa
1 |--------
| bbb
--------------
| ccc
|--------
2 | ddd
|--------
| bbb
--------------
2008/10/17 <[E-MAIL ADDRESS DELETED]>:
> 久保さん
>
>> 今回の状況は上記の「A」と考えてよろしいですか?
> はい!
>
>> で、問題としているのは、取得したPagingResultBeanの
>> 計算結果を画面上でそのまま利用したいけど、
>> rowspan周りの解決があるため、Teedaでの展開が難しく
>> どうしたら良いか?ということであってます?
> あってます!
>
> こちらこそ、ズバッとお伝えできず恐縮です。
> 私の最初の前提と、示したサンプルがまずかったです。
> 海野
>
>
> 引用 kubo <[E-MAIL ADDRESS DELETED]>:
>
>> 久保(jflute)です。
>>
>> >> ページングの軸にしたい「ABC」は、
>> >> DBの検索結果上はユニークでしょうか?
>> > はい、ユニークです。
>> おお、了解です。
>>
>> A.
>> 検索の基点テーブルが画面上のページングの基点になる場合
>> B.
>> 検索の基点テーブルと画面上のページングの基点が異なる場合
>>
>> と二つの状況があるのですが、
>> 「DBの検索結果上はユニーク =
>> 基点テーブル」と考えていいので、
>> 今回の状況は上記の「A」と考えてよろしいですか?
>>
>> で、問題としているのは、取得したPagingResultBeanの
>> 計算結果を画面上でそのまま利用したいけど、
>> rowspan周りの解決があるため、Teedaでの展開が難しく
>> どうしたら良いか?ということであってます?
>>
>> 確認が長く申し訳ありませんが、
>> 状況が「A」なのか「B」なのかがハッキリしなかったため、
>> 確認をさせて頂きました。
>>
>>
>> 2008/10/17 <[E-MAIL ADDRESS DELETED]>:
>> > 久保さん
>> >
>> >> ページングの軸にしたい「ABC」は、
>> >> DBの検索結果上はユニークでしょうか?
>> > はい、ユニークです。
>> > 「ABC」のPKで取得します。
>> >
>> > 海野
>> >
>> >
>> > 引用 kubo <[E-MAIL ADDRESS DELETED]>:
>> >
>> >> 久保(jflute)です。
>> >>
>> >> すいません、質問を変えます。
>> >>
>> >> ページングの軸にしたい「ABC」は、
>> >> DBの検索結果上はユニークでしょうか?
>> >>
>> >> ちなみに基点と考えるテーブルから親テーブルが
>> >> あるか無いかはあまり関係はありません。
>> >>
>> 子テーブルがあって、それをどのように取得しているか
>> >> が重要なポイントになります。
>> >>
>> >>
>> >> 2008/10/17 <[E-MAIL ADDRESS DELETED]>:
>> >> > 久保さん
>> >> >
>> >> >> 多重度は「ABC:DEF != 1:n」ということですね!?
>> >> > そうですね。「ABC:DEF =
>> >> 1:n」に限らないということです。
>> >> >
>> >> >> 「ABC」や「DEF」の多重度はどうなります?
>> >> >> (またその他GHIやJKLとかも)
>> >> > 先ほど大家族と書いたように、親も子もいます。
>> >> > その親に紐づいた子もいます。
>> >> >
>> >> >
>> >>
>> うーん、、ER図をお見せできないのがもどかしいです。。
>> >> > 海野
>> >> >
>> >> >
>> >> > 引用 kubo <[E-MAIL ADDRESS DELETED]>:
>> >> >
>> >> >> 久保(jflute)です。
>> >> >>
>> >> >> >> 多重度は「ABC:DEF = 1:n」
>> >> >> >> だと思いましたが合ってます?
>> >> >> > 違います。説明がヘタですみません。。。
>> >> >>
>> >> >> あ、ごめんなさい。
>> >> >> 「違います」ということなので、
>> >> >> 多重度は「ABC:DEF != 1:n」ということですね!?
>> >> >>
>> >> >> >
>> >> >>
>> >>
>> 「ABC」が基点になるというのは意識が同じようですね。
>> >> >>
>> と言っても、多重度の認識が違うので無意味でした。
>> >> >>
>> >> >> 「ABC」や「DEF」の多重度はどうなります?
>> >> >> (またその他GHIやJKLとかも)
>> >> >>
>> >> >> #
>> >> >> #
>> >> >>
>> >>
>> 多重度が何なのかによって全然話が変わってくるので...
>> >> >> #
>> >> >>
>> >> >> 2008/10/17 kubo <[E-MAIL ADDRESS DELETED]>:
>> >> >> > 久保(jflute)です。
>> >> >> >
>> >> >> > 了解です。
>> >> >> >
>> >> >>
>> >>
>> 「ABC」が基点になるというのは意識が同じようですね。
>> >> >> >
>> >> >> >> 「GHI」「JKL」などいろんなテーブルを連結して
>> >> >> >
>> >> >>
>> >>
>> これらは「ABC」とは「1:n」関係(子供)のテーブルになります?
>> >> >> > それとも「n:1」関係(親)でしょうか?
>> >> >> >
>> >> >> > 2008/10/17 <[E-MAIL ADDRESS DELETED]>:
>> >> >> >> 久保さん
>> >> >> >>
>> >> >> >>> 多重度は「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 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 mailing list
> [E-MAIL ADDRESS DELETED]
> https://ml.seasar.org/mailman/listinfo/seasar-user
>
Seasar-user メーリングリストの案内