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


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

主题:[求助] 报表

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


加好友 发短信
等级:三尾狐 帖子:645 积分:4583 威望:0 精华:0 注册:2012/11/12 14:27:00
[求助] 报表  发帖心情 Post By:2013/6/10 21:30:00 [只看该作者]

问题:“教练”没有显示出来。原因可能出在红色代码中,经测试没有获得"[Fields!区.Value]"的文本。

        如何修改,请专家指教!!!

Tables("报名表").Sort = "区号,级别,学校"

Dim doc As New PrintDoc
Dim r As New prt.RenderText
Dim rt As New prt.RenderText
Dim ra1 As New prt.RenderArea
Dim ra2 As New prt.RenderArea
Dim ra3 As New prt.RenderArea

'设置表名
r = New prt.RenderText
r.Text= jsmc
r.Style.Font = New Font("楷体", 16, FontStyle.Bold)
r.Style.FontBold = True
r.Style.TextAlignHorz = prt.AlignHorzEnum.Center
r.Style.Spacing.Bottom = 5
doc.Body.Children.Add(r)
r = New prt.RenderText
r.Text= "号码对照表"
r.Style.Font = New Font("楷体", 16, FontStyle.Bold)
r.Style.FontBold = True
r.Style.TextAlignHorz = prt.AlignHorzEnum.Center
r.Style.Spacing.Bottom = 5
doc.Body.Children.Add(r)

'设置一级分组
ra1.Style.Spacing.Bottom = 5
ra1.Stacking = prt.StackingRulesEnum.InlineLeftToRight
ra1.DataBinding.DataSource = BindTables("报名表")
ra1.DataBinding.Grouping.Expressions.Add("Fields!区.Value")

'打印一级分组的组名
rt = New prt.RenderText
rt.Text= "[Fields!区.Value]代表队:"
rt.Style.FontSize = 12
rt.Style.FontBold = True
rt.Style.Spacing.Bottom = 2
ra1.Children.Add(rt)

rt = New prt.RenderText
rt.Text= "领队:   [Fields!领队.Value]"
rt.Style.FontSize = 12
rt.Style.FontBold = True
rt.Style.Spacing.Bottom = 2
'rt.DataBinding.DataSource = ra1.DataBinding.DataSource
ra1.Children.Add(rt)

rt = New prt.RenderText
Dim str As String  = "[Fields!编号.Value]"
Dim ss As String
Dim jl As String
Dim jls As List(of String) =  DataTables("报名表").GetUniqueValues("竞赛名称 = '海模' And 区 = '"[Fields!区.Value]"',"辅导老师")
For Each jl  In  jls
    ss = ss & "   " & jl
Next

rt.Text= "教练:   "& ss &""
rt.Style.FontSize = 12
rt.Style.FontBold = True
rt.Style.Spacing.Bottom = 2
'rt.DataBinding.DataSource = ra1.DataBinding.DataSource
ra1.Children.Add(rt)

ra3 = New prt.RenderArea
ra3.Width = 33
ra3.Style.Spacing.Bottom = 1
ra3.Stacking = prt.StackingRulesEnum.InlineLeftToRight
rt = New prt.RenderText
rt.Text = "[Fields!编号.Value]"
rt.Width = 15
rt.Style.Spacing.Bottom = 1
rt.Style.FontSize = 10.5
ra3.Children.Add(rt)
rt = New prt.RenderText
rt.Text = "[Fields!姓名.Value]"
rt.Width = 18
rt.Style.Spacing.Bottom = 1
rt.Style.FontSize = 10.5
ra3.Children.Add(rt)
ra3.DataBinding.DataSource = ra1.DataBinding.DataSource
ra1.Children.Add(ra3)

doc.body.Children.Add(ra1)
Doc.PageSetting.LeftMargin = 25 '设置左边距
Doc.PageSetting.RightMargin = 15 '设置右边距
Doc.PageSetting.TopMargin = 20 '设置上边距
Doc.PageSetting.BottomMargin = 15 '设置下边距

Tables("报名表").Sort = ""
doc.Preview()

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.table


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


加好友 发短信
等级:三尾狐 帖子:645 积分:4583 威望:0 精华:0 注册:2012/11/12 14:27:00
  发帖心情 Post By:2013/6/14 11:55:00 [只看该作者]

请专家指教!

另请问怎么又出现窗口修改后不能保存?!!!


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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2013/6/14 12:06:00 [只看该作者]

.
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.table


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


加好友 发短信
等级:三尾狐 帖子:645 积分:4583 威望:0 精华:0 注册:2012/11/12 14:27:00
  发帖心情 Post By:2013/6/14 12:30:00 [只看该作者]

谢谢!

现在还有一个问题 ,报表显示每个区的“教练”都是一样的,没有按区分开

[此贴子已经被作者于2013-6-14 12:53:10编辑过]

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


加好友 发短信
等级:三尾狐 帖子:645 积分:4583 威望:0 精华:0 注册:2012/11/12 14:27:00
  发帖心情 Post By:2013/6/14 13:30:00 [只看该作者]

请指教!

 

 

谢谢!

现在还有一个问题 ,报表显示每个区的“教练”都是一样的,没有按区分开

 

 

 


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


加好友 发短信
等级:三尾狐 帖子:645 积分:4583 威望:0 精华:0 注册:2012/11/12 14:27:00
  发帖心情 Post By:2013/6/14 14:11:00 [只看该作者]

谢谢!

现在还有一个问题 ,报表显示每个区的“教练”都是一样的,没有按区分组显示。

 

 

请专家指教! 

[此贴子已经被作者于2013-6-14 14:11:21编辑过]

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


加好友 发短信
等级:幼狐 帖子:116 积分:687 威望:0 精华:0 注册:2013/5/31 14:25:00
  发帖心情 Post By:2013/6/14 14:42:00 [只看该作者]

请问你在一楼贴的代码是放在哪里的,找不到呢。

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


加好友 发短信
等级:三尾狐 帖子:645 积分:4583 威望:0 精华:0 注册:2012/11/12 14:27:00
  发帖心情 Post By:2013/6/14 14:46:00 [只看该作者]

导航栏---项目编排----报名表----参赛队员表


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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2013/6/14 14:49:00 [只看该作者]

以下是引用wsxdwh在2013-6-14 14:11:00的发言:

谢谢!

现在还有一个问题 ,报表显示每个区的“教练”都是一样的,没有按区分组显示。

 

 

请专家指教! 

[此贴子已经被作者于2013-6-14 14:11:21编辑过]

你原本的代码也没分区的意图 如果想分区那么就不可以使用这种方式实现了. 使用手动循环 一个个单元格赋值的方法做这样才能控制.

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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2013/6/14 15:06:00 [只看该作者]

是的,只能编码实现,不能用绑定的,我印象中之前给你写过类似的。

 

细节自己调整:

 

Dim doc As New PrintDoc '定义一个报表
Dim js As String = "海模"
Dim s As String
Dim rt As prt.RenderText
rt = new prt.RenderText
rt.text = "2013年" & js & "地区代表队"
doc.body.Children.add(rt)
For Each dq As String In DataTables("报名表").GetUniqueValues("竞赛名称 = '" & js & "'","区")
    rt = new prt.RenderText
    rt.text = vbcrlf & "地区:" & dq
    doc.body.Children.add(rt)
   
    s = ""
    For Each nm As String In DataTables("报名表").GetUniqueValues("竞赛名称 = '" & js & "' And 区 = '" & dq & "'","领队")
        s  = s & nm & ","
    Next
    rt = new prt.RenderText
    rt.text = "领队:" & s.trim(",")
    doc.body.Children.add(rt)
   
    s = ""
    For Each nm As String In DataTables("报名表").GetUniqueValues("竞赛名称 = '" & js & "' And 区 = '" & dq & "'","教练")
        s  = s &  nm & ","
    Next
    rt = new prt.RenderText
    rt.text = "教练:" & s.trim(",")
    doc.body.Children.add(rt)
   
    Dim drs As List(of DataRow) =   DataTables("报名表").Select("竞赛名称 = '" & js & "' And 区 = '" & dq & "'")
    Dim tb As new prt.RenderTable
    For i As Integer = 0 To drs.count -1 Step 5 '每行五个队员
        For n As Integer = i To math.Min(drs.count -1,i + 4) '打印这五个队员
            tb.cells(n \ 5, (n Mod 5) * 2).text = drs(n)("编号")
            tb.cells(n \ 5, (n Mod 5) * 2 + 1).text = drs(n)("姓名")
        Next
    Next
    doc.body.Children.add(tb)
Next
doc.Preview() '预览

[此贴子已经被作者于2013-6-14 15:15:07编辑过]

 回到顶部
总数 18 1 2 下一页