Foxtable(狐表)用户栏目专家坐堂 → 老大 出手 一个专业报表的 纸张问题


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

主题:老大 出手 一个专业报表的 纸张问题

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


加好友 发短信
等级:三尾狐 帖子:760 积分:4714 威望:0 精华:0 注册:2011/12/17 18:37:00
老大 出手 一个专业报表的 纸张问题  发帖心情 Post By:2013/4/22 22:16:00 [显示全部帖子]

 Dim doc As New PrintDoc
Dim rt As New prt.RenderTable '定义一个新表格
Dim tb As Table = Tables( "出库.出库明细" )
Dim ColNames As New List(Of String)
Dim rs As New prt.RenderText()
rt.Width = "Parent.Width"
rt.Style.Spacing.Top = 21 '表格和前面对象的垂直间隔为4毫米
rs.Text = "xxxxxxxxxx公司出库单"
rs.Style.Font = New Font("微软雅黑",15)
rs.Style.TextAlignHorz = prt.AlignHorzEnum.Center '文本内容水平居中
doc.Body.Children.Add(rs)
rs= New prt.RenderText()
rt.Width = "Parent.Width"
rt.Style.Spacing.Top = 6 '表格和前面对象的垂直间隔为4毫米
rs.Text = "xxxxxxxxxxxx"
rs.Style.Font = New Font("微软雅黑",10)
rs.Style.TextAlignHorz = prt.AlignHorzEnum.Center '文本内容水平居中
doc.Body.Children.Add(rs) '将文本对象加入到表格中

For Each cl As Col In tb.Cols '排除隐藏列
    Select Case cl.Name
        Case "商品代码","商品名称","商品类别","出库用途","规格","数量","单价","单位","金额","备注"
            ' If cl.Visible Then
            ColNames.Add(cl.Name)
            'End If
    End Select
Next
rt.Width ="Auto"
rt.CanSplitHorz = True
rt.Style.Font = tb.Font
For c As Integer = 0 To ColNames.Count - 1
    rt.Cells(0,c).Text = ColNames(c)
    rt.Cells(0,c).Style.TextAlignHorz = prt.AlignHorzEnum.Center
    rt.Cols(c).Width = tb.Cols(ColNames(c)).PrintWidth
    rt.Cols(c).Style.TextAlignHorz =prt.AlignHorzEnum.Center
    rt.Cols(c).Style.TextAlignVert =prt.AlignVertEnum.Center
    For r As Integer = 0 To tb.Rows.Count -1
        rt.Cells(r + 1, c).Text = tb.Rows(r)(ColNames(c))
    Next
Next
rt.Rows.Count = rt.Rows.Count + 1
Dim cnt As Integer = rt.Rows.Count - 1
rt.Cells(cnt,0).Text = "总计"
For c As Integer = 0 To ColNames.Count - 1
    If tb.Cols(ColNames(c)).IsNumeric Then
        rt.Cells(cnt,c).Text = tb.Compute("Sum(" & ColNames(c) & ")")
    End If
Next
rt.Style.Gridlines.All = New prt.Linedef(Color.LightGray) ' 网格线
doc.Body.Children.Add(rt)doc.PageSetting.Landscape = True '打印方向
Doc.PageSetting.LeftMargin = 10 '设置左边距
Doc.PageSetting.RightMargin = 10  '设置右边距
Doc.PageSetting.TopMargin = 10  '设置上边距
Doc.PageSetting.BottomMargin = 10   '设置下边距
doc.PageSetting.Width = 270
doc.PageSetting.Height = 120     这边的纸张大小等于 打印区域的大小  帮我写下代码   
doc.Preview()


老大,红字部分帮帮忙 纠结了很多天了.
[此贴子已经被作者于2013-4-22 22:31:33编辑过]

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


加好友 发短信
等级:三尾狐 帖子:760 积分:4714 威望:0 精华:0 注册:2011/12/17 18:37:00
  发帖心情 Post By:2013/4/22 22:22:00 [显示全部帖子]

宽度可以固定 因为是针式打印机

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


加好友 发短信
等级:三尾狐 帖子:760 积分:4714 威望:0 精华:0 注册:2011/12/17 18:37:00
  发帖心情 Post By:2013/4/22 22:36:00 [显示全部帖子]

老大 就这个代码 你帮我写一个尺寸 看看 

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


加好友 发短信
等级:三尾狐 帖子:760 积分:4714 威望:0 精华:0 注册:2011/12/17 18:37:00
  发帖心情 Post By:2013/4/22 22:45:00 [显示全部帖子]

百度没找到这个变量.能否提供一个

 回到顶部