Foxtable(狐表)用户栏目专家坐堂 → 请甜老师帮忙改一下,谢谢


  共有1749人关注过本帖树形打印复制链接

主题:请甜老师帮忙改一下,谢谢

帅哥哟,离线,有人找我吗?
xxfoxtable
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1765 积分:16657 威望:0 精华:0 注册:2017/6/1 23:12:00
请甜老师帮忙改一下,谢谢  发帖心情 Post By: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()
第一个问题,日期后面还有时间
第二个问题,怎么让产品名称,横向居中
第三个问题,怎么设置循环
第四个问题,某一条记录可能要打印三,或者四份,怎么设置

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By: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
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1765 积分:16657 威望:0 精华:0 注册:2017/6/1 23:12:00
  发帖心情 Post By:2017/10/12 22:53:00 [只看该作者]

份数加在了这行数据的最后面

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By: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
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1765 积分:16657 威望:0 精华:0 注册:2017/6/1 23:12:00
  发帖心情 Post By:2017/10/12 22:58:00 [只看该作者]

日期不知道为啥变成这样了
图片点击可在新窗口打开查看此主题相关图片如下:1.png
图片点击可在新窗口打开查看

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/10/12 22:59:00 [只看该作者]

回复5楼,改成 rt.Text = "到期日期:"& format(Tables("打印").current("到期日期"), "yyyy-MM-dd")

 回到顶部
帅哥哟,离线,有人找我吗?
xxfoxtable
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1765 积分:16657 威望:0 精华:0 注册:2017/6/1 23:12:00
  发帖心情 Post By:2017/10/12 23:16:00 [只看该作者]


[此贴子已经被作者于2017/10/12 23:32:27编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
xxfoxtable
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1765 积分:16657 威望:0 精华:0 注册:2017/6/1 23:12:00
  发帖心情 Post By:2017/10/12 23:21:00 [只看该作者]

找到原因了,是我的问题

 回到顶部
帅哥哟,离线,有人找我吗?
xxfoxtable
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1765 积分:16657 威望:0 精华:0 注册:2017/6/1 23:12:00
  发帖心情 Post By:2017/10/12 23:32:00 [只看该作者]

打印按钮怎么能避免双击呢?

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By: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
Dim sp As TimeSpan = Date.now - ptime
ptime = Date.now
If sp.TotalMilliseconds < 1000  Then '间隔1000毫秒
    Return
End If

'打印代码


 回到顶部