那个sflist 收费中“窗口”中的的三联打印,出来都是横向的
纸张都是设好的,宽210,高140,纵向,看看文件,测试一下
谢谢
此主题相关图片如下:bbb.jpg
报表的代码是这样的:
If Tables( "sflist" ).current ( "print" ) <> "已打印" And Tables( "sflist" ).current ( "sname" ) <> Nothing Then
Dim doc As New PrintDoc '定义一个报表
doc.PageSetting.Width = 210 '纸张宽度为210毫米
doc.PageSetting.Height = 140 '纸张高度为140毫米
doc.AutoRotate = False '禁止自动旋转打印内容这个地方我false也试过
doc.PageSetting.Landscape = True '横向打印这个地方我false也试过
Doc.PageSetting.LeftMargin = 10 '设置左边距
Doc.PageSetting.RightMargin = 10 '设置右边距
Doc.PageSetting.TopMargin = 20 '设置上边距
Doc.PageSetting.BottomMargin = 2 '设置下边距
Dim rx As prt.RenderText '定义一个文本对象
Dim x As Integer = 0 '定义水平偏移参数
Dim y As Integer = 0 '定义垂直偏移参数
Dim Sum As Integer
Dim i As Integer
For i = 1 To 3
Dim CurRow As Row = Tables("sflist").Current
'---------------------------------------------打印姓名
rx = New prt.RenderText
rx.Text = CurRow("sname")
rx.X = 10 + x '设置坐标的时候,注意加上偏移参数
rx.Y = 10 + y
doc.body.Children.Add(rx)
'---------------------------------------------打印学号
rx = New prt.RenderText
rx.Text = CurRow("sid")
rx.X = 30 + x '设置坐标的时候,注意加上偏移参数
rx.Y = 10 + y
doc.body.Children.Add(rx)
'---------------------------------------------打印金额
rx = New prt.RenderText
rx.Text = CurRow("money")
rx.X = 20 + x '设置坐标的时候,注意加上偏移参数
rx.Y = 50 + y
doc.body.Children.Add(rx)
'---------------------------------------------打印大写金额
rx = New prt.RenderText
rx.Text = CUmoney(CurRow("money"))
rx.X = 20 + x '设置坐标的时候,注意加上偏移参数
rx.Y = 60 + y
doc.body.Children.Add(rx)
'---------------------------------------------打印收款人额
rx = New prt.RenderText
rx.Text = CurRow("sfr")
rx.X = 40 + x '设置坐标的时候,注意加上偏移参数
rx.Y = 70 + y
doc.body.Children.Add(rx)
'---------------------------------------------打印收费日期
rx = New prt.RenderText
rx.Text = CurRow("sdate")
rx.X = 20 + x '设置坐标的时候,注意加上偏移参数
rx.Y = 80 + y
doc.body.Children.Add(rx)
'生成三个列
x = x + 50
Next
Doc.Preview() '预览报表
Tables("sflist").Current.Save()
With Tables("sflist").Current '引用当前行
If .IsNull("sid") = False Then '如果已经输入结账日期
.Locked = True '那么锁定此行
Tables("sflist").current ( "print" ) = "已打印"
End If
End With
Tables("sflist").Addnew
Else
MessageBox.Show( "本张piao据已打印过,或学生姓名有误!" ,"警告",MessageBoxButtons.ok, MessageBoxIcon.warning)
End If
e.Form.Controls("textinput").Select()
[此贴子已经被作者于2013-10-30 15:32:59编辑过]