找回密码
 立即注册

QQ登录

只需一步,快速开始

kinber

中级会员

33

主题

89

帖子

533

积分

中级会员

积分
533

活字格认证微信认证勋章元老葡萄

kinber
中级会员   /  发表于:2016-2-24 22:12  /   查看:4934  /  回复:9
这样的报表采用什么方式设计报表


这个表按照姓名分组的,每个分组中按照日期进行显示。
使用什么控件嵌套还是采用子报表?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

9 个回复

倒序浏览
kinber
中级会员   /  发表于:2016-2-24 22:31:00
沙发
报表设计器中不能使用子报表吗?搜索的教程中都是讲在vs中使用!!
回复 使用道具 举报
kinber
中级会员   /  发表于:2016-2-24 23:11:00
板凳
上面一个报表中,如何设置2个分组后强制分页?
回复 使用道具 举报
Lenka.Guo讲师达人认证 悬赏达人认证
超级版主   /  发表于:2016-2-25 09:44:00
地板
回复 3楼kinber的帖子

按一下步骤实现:
1. 采用 页面报表模板(因为纸张大小固定,基本行数固定)
2. 使用Table 控件(添加分组 按人名分组,并隐藏表头和表尾)
3. 拖动表格阴影,控制每页表格显示的高度(实现每页显示两个分组的关键点)
Demo 见附件:

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
Lenka.Guo讲师达人认证 悬赏达人认证
超级版主   /  发表于:2016-2-25 09:49:00
5#
子报表相当于是另外一个报表的占位符,在设计器中也可以使用,需要指定子报表 的具体的报表路径。
回复 使用道具 举报
kinber
中级会员   /  发表于:2016-2-25 17:00:00
6#
这个表格上下部分的记录数不确定,不好控制,能否设置行数,不足的部分填充空行补充?
回复 使用道具 举报
Lenka.Guo讲师达人认证 悬赏达人认证
超级版主   /  发表于:2016-3-1 14:23:00
7#
抱歉这么久才回复您,对于每页显示一个分组,我们可以控制,但是对于每页显示两个分组,而且分组的数据还不确定,
这个有两种方法可以尝试:
1. 是我向您传的Demo,使用Table的阴影来控制每页显示的行数,从而控制每页显示两个分组。
2. 通过修改数据集,添加空白行,保证每个分组的数据行相同,从而控制每页显示的行数。
如果这两个方法都不可行,就没有其他方法了。
回复 使用道具 举报
kinber
中级会员   /  发表于:2016-3-1 14:46:00
8#
感觉第二种方法可行性要好些。 请发一个绑定dataset的案例给我一下,就是通过C#直接操作处理好dataset后推送给报表的方式。
回复 使用道具 举报
Lenka.Guo讲师达人认证 悬赏达人认证
超级版主   /  发表于:2016-3-1 16:55:00
9#
我说的第二种方法,意思是能否在数据库中增加空白记录,然后获取的每组数据的行数都是一样的。
回复 使用道具 举报
Lenka.Guo讲师达人认证 悬赏达人认证
超级版主   /  发表于:2016-3-2 11:58:00
10#
实现: 一页显示两个分组,使用页面报表和RDL 报表实现比较困难,建议采用区域报表设计;

具体实现方法,见附件:
主要实现思路:在脚本中,添加GroupFooter1_Format 事件;根据组个数的奇偶,来控制是否换页,可点击报表的脚本标签,查看代码:

int GroupCount = 0;

public void GroupHeader1_Format()
{
        GroupCount++;
       
}


public void GroupFooter1_Format()
{
        this.TextBox2.Value = GroupCount%2;

        if(GroupCount % 2 == 0)
        {GroupFooter1.NewPage = NewPage.After;}
       
        if(GroupCount % 2 == 1)
                        {GroupFooter1.NewPage = NewPage.None;}
       
}


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部