以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  打印求助  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=151128)

--  作者:outcat
--  发布时间:2020/6/15 22:55:00
--  打印求助

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


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

老师,我这个筛选是 本年、本季度、本月、、、、,然后这个这个分区里的表,是本年、本季度、本月、重合在一起的,这个筛选查询已经弄好了,可是筛选出来后,打印就不对,表隐藏、显示 ,在  打印 这个代码里,不会弄了,请教了。

打印代码  ,我现在 Table5  就是本年的筛选,打印就出现了上面的画面
e.Form.Controls("Table4").Visible = False
e.Form.Controls("Table5").Visible = True
e.Form.Controls("Table6").Visible = False
e.Form.Controls("Table7").Visible = False
e.Form.Controls("Table8").Visible = False
e.Form.Controls("Table9").Visible = False

Dim pg As WinForm.SplitPanel = Forms("粮食入库").Controls("SplitContainer9").Panel2
Dim doc As PrintDoc = e.Form.GernatePrintDoc(pg)
For Each c As object In Doc.Body.Children
    If Typeof c Is prt.RenderTable Then
        Dim t As prt.RenderTable = c
        t.Rows(0).Style.Font = new font("宋体", 10, fontstyle.bold)
        t.Rows(t.Rows.count-1).Style.Font = new font("宋体", 10, fontstyle.bold)
        For i As Integer = 0 To t.Rows.count-1
            For j As Integer = 0 To t.Cols.count-1
                t.cells(i,j).Style.BackColor = Color.white
                t.cells(i,j).Style.TextColor = Color.black
            Next
        Next
    End If
Next
doc.Preview()

--  作者:outcat
--  发布时间:2020/6/15 22:57:00
--  

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

--  作者:有点蓝
--  发布时间:2020/6/15 23:05:00
--  
代码看不出什么问题。请上传实例测试。

如果每个表格都是单独打印的,建议放到panel里,一个panel放一个表格,然后直接打印panel即可

--  作者:outcat
--  发布时间:2020/6/16 13:13:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.foxdb


老师,请帮忙看一下,我左边的这个打印,是针对可以选择时间段查询出来,然后打印,右边这个只是筛选打印。可现在查询出来后,点打印,打印的界面不全,麻烦老师了

--  作者:有点蓝
--  发布时间:2020/6/16 13:54:00
--  
方法1、控件隐藏了不代表不能打印,要另外设置一下

e.Form.Controls("Table4").Visible = True

Dim t1 As WinForm.Table = e.Form.Controls("Table5")
t1.Visible = False
t1.Printable = False
e.Form.Controls("Table6").Visible = False
e.Form.Controls("Table6").Printable = False
e.Form.Controls("Table7").Visible = False
e.Form.Controls("Table7").Printable = False
e.Form.Controls("Table8").Visible = False
e.Form.Controls("Table8").Printable = False
e.Form.Controls("Table9").Visible = False
e.Form.Controls("Table9").Printable = False

2、如果每个表格都是单独打印的,建议放到panel里,一个panel放一个表格,然后直接打印panel即可