-- 作者:riancel
-- 发布时间:2013/10/30 15:28:00
-- 疯啦,报表打出来都是横向的,不管是true还是false,???
那个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( "本张票据已打印过,或学生姓名有误!" ,"警告",MessageBoxButtons.ok, MessageBoxIcon.warning) End If e.Form.Controls("textinput").Select()
[此贴子已经被作者于2013-10-30 15:32:59编辑过]
|