【发布时间】:2021-11-27 11:32:37
【问题描述】:
这是我的数据库列表视图代码
Sub fillsview()
Try
ListView1.Items.Clear()
'Safe in SQL iNJECT'
objcmd = New MySql.Data.MySqlClient.MySqlCommand("SELECT * FROM tbl_pcperipherals", objconn)
'Unsafe Vulnerable in SQL INJECT'
'strsql = "SELECT * FROM tbl_pcperipherals"'
'objcmd = New MySql.Data.MySqlClient.MySqlCommand(strsql, objconn)'
objdr = objcmd.ExecuteReader
While (objdr.Read)
With ListView1.Items.Add(objdr("ProductID"))
.SubItems.add(objdr("ProductName"))
.subitems.add(objdr("ProductBrand"))
.subitems.add(objdr("ProductCategory"))
.subitems.add(objdr("ProductQuantity"))
.subitems.add(objdr("ProductDescription"))
.subitems.add(objdr("ProductManufacturer"))
.subitems.add(objdr("Stock"))
.subitems.add(objdr("Supplier"))
.subitems.add(objdr("ContactNo"))
End With
End While
objcmd.Dispose()
objdr.Close()
Catch ex As Exception
MsgBox(ex.Message)
Me.fillsview()
End Try
End Sub
这是我的打印按钮代码
Private Sub btnprint_Click(sender As Object, e As EventArgs) Handles btnprint.Click
PrintPreviewDialog1.Document = PrintDocument1
PrintPreviewDialog1.ShowDialog()
With PrintDocument1
.PrinterSettings.DefaultPageSettings.Landscape = False
.Print()
End With
End Sub
这是我的打印页面代码
Private Sub PrintDocument1_PrintPage(sender As Object, e As Printing.PrintPageEventArgs) Handles PrintDocument1.PrintPage
Dim H As Integer = 0
H = 50
e.Graphics.DrawString("PRINT", New Drawing.Font("Times New Roman", 10), Brushes.Black, 50, H)
For Each Itm As ListViewItem In ListView1.Items
e.Graphics.DrawString(Itm.Text, New Drawing.Font("Times New Roman", 10), Brushes.Black, 50, H)
e.Graphics.DrawString(Itm.SubItems(0).Text, New Drawing.Font("Times New Roman", 10), Brushes.Black, 150, H)
e.Graphics.DrawString(Itm.SubItems(1).Text, New Drawing.Font("Times New Roman", 10), Brushes.Black, 150, H)
e.Graphics.DrawString(Itm.SubItems(2).Text, New Drawing.Font("Times New Roman", 10), Brushes.Black, 150, H)
e.Graphics.DrawString(Itm.SubItems(3).Text, New Drawing.Font("Times New Roman", 10), Brushes.Black, 150, H)
e.Graphics.DrawString(Itm.SubItems(4).Text, New Drawing.Font("Times New Roman", 10), Brushes.Black, 150, H)
e.Graphics.DrawString(Itm.SubItems(5).Text, New Drawing.Font("Times New Roman", 10), Brushes.Black, 150, H)
e.Graphics.DrawString(Itm.SubItems(6).Text, New Drawing.Font("Times New Roman", 10), Brushes.Black, 150, H)
e.Graphics.DrawString(Itm.SubItems(7).Text, New Drawing.Font("Times New Roman", 10), Brushes.Black, 150, H)
e.Graphics.DrawString(Itm.SubItems(8).Text, New Drawing.Font("Times New Roman", 10), Brushes.Black, 150, H)
e.Graphics.DrawString(Itm.SubItems(9).Text, New Drawing.Font("Times New Roman", 10), Brushes.Black, 150, H)
H += 20
Next
End Sub
当我点击并且打印预览显示所有文本时的问题是在同一个地方我希望你能帮我解决这个问题。
【问题讨论】:
-
所以我需要更改其他 150 个以不具有相同的位置?
-
对不起,不,如果您希望输出在不同的行上,则需要在每个 Drawstring 处更改 H