以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 专业报表 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=42125) |
-- 作者:bm -- 发布时间:2013/11/4 19:56:00 -- 专业报表 哪位高手帮忙。想了一个下午没成功。就是要将报表中 数字部分大字体。其他部分小字体 Dim doc As New PrintDoc |
-- 作者:有点甜 -- 发布时间:2013/11/4 20:03:00 -- 试试这样 Dim doc As New PrintDoc Dim rt As New prt.RenderArea Dim Cur As Row = Tables("业务大表").Current For Each i As String In cur("关单号") Dim r As New prt.RenderText r.text = i If IsNumeric(i) Then r.Style.Font = New Font("宋体", 16) Else r.Style.Font = New Font("宋体", 8) End If \'r.X = 68 \'r.Y = 62 rt.Children.Add(r) Next doc.Body.Children.Add(rt) doc.PageSetting.Landscape = True doc.PageSetting.Width = 330 doc.PageSetting.Height = 300 Doc.PageSetting.LeftMargin = 13 Doc.PageSetting.TopMargin = 40 doc.AutoRotate = False Doc.Preview() |
-- 作者:bm -- 发布时间:2013/11/4 20:14:00 -- 谢谢有点甜 谢谢有点甜。但是还有一个问题。生成自后怎么是竖的。如果要横向应该怎么改 r.X = 68 怎么办 |
-- 作者:bm -- 发布时间:2013/11/4 20:27:00 -- 麻烦再帮忙看看 麻烦再帮忙看看 |
-- 作者:有点甜 -- 发布时间:2013/11/4 20:30:00 -- 你可以再用一个 容器 装上这些数字,然后设置这个容器的位置排列方式之类的东西。 |
-- 作者:bm -- 发布时间:2013/11/4 20:43:00 -- 不会啊老大 麻烦帮帮忙吧 |
-- 作者:有点甜 -- 发布时间:2013/11/4 20:52:00 -- 你试试这样 Dim doc As New PrintDoc Dim rt As New prt.RenderArea Dim Cur As Row = Tables("业务大表").Current For Each i As String In cur("关单号") Dim r As New prt.RenderText r.text = i If IsNumeric(i) Then r.Style.Font = New Font("宋体", 16) Else r.Style.Font = New Font("宋体", 8) End If rt.Children.Add(r) Next rt.Stacking = prt.StackingRulesEnum.BlockLeftToRight rt.X = 68 rt.Y = 62 doc.Body.Children.Add(rt) doc.PageSetting.Landscape = True doc.PageSetting.Width = 330 doc.PageSetting.Height = 300 Doc.PageSetting.LeftMargin = 13 Doc.PageSetting.TopMargin = 40 doc.AutoRotate = False Doc.Preview() |
-- 作者:bm -- 发布时间:2013/11/4 21:04:00 -- 不对 只出来一个字母。还分成2个页面 麻烦佬大再看看。 |
-- 作者:有点甜 -- 发布时间:2013/11/4 21:27:00 -- 参考下面的代码,自己改一下width Dim doc As New PrintDoc Dim rt As New prt.RenderArea \'Dim Cur As Row = Tables("业务大表").Current For Each i As String In "abc123456" Dim r As New prt.RenderText r.text = i If IsNumeric(i) Then r.Style.Font = New Font("宋体", 16) r.Width = 8 Else r.Style.Font = New Font("宋体", 8) r.Width = 5 End If rt.Children.Add(r) Next rt.Stacking = prt.StackingRulesEnum.InlineLeftToRight rt.X = 68 rt.Y = 62 doc.Body.Children.Add(rt) doc.PageSetting.Landscape = True doc.PageSetting.Width = 330 doc.PageSetting.Height = 300 Doc.PageSetting.LeftMargin = 13 Doc.PageSetting.TopMargin = 40 doc.AutoRotate = False Doc.Preview() |
-- 作者:bm -- 发布时间:2013/11/4 21:36:00 -- 谢谢有点甜 |