Foxtable(狐表)用户栏目专家坐堂 → 请教批选打印的问题


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

主题:请教批选打印的问题

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


加好友 发短信
等级:四尾狐 帖子:924 积分:6639 威望:0 精华:0 注册:2013/8/10 18:33:00
请教批选打印的问题  发帖心情 Post By:2016/9/3 9:51:00 [只看该作者]


图片点击可在新窗口打开查看此主题相关图片如下:qq图片20160903094716.png
图片点击可在新窗口打开查看


设计了一窗口,窗口中对应着资产数据列表

我现在设计了一个"标签打印'的按钮如下,先单击点中我要打印的资产行,然后点"标签打印"按钮可以实现该资产卡片的打印.
Dim Book As New XLS.Book(ProjectPath & "Attachments\资产卡片.xls")
Dim fl As String = ProjectPath & "Reports\资产卡片.xls"
Book.Build() '生成细节区
Book.Save(fl) '保存工作簿
Dim Proc As New Process '打开工作簿
Proc.File = fl
Proc.Verb = "Print" '指定动作
Proc.Start()

我现在想实现像图中一样先任意选择多行,然后再点击“标签打印”按钮,实现选中行资产数据的卡片全部一起打印出来,请问如何实现?
我则看了帮助,发现此代码些现相近
Tables("员工").ShowCheckBox = True


For Each r As Row In Tables("员工").GetCheckedRows
    r.Delete
Next
请问我应该怎么将此代码结合进行能够实现。或是有别的代码可以实现,请大神们请教。

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


加好友 发短信
等级:超级版主 帖子:106816 积分:543281 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2016/9/3 10:16:00 [只看该作者]

'对选中行进行筛选,然后直接打印
Dim lst As new List(od Integer)
For Each r As Row In Tables("员工").GetCheckedRows
    lst.Add(r("_Identify"))
Next
Dim filter = Tables("员工").Filter
Tables("员工").Filter = "[_Identify] in (" & String.Join(",",lst.ToArray) & ")"
Dim Book As New XLS.Book(ProjectPath & "Attachments\资产卡片.xls")
Dim fl As String = ProjectPath & "Reports\资产卡片.xls"
Book.Build() '生成细节区
Book.Save(fl) '保存工作簿
Dim Proc As New Process '打开工作簿
Proc.File = fl
Proc.Verb = "Print" '指定动作
Proc.Start()
Tables("员工").Filter = filter

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


加好友 发短信
等级:四尾狐 帖子:924 积分:6639 威望:0 精华:0 注册:2013/8/10 18:33:00
  发帖心情 Post By:2016/9/4 1:35:00 [只看该作者]

请再指导,语句报错,用不了,

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


加好友 发短信
等级:管理员 帖子:47448 积分:251054 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2016/9/4 8:39:00 [只看该作者]

Dim lst As new List(of String)
For Each r As Row In Tables("员工").GetCheckedRows
    lst.Add(r("_Identify"))
Next
Dim filter = Tables("员工").Filter
Tables("员工").Filter = "[_Identify] in (" & String.Join(",",lst.ToArray) & ")"
Dim Book As New XLS.Book(ProjectPath & "Attachments\资产卡片.xls")
Dim fl As String = ProjectPath & "Reports\资产卡片.xls"
Book.Build() '生成细节区
Book.Save(fl) '保存工作簿
Dim Proc As New Process '打开工作簿
Proc.File = fl
Proc.Verb = "Print" '指定动作
Proc.Start()
Tables("员工").Filter = filter

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


加好友 发短信
等级:四尾狐 帖子:924 积分:6639 威望:0 精华:0 注册:2013/8/10 18:33:00
  发帖心情 Post By:2016/9/4 22:44:00 [只看该作者]

谢谢,实现了按选择筛选,但是打印命令执行的时候报错,估计是打印模板需要重新设计。原来 的模板设计上是为了打印单个品种的卡片。

 回到顶部