Foxtable(狐表)用户栏目专家坐堂 → 专业报表打印方向


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

主题:专业报表打印方向

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


加好友 发短信
等级:九尾狐 帖子:2236 积分:15335 威望:0 精华:0 注册:2015/7/18 10:10:00
专业报表打印方向  发帖心情 Post By:2016/2/25 12:03:00 [只看该作者]

有没有可能是一个专业报表文件中部分纵向打印 部分页横向打印。  比如 一个专业报表文件可能是10页,假如其中的3页是表格需要横向,其他的是文字还是纵向打印,有没有可能实现

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/2/25 12:29:00 [只看该作者]

不能这样的。你生成的时候,横向生成不就行了?

 

Dim doc As New PrintDoc '定义一个报表
Dim rt As New prt.RenderTable() '定义一个表格对象
doc.Body.Children.Add(rt) '将表格对象加入到报表中
rt.Style.GridLines.All = New prt.Linedef '设置网格线

rt.Width = 30
For r As Integer = 0 To 5
    rt.Rows(r).height = 20
    For c As Integer = 0 To 5
        Dim rx As New prt.RenderText '定义一个文本对象
        rx.Text = r & "," & c '为文本对象设置内容
        rt.Cells(r, c).RenderObject = rx '将文本对象放置在单元格中
    Next
Next
rt.Style.TextAngle = -90 '顺时钟旋转45度

doc.Preview() '预览


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


加好友 发短信
等级:九尾狐 帖子:2236 积分:15335 威望:0 精华:0 注册:2015/7/18 10:10:00
  发帖心情 Post By:2016/2/25 12:46:00 [只看该作者]

Dim Doc As new PrintDoc
Dim rx As prt.RenderText
Dim rt As prt.RenderTable
rx = new prt.RenderText
rx.text = "资产负债表"
rx.Style.FontBold = True '字体加粗
rx.Style.FontSize = 16 '大体大小为16磅
rx.Style.TextAlignHorz = prt.AlignHorzEnum.Center '水平居中排列
rx.Style.Spacing.Bottom = 3 '和下面的对象(表格)距离3毫米
rx.Style.TextAngle = -90
doc.Body.Children.Add(rx) '加入到报表中
rt = new prt.RenderTable
rt.Style.GridLines.All = New prt.LineDef
rt.Cols.Count = 20
rt.rows.Count = 10
rt.Width = 150 '表宽为150毫米
rt.Height = 220 '表高为150毫米
For n As Integer = 0 To 9
    rt.Cells(n,n).text = 10 * n
Next
Doc.Body.Children.Add(rt)
rt.Style.TextAngle = -90
'doc.PageSetting.Landscape = True '横向打印
Doc.Preview

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


加好友 发短信
等级:九尾狐 帖子:2236 积分:15335 威望:0 精华:0 注册:2015/7/18 10:10:00
  发帖心情 Post By:2016/2/25 12:49:00 [只看该作者]

标题怎么能到表的上端


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


加好友 发短信
等级:九尾狐 帖子:2236 积分:15335 威望:0 精华:0 注册:2015/7/18 10:10:00
  发帖心情 Post By:2016/2/25 13:27:00 [只看该作者]

Dim Doc As new PrintDoc
Dim rx As prt.RenderText
Dim rt As prt.RenderTable
'rx = new prt.RenderText
'rx.text = "资产负债表"
'rx.Style.FontBold = True '字体加粗
'rx.Style.FontSize = 16 '大体大小为16磅
'rx.Style.TextAlignHorz = prt.AlignHorzEnum.Center '水平居中排列
'rx.Style.Spacing.Bottom = 3 '和下面的对象(表格)距离3毫米
'rx.Style.TextAngle = -90
'doc.Body.Children.Add(rx) '加入到报表中
rt = new prt.RenderTable
rt.Style.GridLines.All = New prt.LineDef
rt.Cols.Count = 22
rt.rows.Count = 10
rt.Width = 150 '表宽为150毫米
rt.Height = 220 '表高为150毫米
rt.Cells(0,21).Spanrows = 10
rt.cols(21).Style.GridLines.All = New prt.LineDef("0mm", Color.Red)
rt.cols(20).Style.GridLines.All = New prt.LineDef("0mm", Color.Red)
rt.cols(19).Style.GridLines.top = New prt.LineDef
'rt.cols(20).Style.Borders.left = New prt.LineDef("0mm", Color.Red)
'rt.cols(19).Style.GridLines.Top = New prt.LineDef
Dim nms() As String = {"资产","流动资产","货币资金","应收款项"}
rt.Cells(0,21).text = "资产负债表"
rt.Cells(0,19).text = "资产"
rt.Cells(0,18).text = "流动资产:"
rt.Cells(0,17).text = "货币资金"
rt.Cells(0,16).text = "应收款项"


For n As Integer = 0 To 9
    rt.Cells(n,n).text = 10 * n
Next
Doc.Body.Children.Add(rt)
rt.Style.TextAngle = -90
'doc.PageSetting.Landscape = True '横向打印
Doc.Preview

 

黄色部分把第22、21列框线都去掉,橙色部分为20列右边的框线加上,可是怎么换参数都不行,该怎么修改呀?把top 换成Bottom:底边框
Left:   左边框
Right: 右边框
Top:   上边框
Horz:  水平网格线
Vert:  垂直网格线


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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/2/25 14:28:00 [只看该作者]

1、你有必要这样做吗?分开来打印就好了啊,先打印竖的,再打印横的,再打印竖的啊;

 

2、如果要做,这句代码去掉 rt.Style.GridLines.All = New prt.LineDef

 

然后,哪里需要画线,就直接给行、列、或单元格画线即可。


 回到顶部