以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 关于报表打印代码 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=5429) |
-- 作者:yzsjaq -- 发布时间:2009/12/10 15:56:00 -- 关于报表打印代码 我在设计报表打印代码时发现:doc.Preview() 和doc.Print()显示的效果不一样,前者显示的是设计所要达到的效果,而后者所显示的是缩的很小的效果,为什么,请高手帮助解决。 |
-- 作者:mr725 -- 发布时间:2009/12/10 17:29:00 -- 实际打印一下试一试,要不放个例子上来。 |
-- 作者:菜鸟foxtable -- 发布时间:2009/12/10 18:13:00 -- 专业代码还未完善。。。 |
-- 作者:yzsjaq -- 发布时间:2009/12/11 9:52:00 -- 关于报表打印代码问题 两个打印效果不一样,如: 报表打印代码1: Dim doc As New PrintDoc \'定义一个报表 Dim rt As New prt.RenderTable() \'定义一个表格对象 doc.Body.Children.Add(rt) \'将表格对象加入到报表中 rt.Style.GridLines.All = New prt.LineDef \'将网格线类型设为默认类型 rt.Width = 150 \'表宽为150毫米 rt.Height = 150 \'表高为150毫米 rt.Rows.Count = 3 \'设置行数 rt.Cols.Count = 3 \'设置列数 doc.Preview() \'预览 报表打印代码2: Dim doc As New PrintDoc \'定义一个报表 Dim rt As New prt.RenderTable() \'定义一个表格对象 doc.Body.Children.Add(rt) \'将表格对象加入到报表中 rt.Style.GridLines.All = New prt.LineDef \'将网格线类型设为默认类型 rt.Width = 150 \'表宽为150毫米 rt.Height = 150 \'表高为150毫米 rt.Rows.Count = 3 \'设置行数 rt.Cols.Count = 3 \'设置列数 doc.Print() |
-- 作者:狐狸爸爸 -- 发布时间:2009/12/11 10:02:00 -- 禁止自动旋转 打印报表的时候,系统默认会自动根据实际纸张的大小,判断是否需要旋转打印内容,以便更好地配合纸张。 例如: Dim doc As New PrintDocDim ra As New prt.RenderArea doc.PageSetting.Width = 150 doc.PageSetting.Height = 80 doc.AutoRotate = False \'禁止自动旋转打印内容 ra.Width = "Parent.Width" ra.Height = "Parent.Height" ra.Style.Borders.All = New prt.Linedef(5, Color.Red) doc.Body.Children.Add(ra) doc.Print() 你可以删除下面这一行代码,重新打印一张,看看结果有什么不同: doc.AutoRotate = False \'禁止自动旋转打印内容 |
-- 作者:yzsjaq -- 发布时间:2009/12/11 14:39:00 -- 删除doc.AutoRotate = False 后,还是效果不一样,doc.Preview() 大于doc.Print()。您不妨试试。 [此贴子已经被作者于2009-12-11 14:42:22编辑过]
|
-- 作者:狐狸爸爸 -- 发布时间:2009/12/11 15:19:00 -- 你是不是用的旧版本啊? Dim doc As New PrintDoc \'定义一个报表 Dim rt As New prt.RenderTable() \'定义一个表格对象 doc.Body.Children.Add(rt) \'将表格对象加入到报表中 rt.Style.GridLines.All = New prt.LineDef \'将网格线类型设为默认类型 rt.Width = 150 \'表宽为150毫米 rt.Height = 150 \'表高为150毫米 rt.Rows.Count = 3 \'设置行数 rt.Cols.Count = 3 \'设置列数 doc.AutoRotate = False doc.Print() |
-- 作者:yzsjaq -- 发布时间:2009/12/11 15:34:00 -- 用的是旧版本,新版本可以解决此问题吗? [此贴子已经被作者于2009-12-11 16:02:21编辑过]
|
-- 作者:狐狸爸爸 -- 发布时间:2009/12/11 16:10:00 -- 先升级再说。 |