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


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

主题:[求助]

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


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

向lin_hailun(你有数据!)!!!

想生成一个按区、学校分组的参赛队员报表,学习使用分组打印和标签打印后编了一段代码,执行时编号和姓名分开了,每行只显示了一列,后面还出现了重叠现象。我的想法是:先按区、学校分组;然后显示每个队员的姓名和编号,并象标签一样显示。

 

 

 

 

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

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

'打印一级分组的组名
rt.Text= "[Fields!区.Value]:"
rt.Style.FontSize = 14
rt.Style.FontBold = True
rt.Style.Spacing.Bottom = 2
ra1.Children.Add(rt)
'设置二级分组
ra2 = New Prt.RenderArea
ra2.Style.Spacing.Bottom = 2
ra2.DataBinding.DataSource = ra1.DataBinding.DataSource
ra2.DataBinding.Grouping.Expressions.Add("Fields!学校.Value")
ra1.Children.Add(ra2)
'打印二级分组的组名
rt = New prt.RenderText
rt.Text= "[Fields!学校.Value]:"
rt.Style.FontSize = 12
rt.Style.FontBold = True
rt.Style.Spacing.Bottom = 2
ra2.Children.Add(rt)

'设置三级分组
ra3=New Prt.RenderArea
ra3.Stacking = prt.StackingRulesEnum.InlineLeftToRight
ra3.Width = 30 '设置标签宽度
ra3.SplitHorzBehavior = prt.SplitBehaviorEnum.Never '禁止水平分割
ra3.SplitVertBehavior = prt.SplitBehaviorEnum.Never '禁止垂直分割
ra3.Style.Spacing.Right = 2 '设置标签之间的所有和上下间隔为2毫米
ra3.Style.Spacing.Bottom = 2
ra3.DataBinding.DataSource = BindTables("报名表")
'Doc.Body.ChildRen.Add(ra) '将容器加入到报表中
ra2.Children.Add(ra3) '添加到二级分组中


'设置标签内容
rt = New prt.RenderText
rt.Text = "编号:[Fields!编号.Value]"
'rt.DataBinding.DataSource = ra2.DataBinding.DataSource
ra3.Children.Add(rt)
rt = New prt.RenderText
rt.Text = "姓名:[Fields!姓名.Value]"
'rt.DataBinding.DataSource = ra2.DataBinding.DataSource
ra3.Children.Add(rt)

 


doc.body.Children.Add(ra1)
doc.Preview()

[此贴子已经被作者于2012-12-21 9:19:42编辑过]

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


加好友 发短信
等级:狐神 帖子:6708 积分:34304 威望:0 精华:11 注册:2012/8/18 23:10:00
  发帖心情 Post By:2012/12/20 18:09:00 [只看该作者]

 好的,变成这样。

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

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

'打印一级分组的组名
rt.Text= "[Fields!区.Value]:"
rt.Style.FontSize = 14
rt.Style.FontBold = True
rt.Style.Spacing.Bottom = 2
ra1.Children.Add(rt)
'设置二级分组
ra2 = New Prt.RenderArea
ra2.Style.Spacing.Bottom = 2
ra2.DataBinding.DataSource = ra1.DataBinding.DataSource
ra2.DataBinding.Grouping.Expressions.Add("Fields!学校.Value")
ra1.Children.Add(ra2)


'打印二级分组的组名
rt = New prt.RenderText
rt.Text= "[Fields!学校.Value]:"
rt.Style.FontSize = 12
rt.Style.FontBold = True
rt.Style.Spacing.Bottom = 2
ra2.Children.Add(rt)


'设置标签内容
ra3 = New prt.RenderArea
rt = New prt.RenderText
rt.Text = "编号:[Fields!编号.Value]"
ra3.Children.Add(rt)
rt = New prt.RenderText
rt.Text = "姓名:[Fields!姓名.Value]"
ra3.DataBinding.DataSource = ra2.DataBinding.DataSource
ra3.Children.Add(rt)
ra2.Children.Add(ra3)


doc.body.Children.Add(ra1)
doc.Preview()


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


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


图片点击可在新窗口打开查看此主题相关图片如下:标签.jpg
图片点击可在新窗口打开查看
这是我截取的显示图片,现在由两个问题:

1.开头出现几个校名是什么原因

2.我想要的效果为:

   硚口区:

   东------小学

   编号 300121    编号 30012     编号 30013     编号 30014       编号 30015      编号 30016

   姓名 张三        姓名 李四       姓名 往外       姓名 空间看      姓名 偶觉得     姓名 婆婆可

   ---

   ---

请指教!!!

[此贴子已经被作者于2012-12-20 20:20:53编辑过]

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


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

期待中!!!

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


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

期待中=======

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


加好友 发短信
等级:狐神 帖子:6708 积分:34304 威望:0 精华:11 注册:2012/8/18 23:10:00
  发帖心情 Post By:2012/12/20 21:41:00 [只看该作者]

 明天吧,楼主,数据不再我机子上。明天帮你试一下。

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


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

好的  先谢了!!!

 


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


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

这样更好:

   硚口区:

   东------小学

   编号           姓名        编号          姓名          编号        姓名        编号       姓名           编号       姓名 

   30001       东风飞      30002      没机会       30003     电视上     30004    等事项        30005    机顶盒

   30006       地方法      。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

       。

       。

  。。。。。小学

    编号           姓名        编号          姓名          编号        姓名        编号       姓名           编号       姓名 

   30001       东风飞      30002      没机会       30003     电视上     30004    等事项        30005    机顶盒

   30006       地方法      。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。


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


加好友 发短信
等级:狐神 帖子:6708 积分:34304 威望:0 精华:11 注册:2012/8/18 23:10:00
  发帖心情 Post By:2012/12/21 9:45:00 [只看该作者]

 好的,这样就差不多了。

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

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

'打印一级分组的组名
rt.Text= "[Fields!区.Value]:"
rt.Style.FontSize = 14
rt.Style.FontBold = True
rt.Style.Spacing.Bottom = 2
ra1.Children.Add(rt)
'设置二级分组
ra2 = New Prt.RenderArea
ra2.Style.Spacing.Bottom = 2
ra2.Stacking = prt.StackingRulesEnum.InlineLeftToRight
ra2.DataBinding.DataSource = ra1.DataBinding.DataSource
ra2.DataBinding.Grouping.Expressions.Add("Fields!学校.Value")
ra1.Children.Add(ra2)

'打印二级分组的组名
ra3 = New prt.RenderArea
ra3.Stacking = prt.StackingRulesEnum.InlineLeftToRight
rt = New prt.RenderText
rt.Text= "[Fields!学校.Value]:"
rt.Style.FontSize = 12
rt.Style.FontBold = True
rt.Style.Spacing.Bottom = 2
ra3.Children.Add(rt)
For i As Integer = 0 To 4
    rt = New prt.RenderText
    rt.Text = "编号"
    rt.Width = 15
    ra3.Children.Add(rt)
    rt = New prt.RenderText
    rt.text = "姓名"
    rt.width = 15
    ra3.Children.Add(rt)
Next
ra2.Children.Add(ra3)

'设置标签内容
ra3 = New prt.RenderArea
ra3.Width = 30
ra3.Stacking = prt.StackingRulesEnum.InlineLeftToRight
rt = New prt.RenderText
rt.Text = "[Fields!编号.Value]"
rt.Width = 15
ra3.Children.Add(rt)
rt = New prt.RenderText
rt.Text = "[Fields!姓名.Value]"
rt.Width = 15
ra3.DataBinding.DataSource = ra2.DataBinding.DataSource
ra3.Children.Add(rt)
ra2.Children.Add(ra3)


doc.body.Children.Add(ra1)
doc.Preview()


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


加好友 发短信
等级:小狐 帖子:383 积分:2439 威望:0 精华:0 注册:2011/12/3 22:19:00
  发帖心情 Post By:2012/12/21 9:47:00 [只看该作者]

麻烦把实例数据也给我们看一下啊,这样也知道怎么学习啊

学习林大叔


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