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


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

主题:[求助]关联报表打印

帅哥哟,离线,有人找我吗?
云淡风轻
  11楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:409 积分:3022 威望:0 精华:0 注册:2012/1/19 10:11:00
  发帖心情 Post By:2014/5/6 16:48:00 [只看该作者]

版主,还有一问,怎么打印页面格式设置成A4横向的呢?

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/5/6 17:11:00 [只看该作者]

以下是引用云淡风轻在2014-5-6 16:48:00的发言:
版主,还有一问,怎么打印页面格式设置成A4横向的呢?

 

如下,直接用excel打印处理,代码写在excel报表事件里面。

 

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:家谱信息管理系统.zip


 回到顶部
帅哥哟,离线,有人找我吗?
云淡风轻
  13楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:409 积分:3022 威望:0 精华:0 注册:2012/1/19 10:11:00
  发帖心情 Post By:2014/5/7 9:05:00 [只看该作者]

版主,我看了看,有几个地方还想请教下,在beforebuild里面:           

 For j As Integer = r.GetChildRows("儿子信息").count + 1 To r.GetChildRows("女儿信息").count
                Dim dr As DataRow = DataTables("儿子信息").AddNew
                dr("生母序号") = r("配偶序号")
 Next

为什么给儿子信息表增加行,这个代码的用意,是不是为了取得关联女儿数据行?

 

afterbuild中:

If e.Book.TempLate = "宗谱" Then
    DataTables("儿子信息").DeleteFor("名字 is null")
End If

报表建立之后把儿子信息中名字列空白的删除,按照这样的条件删,会不会多删除数据?

 

当女儿只有一个时,会打出三个重复的:

 


图片点击可在新窗口打开查看此主题相关图片如下:11.jpg
图片点击可在新窗口打开查看
[此贴子已经被作者于2014-5-7 9:12:10编辑过]

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/5/7 9:30:00 [只看该作者]

 excel报表,是要变通处理一下的,不然不能。

 

 1、新增行,是为了儿子的个数>=女儿的个数;

 

 2、最后删除行,不会影响其他数据,名字为空的数据是应该删除的。

 

 3、重复问题,改一下代码

 

static idx As Integer = 0
If e.Book.TempLate = "宗谱" Then
    If e.Region = "儿子信息" Then
        Dim drs As List(Of DataRow) = e.DataRow.GetParentRow("配偶信息").GetChildRows("女儿信息")
        If idx < drs.Count Then
            Dim dr As DataRow = drs(idx)
            e.Book.Marks("女名字") = dr("名字")
            e.Book.Marks("嫁何处") = dr("嫁何处")
            e.Book.Marks("丈夫姓名") = dr("丈夫姓名")
            idx += 1
        Else
            e.Book.Marks("女名字") = ""
            e.Book.Marks("嫁何处") = ""
            e.Book.Marks("丈夫姓名") = ""

        End If
    Else If e.Region = "配偶信息" Then
        idx = 0
    End If
End If

 


 回到顶部
帅哥哟,离线,有人找我吗?
云淡风轻
  15楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:409 积分:3022 威望:0 精华:0 注册:2012/1/19 10:11:00
  发帖心情 Post By:2014/5/7 9:49:00 [只看该作者]

版主,谢谢你的耐心回答!

 回到顶部
总数 15 上一页 1 2