嗨,我在 vb.net 上列印輸出時遇到問題,我的想法已經用完了。我希望你能幫助我。這是我的代碼:
If ComboBox1.Text = "Sampled" Then
For i As Integer = 0 To DataGridView1.RowCount - 1
If DataGridView1.Item(0, i).Value = "True" Then
Dim ContainerNo = DataGridView1.Item(18, i).Value
Dim TotalContainer = DataGridView1.Item(19, i).Value
'e.Graphics.DrawImage(image:=myBitmap2, point:=New Point(110, 40))
e.Graphics.DrawString("SAMPLED", font3, Brushes.Black, 120, 70)
e.Graphics.DrawString("CONTAINER No:________________OF________________", font1, Brushes.Black, 90, 140)
e.Graphics.DrawString("REMARKS:_______________________________________", font1, Brushes.Black, 90, 160)
e.Graphics.DrawString("SAMPLED BY:", font1, Brushes.Black, 170, 220)
e.Graphics.DrawString("____________________", font1, Brushes.Black, 155, 235)
e.Graphics.DrawString("QC SAMPLER/DATE", font1, Brushes.Black, 160, 250)
e.Graphics.DrawString(ContainerNo, font1, Brushes.Black, 190, 138)
e.Graphics.DrawString(TotalContainer, font1, Brushes.Black, 280, 138)
e.Graphics.DrawString(TextBox12.Text, font1, Brushes.Black, 160, 158)
' e.HasMorePages = True
index = 1
If index <= x Then
e.HasMorePages = True
MessageBox.Show("True")
Else
e.HasMorePages = False
MessageBox.Show("false")
End If
End If
Next
這是我現在的輸出

我希望我的輸出是這樣的
第 1 頁:2 of 3(2 基于 Dim ContainerNo = DataGridView1.Item(18, i).Value)和(3 來自 Dim TotalContainer = DataGridView1.Item(19, i).Value)
第 2 頁:第 3 頁,共 3 頁
可悲的是,我現在的當前輸出是 containerNo:2 和 containerNo:3 在兩個頁面上相互重疊,我希望你能幫助我
uj5u.com熱心網友回復:
洗掉回圈。該函式可以在單個列印作業中多次呼叫(HasMorePages控制是否再次呼叫)。每次呼叫時,您只列印一頁資料。
Dim i As Integer = index
If ComboBox1.Text = "Sampled" AndAlso DataGridView1.Item(0, i).Value = "True" Then
Dim ContainerNo = DataGridView1.Item(18, i).Value
Dim TotalContainer = DataGridView1.Item(19, i).Value
e.Graphics.DrawString("SAMPLED", font3, Brushes.Black, 120, 70)
e.Graphics.DrawString("CONTAINER No:________________OF________________", font1, Brushes.Black, 90, 140)
e.Graphics.DrawString("REMARKS:_______________________________________", font1, Brushes.Black, 90, 160)
e.Graphics.DrawString("SAMPLED BY:", font1, Brushes.Black, 170, 220)
e.Graphics.DrawString("____________________", font1, Brushes.Black, 155, 235)
e.Graphics.DrawString("QC SAMPLER/DATE", font1, Brushes.Black, 160, 250)
e.Graphics.DrawString(ContainerNo, font1, Brushes.Black, 190, 138)
e.Graphics.DrawString(TotalContainer, font1, Brushes.Black, 280, 138)
e.Graphics.DrawString(TextBox12.Text, font1, Brushes.Black, 160, 158)
End If
'Make sure index is declared OUTSIDE THE METHOD
index = 1
e.HasMorePages = index <= DataGridView1.RowCount - 1
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/491795.html
