Foxtable(狐表)用户栏目专家坐堂 → 求助打印换页的事情


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

主题:求助打印换页的事情

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


加好友 发短信
等级:四尾狐 帖子:915 积分:6572 威望:0 精华:0 注册:2013/8/10 18:33:00
求助打印换页的事情  发帖心情 Post By:2017/9/26 10:06:00 [只看该作者]


图片点击可在新窗口打开查看此主题相关图片如下:t2.jpg
图片点击可在新窗口打开查看
设计了一个打印样式,左边的表在一张上最多只能打印出来15行的内容就没有地方了(右边的表为其他的内容),如T1,T2,
如果该表行数超过15行,则后面的内容打印不出来,想实现如果数据超过15行时,其他超出的行自动打印到第二页,如果更多则再分为每三页,第四页;
同时第二页同时需要打印出来表头内容。即上面的生产单名称,日期,单号等内容。
图片点击可在新窗口打开查看此主题相关图片如下:t1.jpg
图片点击可在新窗口打开查看


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


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

复杂的报表打印,尽量用专业报表

 

http://www.foxtable.com/webhelp/scr/1166.htm

 

具体问题做个例子上来,看看是否有变通方式

 

 


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


加好友 发短信
等级:四尾狐 帖子:915 积分:6572 威望:0 精华:0 注册:2013/8/10 18:33:00
打印项目问题附件  发帖心情 Post By:2017/9/26 12:38:00 [只看该作者]

老师,附件已上传;
项目中包含数据库文件csdy.bak;数据库版本为SQL2005,程序版本为开发版。

问题如下:1、点开项目,“作业单列表”选择每一条点打印,这个没啥问题,因为这个清单只有14行;
       但是如果点开第二行点打印,则有问题了,后面的内容不能打印,第二行的内容清单有26行。


             2、作业单列表点出来后,只有偶尔选择上每二行,打印的窗口中是第二行数据库下对应的数据,多数情况选择的第二行,但是点打印出来的还是第一行。

请老师指点。

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


加好友 发短信
等级:四尾狐 帖子:915 积分:6572 威望:0 精华:0 注册:2013/8/10 18:33:00
打印问题项目附件  发帖心情 Post By:2017/9/26 12:40:00 [只看该作者]

老师,附件已上传;
项目中包含数据库文件csdy.bak;数据库版本为SQL2005,程序版本为开发版。

问题如下:1、点开项目,“作业单列表”选择每一条点打印,这个没啥问题,因为这个清单只有14行;
       但是如果点开第二行点打印,则有问题了,后面的内容不能打印,第二行的内容清单有26行。


             2、作业单列表点出来后,只有偶尔选择上每二行,打印的窗口中是第二行数据库下对应的数据,多数情况选择的第二行,但是点打印出来的还是第一行。

请老师指点。
 下载信息  [文件大小:   下载次数: ]
点击浏览该文件:生产下单系统.rar


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


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

1、没办法,只能这样变通。

 

Dim t As Table = e.Form.Controls("Table1").Table
Dim ps As Integer = Math.Ceiling(t.Rows.count / 15)
For i As Integer = 1 To ps
    Dim idxs As String = ""
    t.Filter = ""
    For j As Integer = (i-1)*15 To i*15-1
        If j >= t.Rows.count Then
            Exit For
        End If
        idxs &= "'" & t.Rows(j)("itemno") & "',"
    Next
    t.Filter = "itemno in (" & idxs.trim(",") & ")"
    Dim doc As PrintDoc = e.Form.GernatePrintDoc()
    doc.Preview()
Next
t.Filter = ""

 

2、AfterLoad事件

 

Dim dst As Table = Tables("作业单列表_Table1")
Dim dr As Row = dst.Current '获得选定行
vars("str1") = dr("scdcid") '保存原货品单号,确保变更后可以删除原记录


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


加好友 发短信
等级:四尾狐 帖子:915 积分:6572 威望:0 精华:0 注册:2013/8/10 18:33:00
  发帖心情 Post By:2017/9/28 21:08:00 [只看该作者]

谢谢老师,这样基本能够满足需求。谢谢老师的帮助。

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


加好友 发短信
等级:四尾狐 帖子:915 积分:6572 威望:0 精华:0 注册:2013/8/10 18:33:00
  发帖心情 Post By:2017/9/28 21:25:00 [只看该作者]

老师,像我那个如果有多页的,能够在右上角打印出来页码吗?要不有几份就不清楚了。

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


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

以下是引用hopestarxia在2017/9/28 21:25:00的发言:
老师,像我那个如果有多页的,能够在右上角打印出来页码吗?要不有几份就不清楚了。

 

可以的,在右上角放一个label,然后修改代码

 

Dim t As Table = e.Form.Controls("Table1").Table
Dim ps As Integer = Math.Ceiling(t.Rows.count / 15)
For i As Integer = 1 To ps
    Dim idxs As String = ""
    t.Filter = ""
    For j As Integer = (i-1)*15 To i*15-1
        If j >= t.Rows.count Then
            Exit For
        End If
        idxs &= "'" & t.Rows(j)("itemno") & "',"
    Next
    t.Filter = "itemno in (" & idxs.trim(",") & ")"

    e.Form.Controls("Label1").Text = i & "/" & ps
    Dim doc As PrintDoc = e.Form.GernatePrintDoc()
    doc.Preview()
Next
t.Filter = ""


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


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

谢谢老师,老师是万能的!!!!!

 回到顶部