以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]求专业报表代码 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=162955) |
||||
-- 作者:老鼠 -- 发布时间:2021/4/18 14:14:00 -- [求助]求专业报表代码 这是现有代码: Dim doc As New PrintDoc \'定义一个报表 Dim rx As new prt.RenderText \'定义一个文本对象 Dim x As Integer = 0 \'定义水平偏移参数 Dim y As Integer = 0 \'定义垂直偏移参数 Dim CurRow As Row = Tables("基本信息").Current rx = new prt.RenderText rx.Text = CurRow("单位名称") rx.x = 60 + x \'设置坐标的时候,注意加上偏移参数 rx.y = 34 + y rx.Style.FontBold = True \'字体加粗 rx.Style.FontSize = 14 \'字体大小为16磅 doc.body.Children.Add(rx) rx = new prt.RenderText rx.Text = CurRow("法人") rx.x = 118 + x rx.y = 44 + y rx.Style.FontBold = True \'字体加粗 rx.Style.FontSize = 14 \'字体大小为16磅 doc.body.Children.Add(rx) rx = new prt.RenderText rx.Text = CurRow("单位地址") rx.x = 60 + x rx.y = 54 + y rx.Style.FontBold = True \'字体加粗 rx.Style.FontSize = 12 \'字体大小为16磅 doc.body.Children.Add(rx) rx = new prt.RenderText rx.Text = CurRow("邮政编码") rx.x = 156 + x rx.y = 54 + y rx.Style.FontBold = True \'字体加粗 rx.Style.FontSize = 14 \'字体大小为16磅 doc.body.Children.Add(rx) rx = new prt.RenderText rx.Text = CurRow("联系电话") rx.x = 70 + x rx.y = 64 + y rx.Style.FontBold = True \'字体加粗 rx.Style.FontSize = 14 \'字体大小为16磅 doc.body.Children.Add(rx) \'加入更多的打印对象.... Doc.PrinterName = e.Form.Controls("ComboBox1").text doc.Print() 以下是纵向送入打印机的图片
[此贴子已经被作者于2021/4/18 14:16:58编辑过]
|
||||
-- 作者:有点蓝 -- 发布时间:2021/4/18 21:42:00 -- 把文字旋转过来打印,具体细节自行调整 Dim doc As New PrintDoc \'定义一个报表 doc.PageSetting.Landscape = True Dim rx As new prt.RenderText \'定义一个文本对象 Dim x As Integer = 0 \'定义水平偏移参数 Dim y As Integer = 0 \'定义垂直偏移参数 \'Dim CurRow As Row = Tables("基本信息").Current rx = new prt.RenderText rx.Text = ("单位名称") rx.x = 34 + x \'设置坐标的时候,注意加上偏移参数 rx.y = "Parent.Height - 14" \'34+ y rx.Style.FontBold = True \'字体加粗 rx.Style.FontSize = 14 \'字体大小为16磅 rx.Style.TextAngle = 90 doc.body.Children.Add(rx) rx = new prt.RenderText rx.Text = ("法人") rx.x = 44 + x rx.y = "Parent.Height - 64" \'44 + y rx.Style.FontBold = True \'字体加粗 rx.Style.FontSize = 14 \'字体大小为16磅 rx.Style.TextAngle = 90 doc.body.Children.Add(rx) rx = new prt.RenderText rx.Text = ("单位地址") rx.x = 54 + x rx.y = "Parent.Height - 14" rx.Style.FontBold = True \'字体加粗 rx.Style.FontSize = 12 \'字体大小为16磅 rx.Style.TextAngle = 90 doc.body.Children.Add(rx) rx = new prt.RenderText rx.Text = ("邮政编码") rx.x = 54 + x rx.y = "Parent.Height - 114" rx.Style.FontBold = True \'字体加粗 rx.Style.FontSize = 14 \'字体大小为16磅 rx.Style.TextAngle = 90 doc.body.Children.Add(rx) rx = new prt.RenderText rx.Text = ("联系电话") rx.x = 64 + x rx.y = "Parent.Height - 14" rx.Style.FontBold = True \'字体加粗 rx.Style.FontSize = 14 \'字体大小为16磅 rx.Style.TextAngle = 90 doc.body.Children.Add(rx) \'加入更多的打印对象.... doc.Preview |
||||
-- 作者:老鼠 -- 发布时间:2021/4/19 11:03:00 -- 首先感谢,有点蓝老师的帮忙。这是我完善后的代码: Dim doc As New PrintDoc \'定义一个报表 Dim rx As new prt.RenderText \'定义一个文本对象 Dim CurRow As Row = Tables("基本信息").Current rx = new prt.RenderText rx.Text = CurRow("单位名称") rx.x = 34 rx.y = "Parent.Height -155" rx.Style.FontBold = True \'字体加粗 rx.Style.FontSize = 14 \'字体大小为16磅 rx.Style.TextAngle = 90 doc.body.Children.Add(rx) rx = new prt.RenderText rx.Text = CurRow("法人") rx.x = 44 rx.y = "Parent.Height -170" rx.Style.FontBold = True \'字体加粗 rx.Style.FontSize = 14 \'字体大小为16磅 rx.Style.TextAngle = 90 doc.body.Children.Add(rx) rx = new prt.RenderText rx.Text = CurRow("单位地址") rx.x = 54 rx.y = "Parent.Height -155" rx.Style.FontBold = True \'字体加粗 rx.Style.FontSize = 12 \'字体大小为16磅 rx.Style.TextAngle = 90 doc.body.Children.Add(rx) rx = new prt.RenderText rx.Text = CurRow("邮政编码") rx.x = 54 rx.y = "Parent.Height -210" rx.Style.FontBold = True \'字体加粗 rx.Style.FontSize = 14 \'字体大小为16磅 rx.Style.TextAngle = 90 doc.body.Children.Add(rx) rx = new prt.RenderText rx.Text = CurRow("联系电话") rx.x = 64 rx.y = "Parent.Height -145" rx.Style.FontBold = True \'字体加粗 rx.Style.FontSize = 14 \'字体大小为16磅 rx.Style.TextAngle = 90 doc.body.Children.Add(rx) \'加入更多的打印对象.... Doc.PrinterName = e.Form.Controls("ComboBox1").text doc.Print() 其次,出现新问题请老师给予帮助。那就是文字旋转角度问题。下图是上述代码打印结果。 可是如果我需要下图打印结果,我应该如何修改代码呢? [此贴子已经被作者于2021/4/19 11:04:21编辑过]
|
||||
-- 作者:有点蓝 -- 发布时间:2021/4/19 11:15:00 --
rx = new prt.RenderText rx.Text = ("单位名称") rx.x = 150 ‘具体位置自己测试调整 rx.y = 14 rx.Style.FontBold = True \'字体加粗 rx.Style.FontSize = 14 \'字体大小为16磅 rx.Style.TextAngle = -90 doc.body.Children.Add(rx)
|
||||
-- 作者:老鼠 -- 发布时间:2021/4/21 21:27:00 -- 感谢!有点蓝老师的帮助,可是在这里又遇到二个问题: 第一个问题是,日期时间只取年或月或日,我当如何修改:rx.Text = **********这句? 第二个问题是,rx.Text = CurRow("单位地址")只打印前六个汉字,其余的不打印或者另起一行打印,又或者只打印除前六个汉字之外的汉字,我又应该如何完善呢?
[此贴子已经被作者于2021/4/21 21:31:20编辑过]
|
||||
-- 作者:老鼠 -- 发布时间:2021/4/21 22:32:00 -- 第一个问题已经解决,代码是这样的:rx.Text = Format(CurRow("日期时间一"),"yyyy") 也不知道是否完善,还请各位老师指点。 现在就剩下第二问题了。 |
||||
-- 作者:老鼠 -- 发布时间:2021/4/21 23:00:00 -- 第二个问题,下面的这个代码应当如何完善? rx = new prt.RenderText rx.Text = Output.Show(CurRow("地址").SubString(0,6)) ‘这句如何修改完善? rx.x = 33 rx.y = "Parent.Height -155" rx.Style.FontBold = True \'字体加粗 rx.Style.FontSize = 12 \'字体大小为16磅 rx.Style.TextAngle = 90 doc.body.Children.Add(rx) |
||||
-- 作者:老鼠 -- 发布时间:2021/4/21 23:06:00 -- 问题好像解决了哦! 这个自己修改后的代码: rx = new prt.RenderText rx.Text = CurRow("地址").SubString(0,6) \'获得左边6个字符 rx.x = 33 rx.y = "Parent.Height -155" rx.Style.FontBold = True \'字体加粗 rx.Style.FontSize = 12 \'字体大小为16磅 rx.Style.TextAngle = 90 doc.body.Children.Add(rx) 不知道是否妥当,还请各位老师指点。 |
||||
-- 作者:有点蓝 -- 发布时间:2021/4/22 8:49:00 -- 测试没有问题就行 |