Foxtable(狐表)用户栏目专家坐堂 → 专业报表 / 数据绑定 / 多层分组


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

主题:专业报表 / 数据绑定 / 多层分组

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


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

以下是引用1234567在2014-4-2 12:10:00的发言:

如果只提取客户是CS01,日期是今天的图片,代码该怎么写?

 

如下代码

 

Dim doc  As New PrintDoc
Doc.Stacking = prt.StackingRulesEnum.InlineLeftToRight
For Each dr As Row In DataTables("订单").Select("客户 = 'CS01' and 日期 = #" & Date.Today & "#", Tables("订单").Filter)
    Dim rt As New prt.RenderImage
    rt.Image = GetImage(dr("图片"))
    rt.Width = 19 '宽度为19毫米
    rt.Height = 8 '宽度为8毫米
    doc.body.Children.Add(rt)
Next
doc.Preview()


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


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

 如下

 

Dim doc As New PrintDoc
Dim rx As prt.RenderText
Dim tbl As Table = Tables("客户")
Dim Rows As List(Of DataRow)
Dim Regions As List(Of String) = tbl.DataTable.GetValues("地区")
doc.Pagesetting.LandScape = True
For Each Region As String In Regions
    rx = New prt.RenderText
    rx.Style.FontSize = 14
    rx.Style.FontBold = True
    rx.Style.Spacing.Bottom = 2
    rx.Text = "地区: " & Region
    doc.Body.Children.Add(rx)
    Dim ra As New prt.RenderArea '定义一个容器
    ra.Stacking = prt.StackingRulesEnum.InlineLeftToRight '设置容器中对象的排列方式
    For Each dr As DataRow In DataTables("客户").Select("[地区] = '" & Region & "'")
        Dim rt As New prt.RenderText
        rt.Text = dr("公司名称")
        rt.Width = 19 '宽度为19毫米
        rt.Height = 8 '宽度为8毫米
        ra.Children.Add(rt) '将文本对象加入到容器ra中
    Next
    doc.Body.Children.Add(ra) '将容器ra加入到报表
   
Next

doc.preview()

 


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


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

Dim doc As New PrintDoc
Dim rx As prt.RenderText
Dim tbl As Table = Tables("客户")
Dim Rows As List(Of DataRow)
Dim Regions As List(Of String) = tbl.DataTable.GetValues("地区|城市")
doc.Pagesetting.LandScape = True
For Each Region As String() In Regions
    rx = New prt.RenderText
    rx.Style.FontSize = 14
    rx.Style.FontBold = True
    rx.Style.Spacing.Bottom = 2
    rx.Text = "地区: " & Region(0) & "   城市:" & Region(1)
    doc.Body.Children.Add(rx)
    Dim ra As New prt.RenderArea '定义一个容器
    ra.Stacking = prt.StackingRulesEnum.InlineLeftToRight '设置容器中对象的排列方式
    For Each dr As DataRow In DataTables("客户").Select("[地区] = '" & Region(0) & "' and [城市] = '" & Region(1) & "' and 日期 = #" & Date.Today & "#", Tables("客户").Filter)
        Dim rn As New prt.RenderArea
        rn.Width = 53 '宽度53毫米
        rn.Height = 24 '高度24毫米
        rn.Style.Spacing.All = 1
        rn.Style.Borders.All = New prt.Linedef(0.3, Color.Red) '设置边框
        rn.SplitHorzBehavior = prt.SplitBehaviorEnum.Never '禁止水平分割
        rn.SplitVertBehavior = prt.SplitBehaviorEnum.Never '禁止垂直分割
        ra.ChildRen.Add(rn) '将容器加入到报表中
       
        Dim rt As New prt.RenderText
        rt.Text = dr("公司名称")
        rn.Children.Add(rt) '将文本对象加入到容器ra中
        Dim ri As New prt.RenderImage
        ri.Image = GetImage(dr("图片"))
        rn.Children.Add(ri) '将文本对象加入到容器ra中
       
    Next
    doc.Body.Children.Add(ra) '将容器ra加入到报表
   
Next

doc.preview()


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


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

改一下这句

 

Dim Regions As List(Of String) = tbl.DataTable.GetValues("地区|城市")

改成

 

Dim Regions As List(Of String()) = tbl.DataTable.GetValues("地区|城市")


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


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

GetValues("地区|城市", "国家 = '中国'")

 

http://www.foxtable.com/help/topics/2747.htm

 


 回到顶部