Foxtable(狐表)用户栏目专家坐堂 → [求助]专业报表套打


  共有3394人关注过本帖平板打印复制链接

主题:[求助]专业报表套打

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


加好友 发短信
等级:四尾狐 帖子:972 积分:7048 威望:0 精华:0 注册:2013/3/31 10:33:00
[求助]专业报表套打  发帖心情 Post By:2014/2/8 20:01:00 [只看该作者]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:多条件筛选.table

按客户/雇员/产品筛选,然后在命令窗口加入以下代码执行:

Dim doc As New PrintDoc
Dim rt As Prt.RenderTable
Dim rx As prt.RenderText
Dim tbl As Table = Tables("订单")
Dim Rows As List(Of DataRow)
Dim Datas As List(Of String) = tbl.DataTable.GetValues("客户",tbl.Filter)
doc.Pagesetting.LandScape = True
For Each Data As String In Datas
    rx = New prt.RenderText
    rx.Style.FontSize = 8
    rx.Text = Data
    rx.x = 117
    rx.y = 28
    doc.Body.Children.Add(rx)
   
    rt = New prt.RenderTable
    rt.Style.Font = Tables("订单").Font
    rt.Style.TextAlignVert = prt.AlignVertEnum.Center
    'rt.Style.GridLines.All = New prt.LineDef(0.3,Color.LightGray)
    rt.Style.Spacing.Bottom = 5
    rt.CellStyle.Spacing.All = 2
    rt.Style.Font = tbl.Font
    If tbl.Filter = "" Then
        Rows = tbl.DataTable.Select("[客户] = '" & Data & "'")
    Else
        Rows = tbl.DataTable.Select("[客户] = '" & Data & "' And (" & tbl.Filter & ")")
    End If
    Dim ColNames As String() = New String(){"单价", "折扣","数量","金额"}
   
    For c As Integer = 0 To ColNames.Length - 1 '逐列设置和填入内容
        rt.Width = "Auto"
        For i As Integer = 0 To 3
            rt.Cols(0).Width = 20  '设置列宽
            rt.Cols(1).Width = 24  '设置列宽
            rt.Cols(2).Width = 12 '设置列宽
            rt.Cols(3).Width = 12 '设置列宽
        Next
        For r As Integer = 0 To Rows.Count -1
            rt.Cells(r + 1, c).Text = Rows(r)(ColNames(c))
        Next
    Next
    rt.RowGroups(0,1).Header = prt.TableHeaderEnum.All
    doc.Body.Children.Add(rt)
Next
Doc.PageSetting.LeftMargin = 24 '设置左边距
'Doc.PageSetting.RightMargin = 10 '设置右边距
Doc.PageSetting.TopMargin = 62 '设置上边距
'Doc.PageSetting.BottomMargin = 10 '设置下边距
doc.PageSetting.Width = 210 '纸张宽度为100毫米
doc.PageSetting.Height = 140 '纸张高度为120毫米
doc.preview()

结果:

 


图片点击可在新窗口打开查看此主题相关图片如下:uuu.jpg
图片点击可在新窗口打开查看

 


在我的实际运用中,需要添加3段打印文本,以下代码打印了客户文本:

rx = New prt.RenderText
    rx.Style.FontSize = 8
    rx.Text = Data
    rx.x = 117
    rx.y = 28
    doc.Body.Children.Add(rx)

如果想打印雇员和产品文本,上面的代码如何改?

 

另说明实际运用中,只需按客户筛选,雇员和产品这两列内容都是相同的。

 


 回到顶部