Foxtable(狐表)用户栏目专家坐堂 → 如何连续打印凭证?


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

主题:如何连续打印凭证?

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/7/3 16:21:00 [显示全部帖子]


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/7/3 17:36:00 [显示全部帖子]

对应例子,修改代码

 

http://www.foxtable.com/webhelp/scr/1250.htm

 

 

Dim doc As New Printdoc
Dim rx As prt.RenderText
Dim rt As prt.RenderTable
Dim Rows As List(Of DataRow)
Dim tbl As Table = Tables("类别")

For i As Integer = tbl.TopRow To tbl.BottomRow Step 2
    For j As Integer = 1 To 2
        If i+j-1 <= tbl.BottomRow Then
            rx = New prt.RenderText
            rx.Style.FontSize = 14
            rx.Style.FontBold = True
            rx.Style.Spacing.Bottom = 5
            rx.Text = "类别: " & Tables("类别").Rows(i+j-1)("类别名称")
            doc.Body.Children.Add(rx)
           
            rt = New prt.RenderTable
            rt.Style.TextAlignHorz = prt.AlignHorzEnum.Center
            rt.Style.TextAlignVert = prt.AlignVertEnum.Center
            rt.Style.Borders.Bottom = New prt.LineDef(0.3,Color.LightGray)
            rt.CellStyle.Spacing.All = 1
            rt.Cols.Count = 4
            rt.Cells(0,0).Text = "产品名称"
            rt.Cells(0,1).Text = "单价"
            rt.Cells(0,2).Text = "库存量"
            rt.Cells(0,3).Text = "订购量"
            rt.Cells(0,4).Text = "再订购量"
            rt.Cells(0,5).Text = "中止"
            rt.rows(0).Style.Borders.Top = New prt.LineDef(1,Color.LightGray)
            rt.rows(0).Style.Borders.Bottom = New prt.LineDef(1,Color.LightGray)
           
            Rows = Tables("类别").Rows(i+j-1).DataRow.GetChildRows("产品")
            For r As Integer = 0 To 6
                If r >= Rows.count Then
                    rt.Cells(r+1,0).Text = "   "
                Else
                    rt.Cells(r+1,0).Text = rows(r)("产品名称")
                    rt.Cells(r+1,1).Text = rows(r)("单价")
                    rt.Cells(r+1,2).Text = rows(r)("库存量")
                    rt.Cells(r+1,3).Text = rows(r)("订购量")
                    rt.Cells(r+1,4).Text = rows(r)("再订购量")
                End If
            Next
           
            doc.Body.Children.Add(rt)
            If j = 2 Then
                rt.BreakAfter = prt.BreakEnum.Page '另起一页再打印
            End If
        End If
    Next
Next
doc.Preview

 


 回到顶部