Foxtable(狐表)用户栏目专家坐堂 → [求助]专业报表,控制每页打印行数时,为什么没有办法定位


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

主题:[求助]专业报表,控制每页打印行数时,为什么没有办法定位

帅哥,在线噢!
有点蓝
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110569 积分:562735 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/11/5 17:03:00 [显示全部帖子]

需要什么效果?现在是什么效果?截图说明一下

 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110569 积分:562735 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/11/5 20:18:00 [显示全部帖子]

设置一下上边距和左边距:http://www.foxtable.com/webhelp/topics/1188.htm


Doc.PageSetting.LeftMargin = 20 '设置左边距
[此贴子已经被作者于2020/11/5 20:18:18编辑过]

 回到顶部
帅哥,在线噢!
有点蓝
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110569 积分:562735 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/11/5 21:36:00 [显示全部帖子]

容器使用的是绝对位置

 回到顶部
帅哥,在线噢!
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110569 积分:562735 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/11/5 22:09:00 [显示全部帖子]

打印内容的高和宽要注意排除边距的大小。总共才140的高,上边距50,剩下90的高度够放的下要打印的内容吗?不够肯定就一页变2页甚至更多

 回到顶部
帅哥,在线噢!
有点蓝
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110569 积分:562735 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/11/6 8:44:00 [显示全部帖子]

不能在预览窗口里点击打印,只能是直接用代码打印【doc.Print()】。您本来设置的纸张大小是宽240X高140,纸张已经是横向的的了,所以不需要设置在打印里设置什么横向打印的。和负负得正的道理一样,横向的横向就是纵向。

 回到顶部
帅哥,在线噢!
有点蓝
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110569 积分:562735 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/11/6 9:00:00 [显示全部帖子]

暂时没有打印机测试,我使用虚拟打印机测试专业报表没有问题。

至于窗口打印,可以把panel往左移动一点,然后把panel里面的打印控件整体往右(下)移动,这样调整到合适的位置打印

 回到顶部
帅哥,在线噢!
有点蓝
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110569 积分:562735 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/11/7 8:53:00 [显示全部帖子]

回18楼,这是因为没有设置默认纸张,到打印机服务属性里添加一个240x140的纸张,然后设置为当前选中的打印机的默认纸张就可以了。

至于第一页和后面各页的位置不一致实在看不出代码有什么问题。换个打印机试试?

 回到顶部
帅哥,在线噢!
有点蓝
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110569 积分:562735 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/11/9 10:23:00 [显示全部帖子]

绝对定位要加上换页控制

For p As Integer = 0 To math.Ceiling(tb.Rows.Count / prs) - 1
    Dim rep As New prt.RenderEmpty '定义一个新的空对象
    rep.BreakBefore = prt.BreakEnum.Page '打印前换页
    doc.Body.Children.Add(rep ) '加入到报表中
    Dim ra As New prt.RenderArea '定义一个容器
    ra.X = 0 '指定容器水平位置
    ra.y = 24 '指定容器垂直位置
[此贴子已经被作者于2020/11/9 10:23:37编辑过]

 回到顶部