以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- [求助][求助]打印格式设置求帮助 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=161014) |
|
-- 作者:xuxd76 -- 发布时间:2021/3/2 13:22:00 -- [求助][求助]打印格式设置求帮助 ![]() ![]() 上面的窗口中的样式 下面是我希望打印出来的格式 日期控制名是:客户开始时间\\客户结束时间 下面是代码: 有大神能帮我修改一下吗? Dim doc As New PrintDoc Dim tb As Table = Tables("业务管理_客户明细表") Dim prs As Integer = 20 \'每页20行 For p As Integer = 0 To math.Ceiling(tb.Rows.Count / prs) - 1 Dim rt As New prt.RenderTable rt.Style.Gridlines.All = New prt.Linedef(Color.Gray) rt.CellStyle.Spacing.All = 0.5 tb.CreateReportHeader(rt,False) \'生成多层表头 For c As Integer = 0 To tb.Cols.Count - 1 For r As Integer = p * prs To math.min(tb.Rows.Count - 1,( p + 1) * prs - 1) rt.Cells(r - p * prs + tb.HeaderRows, c).Text = tb.rows(r)(c) Next Next If p < math.Ceiling(tb.Rows.Count / prs) - 1 rt.BreakAfter = prt.BreakEnum.Page End If doc.Body.Children.Add(rt) Next doc.Preview() [此贴子已经被作者于2021/3/2 13:22:34编辑过]
|
|
-- 作者:有点蓝 -- 发布时间:2021/3/2 13:51:00 -- Dim doc As New PrintDoc Dim tb As Table = Tables("业务管理_客户明细表") Dim prs As Integer = 20 \'每页20行 For p As Integer = 0 To math.Ceiling(tb.Rows.Count / prs) - 1 Dim rt As New prt.RenderTable rt.Style.Gridlines.All = New prt.Linedef(Color.Gray) rt.CellStyle.Spacing.All = 0.5 tb.CreateReportHeader(rt,False) \'生成多层表头
For c As Integer = 0 To tb.Cols.Count - 1 rt.Cells(0,c).Text = tb.Cols(c).Name For r As Integer = p * prs To math.min(tb.Rows.Count - 1,( p + 1) * prs - 1) rt.Cells(r - p * prs + 1, c).Text = tb.rows(r)(c) Next Next If p < math.Ceiling(tb.Rows.Count / prs) - 1 rt.BreakAfter = prt.BreakEnum.Page End If doc.Body.Children.Add(rt) Next doc.Preview() |
|
-- 作者:xuxd76 -- 发布时间:2021/3/2 13:58:00 -- ![]() ![]() 蓝版,根据你帮我修改的打印代码,出来是上面的样式
|
|
-- 作者:有点蓝 -- 发布时间:2021/3/2 14:02:00 -- 有什么问题?如果还有其它内容自己加上呗 Dim doc As New PrintDoc Dim rt As New prt.RenderText \'定义一个文本对象 rt.Text = "格式名称: xxxx" \'设置文本对象的内容 doc.Body.Children.Add(rt) \'将文本对象加入到报表
|
|
-- 作者:xuxd76 -- 发布时间:2021/3/2 14:04:00 -- 好的,我来试着加一下,谢谢蓝版 |
|
-- 作者:xuxd76 -- 发布时间:2021/3/2 14:44:00 -- 蓝版,我请教下: 生成的临时统计表中,数值格式时有千分位向右靠齐的,可是打印显示没有千分位,也没有向右靠齐了,这个可以设置成:数值千分位并向右靠齐吗?
|
|
-- 作者:有点蓝 -- 发布时间:2021/3/2 14:54:00 -- 停靠设置参考:http://www.foxtable.com/webhelp/topics/1170.htm 比如: …… For r As Integer = p * prs To math.min(tb.Rows.Count - 1,( p + 1) * prs - 1) if tb.Cols(c).IsNumeric rt.Cells(r - p * prs + 1, c).Text = format(tb.rows(r)(c),""#,###.00"") rt.Cells(r - p * prs + 1, c).Style.TextAlignHorz = prt.AlignHorzEnum.Right else rt.Cells(r - p * prs + 1, c).Text = tb.rows(r)(c) end if Next ……
|
|
-- 作者:xuxd76 -- 发布时间:2021/3/2 14:57:00 -- 太感谢了!!!! |