Reputation: 87
I am trying to print the above receipt using vb.net. However, as seen in the image, the amount figure appears on a new line. What am I doing wrong?
Below is the code I use:
Private Sub PrintDocument1_PrintPage(sender As Object, e As PrintPageEventArgs) Handles PrintDocument1.PrintPage
Dim offset As Integer = 15
Dim itemdesc As String = "Item".PadRight(30)
Dim Pricedesc As String = "Price".PadRight(8)
Dim qtydesc As String = "Qty".PadRight(5)
Dim amtdesc As String = "Amount"
Dim descline As String = itemdesc + Pricedesc + qtydesc + amtdesc
e.Graphics.DrawString(descline, New Font("Courier New", 8, FontStyle.Regular), Brushes.Black, 25, 100 + offset)
offset += 10
Dim startx As Integer = 25
Dim starty As Integer = 100
Dim font As New Font("Courier New", 8, FontStyle.Regular)
Dim item As String
Dim price As String
Dim qty As String
Dim amount As String
Dim productline As String
For k As Integer = 0 To dgvSales.RowCount - 2
item = dgvSales.Rows(k).Cells(1).Value.ToString.PadRight(30)
price = dgvSales.Rows(k).Cells(3).Value.ToString.PadRight(8)
qty = dgvSales.Rows(k).Cells(4).Value.ToString.PadRight(5)
amount = dgvSales.Rows(k).Cells(5).Value.ToString
productline = item + price + qty + amount
e.Graphics.DrawString(productline, font, Brushes.Black, startx, starty + offset)
offset += 20
Next
End Sub
Upvotes: 0
Views: 6974
Reputation: 2655
There are three possibilities:
Trim()
the value before joining the values.Trim()
, this time on the variable amount
before joining the values.Upvotes: 1