今天用Stimulsoft Reports做报表的时候,遇到一个问题,需要一个报表中显示2个报表视图,我在百度和博客园中搜索了一下,发现这方面的资料很少,我自己最后把问题解决了之后,整理了一下给大家分享一下吧。

  这种问题一般解决方法有2个:1、一张Stimulsoft Reports报表绑定2个数据源;2、一张报表绑定一个数据源,通过数据源的筛选来显示2个视图报表的数据。而第一种方法,现在的报表控件好像还都不支持一张报表绑定多个数据源(水晶报表和Stimulsoft Reports)都是,如果有大侠知道一张报表绑定多个数据源的方法,欢迎指教;那下面我们就详细说说第二种实现方法,通过数据筛选来实现一张报表显示多个视图报表。

  首先,肯定还是要Stimulsoft Reports先绑定好你的数据源(dataset啊,视图啊,存储过程啊等等),而我此次绑定的数据源是查询好数据的dataset对象,这个dataset中有你需要显示2张报表视图的所有字段数据,通过Stimulsoft Reports的databand数据源的筛选属性,把一些字段为空(或者你通过三元运算符赋予的设定值)的数据排除(就是说这个dataset中有2个或多个报表数据,而2个报表的数据字段不一样,那第一个报表中的有些字段数据在第二个报表中就肯定没有),这样子,你就可以显示第一个报表时候排除掉第二个报表的数据,因为第一个报表中的有些关键字段,在第二个报表中显示的数据字段值是没有的,显示第一个报表数据时候排除掉没用第二个报表的数据不就是想要显示的报表视图嘛,同理,第二个报表也是啊,通过一些关键字段排除掉第一个报表数据中没值的那些数据,就得到了第二个报表的数据啦。好吧,也许到现在,有些童鞋还在云里雾里,那我就在下面上图详细给大家看一下。

  我们先来看在一张报表中显示多个报表视图的效果:

如果这张报表你不通过筛选来显示这2个报表,那结果肯定是上下2个报表同时显示了2个报表所有的11条数据,而且数据看起比较脏乱,明显不是想要分开显示2个报表的结果。

  在Stimulsoft Reports Designer中设计报表样式,托出headerband、databand、footerband以及画出对应的字段属性中绑定这些我就不在此多说了哈,不清楚的童鞋百度哈,一大堆,这些都基本的设计绑定好之后,我们就要进行2个报表的筛选了,双击databand1也就是合同那个报表,广告合同那个报表就是databand2啦。

大家看到了吧,双击databand1之后就会显示这个“设置”对话框,选择“过滤”,我设置了启用过滤显示“AdContractCode”(广告合同的编号)值等于1的这些数据,因为databand1绑定的是我们合同的报表啊,而不需要显示广告合同的报表啊,我们绑定的dataset对象中合同相关的数据是没有“AdContractCode”(广告合同的编号)值的啊,有“AdContractCode”值的是广告合同相关的数据啊,所以,“AdContractCode”值为1的数据就是合同的数据;同理,筛选出来广告合同相关的数据。

  为什么筛除值为“1”的呢?看代码:

dr["AdContractCode"] = charge.AdContractCode == null ? "1" : charge.AdContractCode;  值为null时候,我默认赋值为“1”。

  好了,就说到这里吧,下班快一个小时了,赶紧回家了,大家有不清楚的再留言吧。

  对了,此文为原创,如果有些童鞋觉得这篇还不错的,欢迎转载,同时,请加上转载的本原文链接。

Stimulsoft Reports筛选数据来绑定显示2个报表的更多相关文章

  1. Vue小练习(for循环,push方法,冒泡,if判断(以及与for循环的连用),按钮高亮,根据input框筛选数据)

    vue练习 ''' 1. 先有一下成绩单数据 scores = [ { name: 'Bob', math: 97, chinese: 89, english: 67 }, { name: 'Tom' ...

  2. web报表工具Stimulsoft Reports.Web在mvc项目中使用

    Stimulsoft Reports.Web,是一款可以直接在Web中编辑报表的报表工具 web项目技术框架mvc4+easyui+knockoutjs 1.在项目中添加引用 Stimulsoft.B ...

  3. ext grid 前台grid加载数据碰到数据重复只显示一条

    在使用gridPanel的时候,如果其数据有字段名为“id”,且数据中id值相同的情况时,相同id的数据只会显示一条,这是因为Ext读取JSON数据的时候采用了类似主键唯一的方式,而这里的主键默认叫“ ...

  4. 开始VS 2012中LightSwitch系列的第4部分:太多信息了!使用查询来排序和筛选数据

    [原文发表地址]  Beginning LightSwitch in VS 2012 Part 4: Too much information! Sorting and Filtering Data ...

  5. 交互式报表和工作报表控件Stimulsoft Reports.Fx for Java

    Stimulsoft Reports.Fx for Java是一款Java平台下的报表工具控件,可以为您的应用程序添加交互式报表和工作报表.Java技术可以用于不同的平台.不同的操作系统和不同的硬件, ...

  6. Stimulsoft Reports报表工具

    关于第三方的报表工具,网上的种类有很多,一些专门做报表工具的公司,还针对不同平台语言做了分别处理.总之功能都很强大,比较流行和使用广泛的貌似还是国外的产品,版本收费和中文资料匮乏,这都是不可避免的问题 ...

  7. [BILL.WEI]stimulsoft reports ,巧用关系,简化sql语句

    stimulsoft reports关系的2大有点 1,跨数据库. 在做报表的时候,我们可能会从不同的数据库中取数据,这个时候,我们就可以利用关系 通过关联的字段,将2者关联起来,然后就可以在报表里面 ...

  8. [BILL WEI]stimulsoft reports DEMO自动生成模板

    stimulsoft reports是一款强大的报表开发工具,能够开发各式各样的报表. 对于初学者而言,任何报表开发,刚开始都是去模仿,熟练掌握之后,自己才能独立开发,而在报表开发实际过程中, 我们所 ...

  9. 转:Stimulsoft Reports.Fx 2013.3新增 Email、AutoPageScale支持以及图表组件Funnel Weighted Slices

    原文来自于:http://www.infoq.com/cn/news/2014/01/stimulsoft-reports-fx-2013-3 Stimulsoft发布Reprots.Fx 2013. ...

随机推荐

  1. MFC中修改静态文本框中文字的字体、颜色

    假设有一个静态文本框控件,其ID为:IDC_STATIC_XSDJ,且关联一个control类的CStatic类型的变量m_static_xsdj. 设置字体时自然要用到CFont类,下面介绍两种方法 ...

  2. Swift学习笔记十三

    初始化 初始化是一个在类.结构体或枚举的实例对象创建之前,对它进行预处理的过程,包括给那个对象的每一个存储式属性设定初始值,以及进行一些其他的准备操作. 通过定义初始化器(initializer)来实 ...

  3. MySQL数据库最大连接数

    MYSQL数据库安装完毕后,默认最大连接数是100. 命令: show processlist; 假设是root帐号,你能看到全部用户的当前连接.假设是其他普通帐号,仅仅能看到自己占用的连接. sho ...

  4. TP复习8

    ## ThinkPHP 3.1.2 视图#讲师:赵桐正微博:http://weibo.com/zhaotongzheng 本节课大纲:一.模板的使用 (重点) a.规则 模板文件夹下[TPL]/[分组 ...

  5. STL中的优先级队列(priority_queue)的自己实现priqueue

    这篇文章主要介绍堆(最大堆和最小堆),以及一些系统对一些任务,比如线程,进程做调度的时候,所采用的优先级队列. 主要思想就是,做一个最大堆(任务的权重最大的在顶端),把顶端的任务取出,重新做一个堆,处 ...

  6. linux上nagios安装完整版

    监控server端的安装部署一.apache的安装下载httpd-2.2.15.tar.gz gunzip httpd-2.2.15.tar.gztar xvf httpd-2.2.15.tarcd ...

  7. php-工厂模式(转)

    针对自己的不足与加深php的认识,选择用php来研究各种设计模式. 今天就看了设计模式的介绍,并学习了工厂模式,因为工厂模式比较简单,也比较常用.工厂模式的最主要作用就是对象创建的封装.简化创建对象操 ...

  8. MySQL通用优化 叶金荣!!!

    http://mp.weixin.qq.com/s?__biz=MjM5NDE0MjI4MA==&mid=208777870&idx=1&sn=6efddd6283e4deb3 ...

  9. NopCommerce使用Autofac实现依赖注入

    NopCommerce的依赖注入是用的AutoFac组件,这个组件在nuget可以获取,而IOC反转控制常见的实现手段之一就是DI依赖注入,而依赖注入的方式通常有:接口注入.Setter注入和构造函数 ...

  10. 经典排序算法总结与实现 ---python

    原文:http://wuchong.me/blog/2014/02/09/algorithm-sort-summary/ 经典排序算法在面试中占有很大的比重,也是基础,为了未雨绸缪,在寒假里整理并用P ...