PB 電子会議室

コメント

発言No. 更新日 題名(クリックすると発言内容と関連するコメントが表示されます)
834 98/03/12 18:09:59 RE(6):うまくいってよかったですね。 By manabu
822 98/03/12 11:58:53 RE(5):「RowCount()がグループ数を返す」は勘違いでした By てとらぽっと
821 98/03/12 11:48:48 RE(4):ちょっとトリッキーで簡単な総ページ数の求め方 By てとらぽっと
805 98/03/11 11:07:49 RE(3):ちょっとトリッキーで簡単な総ページ数の求め方 By manabu
796 98/03/10 14:12:13 RE(2):グループごとにページ番号をリセットした場合の総ページ? By てとらぽっと
792 98/03/10 13:10:36 RE(1):DWの印刷プレビューの総ページ数が得られない By 工藤
787 98/03/10 11:54:55 DWの印刷プレビューの総ページ数が得られない By てとらぽっと

カテゴリ:旧電子会議室
日付:1998年03月10日 11:54 発信者:てとらぽっと
題名:DWの印刷プレビューの総ページ数が得られない

データウィンドウを印刷プレビューで表示/印刷するとき、
総ページ数をうまく得られずに悩んでいます。

現状は以下のようにして総ページ数をカウントしています。
しかしこの方法では、グループごとにページ番号をリセットした場合、
RowCount()がグループ数を返してしまため、
最後のグループの1ページ目までしかカウントできません。


integer ii_LastPage //最終ページ
long ll_TopRowOnPage
long ll_bak = 1

dw_prev.ScrollToRow( 0 )
ii_LastPage = 1

if 1 = Integer(dw_prev.Object.DataWindow.Print.Columns) then
 //行の最後までスクロールしたページ数をカウント
 //◆この質問ではここが問題です◆
 DO WHILE ( Long(dw_prev.Describe(\"DataWindow.LastRowOnPage\")) < dw_prev.RowCount() )
  dw_prev.ScrollNextPage()
  ii_LastPage ++
 LOOP
else
 //ただし段組み(印刷時)を使っていると LastRowOnPage が 正確な値を返さないので
 DO WHILE True
  ll_TopRowOnPage = dw_prev.ScrollNextPage()
  if ll_bak = ll_TopRowOnPage  OR  1 > ll_TopRowOnPage then EXIT
  ll_bak = ll_TopRowOnPage
  ii_LastPage ++
 LOOP
end if


最後のページだと判断できるいい方法ありませんか?
もしくは、直接総ページ数が得られるようなファンクションやプロパティってあるのでしょうか?(^^;
ご存知の方、よろしくお願いします。

付加情報:

PowerBuilder Version (記載なし)

Client SoftWare

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

Server SoftWare

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

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