以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]用专业报表如何取得当前页行、列位置? (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=12591) |
-- 作者:xlbull -- 发布时间:2011/9/8 12:04:00 -- [求助]用专业报表如何取得当前页行、列位置? 用专业报表如何取得当前打印页面的行、列位置? 因为 prev.Bottom不是数值型,不能用整数型变量来取值。如何才能获得? [此贴子已经被作者于2011-9-8 12:27:15编辑过]
|
-- 作者:狐狸爸爸 -- 发布时间:2011/9/8 12:10:00 -- http://www.foxtable.com/help/topics/1433.htm http://www.foxtable.com/help/topics/0447.htm
|
-- 作者:xlbull -- 发布时间:2011/9/8 12:30:00 -- 不是表中的位置,是打印页面的坐标位置。因为打印备注型字段后,文字有长有短,无法知道当前所在的位置。 [此贴子已经被作者于2011-9-8 12:36:36编辑过]
|
-- 作者:xlbull -- 发布时间:2011/9/8 12:59:00 -- |
-- 作者:yangming -- 发布时间:2011/9/8 13:02:00 -- Dim doc As New PrintDoc \'定义一个报表 Dim rx As prt.RenderText \'定义一个文本对象 Dim rm As prt.RenderImage \'定义一个图形队形 Dim Currow As Row Dim tbl As Table = Tables("员工") For i as Integer = tbl.TopRow To tbl.BottomRow CurRow = tbl.rows(i) Dim rep As New prt.RenderEmpty \'定义一个新的空对象 rep.BreakBefore = prt.BreakEnum.Page \'打印前换页 doc.Body.Children.Add(rep ) \'加入到报表中 rx = new prt.RenderText rx.Text = CurRow("备注") rx.x = 26.5 rx.y = 76 rx.Width= 163 doc.body.Children.Add(rx) rm= New prt.RenderImage rm.Height = 38 rm.Width = 34 rm.Image = GetImage(CurRow("照片")) rm.x= 149.5 rm.y = 36 doc.body.Children.Add(rm) Next Doc.Preview() \'预览报表 |
-- 作者:xlbull -- 发布时间:2011/9/8 14:00:00 -- 如果这个备注很长,到下一页去了,又要在下页的底边加上文字,怎么办?
|
-- 作者:狐狸爸爸 -- 发布时间:2011/9/8 14:11:00 -- 参考: http://www.foxtable.com/help/topics/1177.htm
例如:
Dim doc As New PrintDoc \'定义一个报表
|
-- 作者:xlbull -- 发布时间:2011/9/8 22:40:00 -- 由于备注列中是一篇篇的文章,打印在一页纸上长短不一,又想在页底打印编辑人的姓名,所以中间·的位置不知怎么控制?而且 rt.y = "Prev.Bottom + 5" 中的5可不可以是变量? |
-- 作者:yangming -- 发布时间:2011/9/8 23:02:00 -- 以下是引用xlbull在2011-9-8 22:40:00的发言:
由于备注列中是一篇篇的文章,打印在一页纸上长短不一,又想在页底打印编辑人的姓名,所以中间·的位置不知怎么控制?而且 rt.y = "Prev.Bottom + 5" 中的5可不可以是变量? 5,可以是变量,比如是窗口上的文本框中输入的值,但是你不会是一篇一篇文件的输入值再打印吧?
|
-- 作者:xlbull -- 发布时间:2011/9/9 7:05:00 -- 是一个文件资料库,文章内容放在一个备注型列内,打印时要将作者的姓名打印在此文章最后页的底边,所以想控制页面位置,但又取不到当前文章打印完后所处的位置。 对于 rt.y = "Prev.Bottom + 5",我试了: k=10 rt.y = "Prev.Bottom + k" 不起作用。 [此贴子已经被作者于2011-9-9 7:08:15编辑过]
|