PB 電子会議室

コメント

発言No. 更新日 題名(クリックすると発言内容と関連するコメントが表示されます)
15705 01/07/06 17:15:46 RE(1):PB5.0.03: ネスティッドレポートのあるDWで最終ページに飛ぶには By hatoiru
10966 00/04/07 11:28:18 PB5.0.03: ネスティッドレポートのあるDWで最終ページに飛ぶには By yamasin

カテゴリ:PowerBuilderの開発環境
日付:2001年07月06日 17:15 発信者:hatoiru
題名:RE(1):PB5.0.03: ネスティッドレポートのあるDWで最終ページに飛ぶには

yamasinさん、こんにちは。
yamasinさんへのレスとしては大変遅くなってしまいますが、同様の処理で悩んでいる方に読んで
頂けると幸いです。

>ネスティッドレポートのあるDWを使用しています。
>Window上にページ繰りボタンを設置して
>そのDWのページ操作をしようと思うのですが、
>最終ページに飛ぶ方法を思い付きません。

普通のDWをプレビューしたものを最終ページに飛ばす場合、
long ll_row, ll_prev_row
do 
 ll_prev_row = ll_row
 ll_row = dw_1.ScrollNextPage()
loop until ll_row = ll_prev_row or ll_row <= 0

で大丈夫だと思うのですが、ネスティッドレポートの場合 ScrollNextPage関数は思ったとおり
の値を戻してくれません。(恐らくネスティッドレポートそのものの先頭行を取得している)

そこで、ネスティドレポートのDW上に Page関数と Pagecount関数の式を配置して、
ページ数がページカウント数になるまで、 ScrollNextPageを繰り返します。
long ll_page, ll_pagecnt

ll_page    = long(dw_1.getitemstring(1, \"page\"))    //\"page\"->DW上のPage関数式カラム
ll_pagecnt = long(dw_1.getitemstring(1, \"pagecnt\")) //\"pagecnt\"->DW上のPagecount関数式カラム

do
 dw_1.ScrollNextPage()
 ll_page    = long(dw_1.getitemstring(1, \"page\"))
loop until ll_page = ll_pagecnt or ll_page <= 0

単純な方法なのですが、ScrollNextPage関数にこだわってしまうと、なかなか思いつかないものです。
私もたどり着くまで、ずいぶん時間が掛かってしまいました。

付加情報:

PowerBuilder Version (記載なし)

Client SoftWare

OS (記載なし)
DBMS (記載なし)
Browser (記載なし)

Server SoftWare

OS (記載なし)
DBMS (記載なし)
WebServer (記載なし)

PowerSpaceの運営は、パワーフューチャー株式会社が行っております。
Copyright © 2013 Power Future Co., Ltd.