- PR -

PrintDocument−改頁について

1
投稿者投稿内容
超初心者
会議室デビュー日: 2003/10/31
投稿数: 1
投稿日時: 2003-10-31 12:13
汎用系プログラムから、VB.NETを勉強中の超初心者です。

下記のようなコードで、e.HasMorePages = True にするとDo〜Loopを一度抜けないと
改頁できません。結果、”Table2”がEOFになっていない場合でも、再度Do〜Loopへ
入った時にレコード位置がずれてしまい意図しない出力結果になってしまいます。

Helpや、ネットで調べてみたりしたのですが、他に改頁する方法がわかりません。
CrystalReportsやサードパーティを使用せずにPrintDocumentで改頁したいのです。
どなたか、ご教授のほどよろしくお願い致します。


Private Sub PrintDocument1_PrintPage(ByVal sender As Object _
, ByVal e As System.Drawing.Printing.PrintPageEventArgs _
) Handles PrintDocument1.PrintPage

Do While (drTable1.Read())

cmdTabel2.Parameters.Clear()
cmdTable2.Parameters.Add("Table2", drTable1("顧客コード"))
drTable2 = cmdTable2.ExecuteReader

Do While (drTable2.Read())

'明細プリント
e.Graphics.DrawString(Meisai, PrintFont, Brushes.Black, _
LeftMargin, ypos, New StringFormat)
ypos = ypos + LineHeight

'改頁
If ypos >= 673 Then
e.HasMorePages = True
Exit Sub
End If

Loop
Loop
End Sub
1

スキルアップ/キャリアアップ(JOB@IT)