以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  分页后,根据选择的行打印标签  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=140445)

--  作者:cd_tdh
--  发布时间:2019/9/5 17:38:00
--  分页后,根据选择的行打印标签

老师,我现在做了分页处理,当我需要打印选择的不同的页的标签时,只能打印到当前页的?其他页选择的生存不了标签,怎么筛选不不同页的选择为true的数据呢?

目前代码如下:

Dim dr As List(Of DataRow)= DataTables("业绩管理").SQLSelect("[选择] = \'true\'")
If dr.Count > 0 Then
    Dim ids As new List(of String)
    For Each r As DataRow In dr
        ids.Add(r("_Identify"))
    Next
    Tables("业绩管理").Filter = "[_Identify] in (" & String.Join(",",ids.ToArray) & ")"
    Dim Book As New XLS.Book(ProjectPath & "Attachments\\标签.xlsx") \'打开模板
    Dim fl As String =  ProjectPath &  "Reports\\标签.xlsx"
    Book.Build() \'生成报表
    Book.Save(fl)
    Dim Proc As New Process
    Proc.File = fl
    Proc.Start()
    Tables("业绩管理").Filter = ""   \'取消筛选
    For Each r As DataRow In DataTables("业绩管理").DataRows
        r("选择") = False
        r.save
    Next
Else
    MessageBox.Show("请先选择你需要打印的项目标签,谢谢!","提示",MessageBoxButtons.OK,MessageBoxIcon.Question)
End If


--  作者:有点蓝
--  发布时间:2019/9/5 17:40:00
--  
1、加载所有需要打印的数据
--  作者:cd_tdh
--  发布时间:2019/9/5 17:46:00
--  
以下是引用有点蓝在2019/9/5 17:40:00的发言:
1、加载所有需要打印的数据

默认选择都是false

勾选了只是临时的,加载所需打印的数据,用filter只对table有用啊,分页后对其他页的数据filter不出来,而且打印完有清空为false了啊?

[此贴子已经被作者于2019/9/5 17:50:21编辑过]

--  作者:有点酸
--  发布时间:2019/9/5 20:10:00
--  
如果勾选列是表达式列,是没有办法的。

除非用于勾选的列是一个数据列,能保存勾选结果,这样才能跨页勾选。
然后用下面的方法打印:


打印完了,再用SQLReplace清除勾选:
http://www.foxtable.com/webhelp/topics/2898.htm

--  作者:cd_tdh
--  发布时间:2019/9/6 9:15:00
--  

老师用SQLReplace清除勾选哪儿不对呢?


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

 

 


 

[此贴子已经被作者于2019/9/6 9:35:44编辑过]

--  作者:有点蓝
--  发布时间:2019/9/6 9:55:00
--  
看看:http://www.foxtable.com/webhelp/topics/2343.htm