PB 電子会議室

コメント

発言No. 更新日 題名(クリックすると発言内容と関連するコメントが表示されます)
8632 99/10/07 19:40:52 RE(9):PB6.5: 現行ページのみ印刷>訂正と最新報告 By Taka
8464 99/10/01 00:31:21 RE(8):PB6.5: 現行ページのみ印刷する場合の問題>なんとかできました By リエッチ
8460 99/09/30 18:24:07 RE(7):PB6.5: 現行ページのみ印刷する場合の問題>なんとかできました By Taka
8458 99/09/30 17:53:05 RE(6):PB6.5: 現行ページのみ印刷する場合の問題>なんとかできました By リエッチ
8451 99/09/30 14:34:28 RE(5):PB6.5: 現行ページのみ印刷する場合の問題>なんとかできました By Taka
8449 99/09/30 14:18:45 RE(4):PB6.5: 計算フィールドでページ番号を求める方法 By Taka
8441 99/09/30 12:40:22 RE(3):PB6.5: 計算フィールドでページ番号を求める方法 By リエッチ
8432 99/09/30 02:16:59 RE(2):PB6.5: 現行ページのみ印刷する場合の問題 By Taka
8431 99/09/30 00:01:57 RE(1):PB6.5: 現行ページのみ印刷する場合の問題 By リエッチ
8414 99/09/29 18:49:47 PB6.5: 現行ページのみ印刷する場合の問題 By Taka

カテゴリ:印刷処理
日付:1999年10月07日 19:40 発信者:Taka
題名:RE(9):PB6.5: 現行ページのみ印刷>訂正と最新報告

こんばんは。Takaです。今更ナンですが、一部訂正&報告です。

【訂正】
コンポジットを使っている場合、先の方法ではうまくできないことが解りました。(汗)
(VerticalScrollPositionプロパティが拾えないんです)
前回いろいろなスクリプトで実験していたので、整理せずに報告していまいました。m(_ _)m

よく考えたら、コンポジットの場合は「グループが変わったらページ番号リセット」などありません。
よって、当初の describe(\"evaluate(\'page()\',0)\") だけでOKでした。


【最新報告】
先の強引な方法でやらねばならないのは、「グループが変わったらページ番号リセット」している時だけです。
結局こうなりました。

// 現在のページのみ印刷するサンプル
integer li_vpos, li_page

if Pos( dw_x.object.Datawindow.Syntax, \"resetpagecount=yes\" ) = 0 then
 // グループ改ページなし(コンポジット含む)
 li_page = Integer( dw_x.describe(\"evaluate(\'page()\',\" + string(dw_x.GetRow()) + \")\") )
else
 // グループ改ページあり
 dw_x.SetRedraw(false)
 li_vpos = integer(dw_x.object.Datawindow.VerticalScrollPosition)
 dw_x.ScrollToRow(0)
 li_page = 1
 do until integer(dw_x.object.Datawindow.VerticalScrollPosition) >= li_vpos
  dw_x.ScrollNextPage()
  li_page ++
 loop
 dw_x.SetRedraw(true)
end if

dw_x.object.Datawindow.Print.Page.Range = string(li_page)
dw_x.Print()


以上、お騒がせいたしました。

付加情報:

PowerBuilder Version (記載なし)

Client SoftWare

OS Windows NT 4.0
DBMS Oracle SQL*Net 2.3
Browser (記載なし)

Server SoftWare

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

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