以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 请甜老师帮忙改一下,谢谢 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=107935) |
-- 作者:xxfoxtable -- 发布时间:2017/10/12 22:44:00 -- 请甜老师帮忙改一下,谢谢 Dim doc As New PrintDoc() \'定义一个报表 \'Doc.PrinterName = e.Form.Controls("ComboBox1").Value \'指定打印机 doc.PageSetting.Width = 40 \'纸张宽度为100毫米 doc.PageSetting.Height = 30 \'纸张高度为50毫米 Doc.PageSetting.LeftMargin =0 \'设置左边距 Doc.PageSetting.RightMargin =0 \'设置右边距 Doc.PageSetting.TopMargin = 0 \'设置上边距 Doc.PageSetting.BottomMargin = 0 \'设置下边距 doc.AutoRotate = False \'如果纸张的宽度超过高度,要加上这行代码 doc.Stacking = prt.StackingRulesEnum.InlineLeftToRight Dim ra As New prt.RenderArea Dim rt As prt.RenderText ra.Width =40 \'标签框架宽 ra.Height =30 \'标签框架高 ra.Style.Spacing.All = 1 ra.Style.Borders.All = New prt.Linedef(0.3, Color.black) ra.SplitHorzBehavior = prt.SplitBehaviorEnum.Never ra.SplitVertBehavior = prt.SplitBehaviorEnum.Never Doc.Body.ChildRen.Add(ra) rt = New prt.RenderText rt.Text = Tables("打印").current("产品名称") rt.X = 2 rt.Y = 2 ra.Children.Add(rt) rt = New prt.RenderText rt.Text = "生产日期: " & Date.now rt.X = 2 rt.Y = "Prev.Bottom + 2" ra.Children.Add(rt) If Tables("打印").current("是否有日期")=False rt = New prt.RenderText rt.Text = "保 质 期:"& Tables("打印").current("文本保质期") rt.X = 2 rt.Y = "Prev.Bottom + 2" ra.Children.Add(rt) Else rt = New prt.RenderText rt.Text = "保 质 期:"& Tables("打印").current("保质期") &"天" rt.X = 2 rt.Y = "Prev.Bottom + 2" ra.Children.Add(rt) End If If Tables("打印").current("是否有日期")=False rt = New prt.RenderText rt.Text = "到期日期:"& format(Tables("打印").current("到期日期"),"yyyy-mm-dd") rt.X = 2 rt.Y = "Prev.Bottom + 2" ra.Children.Add(rt) Else rt = New prt.RenderText rt.Text = "到期日期:"& format(date.now.AddDays(Tables("打印").current("保质期")),"yyyy-mm-dd") rt.X = 2 rt.Y = "Prev.Bottom + 2" ra.Children.Add(rt) End If rt = New prt.RenderText rt.Text = "储存方法: " & Tables("打印").current("储存方法") rt.X = 2 rt.Y = "Prev.Bottom + 2" ra.Children.Add(rt) Doc.Preview() 第一个问题,日期后面还有时间 第二个问题,怎么让产品名称,横向居中 第三个问题,怎么设置循环 第四个问题,某一条记录可能要打印三,或者四份,怎么设置
|
-- 作者:有点甜 -- 发布时间:2017/10/12 22:51:00 -- 1、这样写还有问题?
rt.Text = "到期日期:"& format(Tables("打印").current("到期日期"), "yyyy-MM-dd")
2、http://www.foxtable.com/webhelp/scr/1170.htm
3、代码 Tables("打印").current 改成 r,然后加上循环
For Each r As Row In Tables("打印").rows
http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&Id=104307
4、上传具体实例说明,哪些行需要打印多份,逻辑是什么?
|
-- 作者:xxfoxtable -- 发布时间:2017/10/12 22:53:00 -- 份数加在了这行数据的最后面 |
-- 作者:有点甜 -- 发布时间:2017/10/12 22:57:00 -- 以下是引用xxfoxtable在2017/10/12 22:53:00的发言:
份数加在了这行数据的最后面
如
for i as integer = 1 to Tables("打印").current("份数") Dim ra As New prt.RenderArea |
-- 作者:xxfoxtable -- 发布时间:2017/10/12 22:58:00 -- 日期不知道为啥变成这样了 此主题相关图片如下:1.png |
-- 作者:有点甜 -- 发布时间:2017/10/12 22:59:00 -- 回复5楼,改成 rt.Text = "到期日期:"& format(Tables("打印").current("到期日期"), "yyyy-MM-dd") |
-- 作者:xxfoxtable -- 发布时间:2017/10/12 23:16:00 -- [此贴子已经被作者于2017/10/12 23:32:27编辑过]
|
-- 作者:xxfoxtable -- 发布时间:2017/10/12 23:21:00 -- 找到原因了,是我的问题 |
-- 作者:xxfoxtable -- 发布时间:2017/10/12 23:32:00 -- 打印按钮怎么能避免双击呢? |
-- 作者:有点甜 -- 发布时间:2017/10/12 23:39:00 -- 以下是引用xxfoxtable在2017/10/12 23:32:00的发言:
打印按钮怎么能避免双击呢?
方法一:
e.sender.Enabled = False \'打印代码 e.sender.Enabled = True
方法二:
static ptime As Date = Nothing \'打印代码 |