Foxtable(狐表)用户栏目专家坐堂 → 一个报表显示两个及以上表的数据


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

主题:一个报表显示两个及以上表的数据

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/11/22 20:46:00 [显示全部帖子]

Dim doc As New PrintDoc '定义一个报表
For Each kh As String In DataTables("客户销售表").GetValues("客户名称")
    Dim rt As New prt.RenderText '定义一个文本对象
    Dim sum1 As Double = DataTables("客户销售表").Compute("sum(销售收入)", "客户名称 = '"& kh & "'")
    Dim sum2 As Double = DataTables("客户费用表").Compute("sum(销售成本)", "客户名称 = '"& kh & "'")
    Dim sum3 As Double = DataTables("客户费用表").Compute("sum(销售费用)", "客户名称 = '"& kh & "'")
    Dim sum4 As Double = DataTables("客户费用表").Compute("sum(销售折扣)", "客户名称 = '"& kh & "'")
    rt.Text = sum1 & " " & sum2 & " " & sum3 & " " & sum4
    doc.Body.Children.Add(rt) '将文本对象加入到报表
Next
doc.Preview() '预览

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/11/22 20:57:00 [显示全部帖子]

参考5楼,写代码。

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/11/22 21:56:00 [显示全部帖子]

汗,放进循环

 

Dim doc As New PrintDoc '定义一个新报表
For r As Integer = 0 To tb.Rows.Count -1 '开始填入该列内容
    Dim rt As New prt.RenderText '定义一个新表格
    Dim tb As Table = Tables("财务报告")
    rt.Style.Font = tb.Font
    rt.Style.TextIndent = 12 '首行缩进12毫米
    rt.Style.LineSpacing = 200 '设置双倍行距
    rt.Style.Font = New Font("宋体", 14) '设置字体
   
    rt.Text =  tb(r,0) & "?" & tb(r,1) & "销售金额" & tb(r,2) & "元,销售成本" & tb(r,3) & "元,销售费用" & tb(r,4) & "元,销售折扣" & tb(r,5) & "元,销售税金" & tb(r,6) & "元,其他支出" & tb(r,7) &  "元."
   
    doc.Body.Children.Add(rt) '将表格加入到报表
Next
doc.Preview()


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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/11/22 22:08:00 [显示全部帖子]

代码没问题

 

Dim doc As New PrintDoc '定义一个新报表
Dim tb As Table = Tables("财务报告")
For r As Integer = 0 To tb.Rows.Count -1 '开始填入该列内容
    Dim rt As New prt.RenderText '定义一个新表格
   
    rt.Style.Font = tb.Font
    rt.Style.TextIndent = 12 '首行缩进12毫米
    rt.Style.LineSpacing = 200 '设置双倍行距
    rt.Style.Font = New Font("宋体", 14) '设置字体
   
    rt.Text =  tb(r,0) & "?" & tb(r,1) & "销售金额" & tb(r,2) & "元,销售成本" & tb(r,3) & "元,销售费用" & tb(r,4) & "元,销售折扣" & tb(r,5) & "元,销售税金" & tb(r,6) & "元,其他支出" & tb(r,7) &  "元."
   
    doc.Body.Children.Add(rt) '将表格加入到报表
Next
doc.Preview()


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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/11/22 22:09:00 [显示全部帖子]


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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/11/22 22:47:00 [显示全部帖子]

rt.Text =  tb(r,0) & "?" & tb(r,1) & "  销售金额" & tb(r,2) & "元,销售成本" & tb(r,3) & "元,销售费用" & tb(r,4) & "元," & iif(tb(r,5)=0,""销售折扣" & tb(r,5) & "元,") & "销售税金" & tb(r,6) & "元,其他支出" & tb(r,7) &  "元."

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/11/23 9:40:00 [显示全部帖子]

汗,你就不能一个段落把所有的内容包括?

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/11/23 9:43:00 [显示全部帖子]

Dim doc As New PrintDoc '定义一个新报表
Dim tb As Table = Tables("财务报告")
For r As Integer = 0 To tb.Rows.Count -1 '开始填入该列内容
    Dim rpar As New prt.RenderParagraph() '定义一个段落对象
    Dim f As New Font("宋体",16,FontStyle.Bold) '定义一个同样但加粗的字体
    rpar.Content.AddText(tb(r,0) & "?" & tb(r,1),f)
    rpar.Style.TextIndent = 12 '首行缩进12毫米
    rpar.Style.LineSpacing = 200 '设置双倍行距
    rpar.Style.Spacing.Bottom = 4
   
    Dim f2 As New Font("宋体", 14) '设置字体
    Dim str As String = "销售金额" & tb(r,2) & "元,销售成本" & tb(r,3) & "元,销售费用" & tb(r,4) & "元," & iif(tb(r,5)=0,"","销售折扣" & tb(r,5)) & "元,销售税金" & tb(r,6) & "元,其他支出" & tb(r,7) &  "元."
    rpar.Content.AddText(str,f2)
    doc.Body.Children.Add(rpar)
Next
doc.Preview()

 回到顶部