Stimulsoft Reports筛选数据来绑定显示2个报表

原文:Stimulsoft Reports筛选数据来绑定显示2个报表

  今天用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”。

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

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

时间: 2024-12-23 10:56:51

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

aspxgridview-按条件筛选后重新绑定ASPxGridView1绑定的数据没有显示

问题描述 按条件筛选后重新绑定ASPxGridView1绑定的数据没有显示 页面刚加载的时候绑定了ASPxGridView1,按条件筛选后重新绑定ASPxGridView1绑定的数据没有显示 这是我的代码 DataTable dt = new DataTable(); dt=ALLS.RepaymentPlanQueryHe(StartDate, closingDay).Tables[0]; this.ASPxGridView1.DataSource = dt; this.ASPxGridVie

dropdownlist-asp.net DropDownList 在后台绑定了数据 前台不显示

问题描述 asp.net DropDownList 在后台绑定了数据 前台不显示 后台代码: this.dp_fenlei.DataSource = DbHelperSQL.GetDataTableAll(""SELECT * FROM [视频分类] WHERE 商家编号_ID = "" + Session[""aid""] + """"); this.dp_fenlei.DataVal

datalist 控制每行显示数据条数的RepeatColumns属性 能否绑定数据 如何绑定数据

问题描述 datalist控制每行显示数据条数的RepeatColumns属性能否绑定数据如何绑定数据定义了一个函数Geti()返回inti<asp:DataListID="dlPictrue1"runat="server"RepeatColumns='<%#Eval(Convert.ToString(Geti()))%>'RepeatDirection="Horizontal">我这样绑定时会报错,请问RepeatCol

asp.net Repeater1绑定显示大量数据时,显示&amp;amp;quot;正在加载数据,请稍后&amp;amp;quot;的提示

问题描述 asp.netRepeater1绑定显示大量数据时,显示"正在加载数据,请稍后"的提示 解决方案 解决方案二:为什么不分页?解决方案三:在实际中我们经常遇到表里的记录数非常庞大(数万至数百万),而一次只显示几十条数据的情况,如果我们直接用下面的SQL语句查询并填充到DataTable的话,将是一个非常恐怖的事情(假设UserInfo有几百万乃至上亿用户数据):Select*fromUserInfo初学者在使用ADO.NET时可能会犯两个错误:(1)在显示数据时:在查询时会将所

net-.NET报表控件Stimulsoft Reports.Net中,应该在何时附加数据?

问题描述 .NET报表控件Stimulsoft Reports.Net中,应该在何时附加数据? 在.NET报表控件Stimulsoft Reports.Net中,应该在报表加载前还是报表加载后附加数据? 解决方案 报表控件Stimulsoft Reports数据字段的使用方法 解决方案二: 都可以.示例如下: 示例1: C# StiReport report = new StiReport(); report.Load("MyReport.mrt"); report.RegData(&

在ASP.NET 2.0中实现数据的绑定

ASP.NET的第一个版本就已经建立了一组新的数据库绑定控件.有了这些控件 的支持,数据的可视化和编辑就简单多了,其中一个最重要的控件就是DataGrid 控件.但是这个控件也有很多缺点.它为数据的排序,分页和编辑提供了一些内 置的功能,但必须手动实现. 而ASP.NET 2.0中采用了一种新的方式来解决以前版本的诸多问题, 并且提供了标准的功能.现在可以对任何数据源进行排序,分页和编辑----在大 多数情况下不需要输入任何代码.由于几乎所有的动态WEB程序都要考虑到与数据库的交互,幸运的是在A

Excel筛选数据

筛选数据清单可以使我们快速寻找和使用数据清单中的数据子集.筛选功能可以使Excel只显示出符合我们设定筛选条件的某一值或符合一组条件的行,而隐藏其他行. 在Excel中提供了"自动筛选"和"高级筛选"命令来筛选数据.一般情况下,"自动筛选"就能够满足大部分的需要.不过,当我们需要利用复杂的条件来筛选数据清单时,就必须使用"高级筛选"才可以. 对于数据清单,我们可以在条件区域中使用两类条件.一是:对于单一的列,可以使用多重的比较

如何在Excel筛选数据

  如何在Excel筛选数据            在Excel中创建简单的过滤器 在Excel中,您可以创建简单和复杂的过滤器,过滤器.让我们从简单的过滤器.使用滤镜的时候,你应该总是在顶部,用于标签有一个排.有这行不是一种需求,但它使过滤器更轻松一点的工作 以上,我有一些假数据,我想创建一个过滤器,对列.在Excel中,这是很容易的事.继续点击数据选项卡中的丝带,然后点击过滤按钮.你没有选择在第一排的表或点击数据 当你点击过滤器,排在第一位的每一列会自动有一个小的下拉按钮在最合适的添加 现在

Excel2000如何自动筛选数据

  Excel2000如何自动筛选数据: 若要查看数据清单中符合某些条件的数据,如本月中已有哪些用户与本公司有业务联系,就要使用筛选的办法把那些数据找出来.筛选数据清单可以寻找和使用数据清单中的数据子集.筛选后只显示出包含某一个值或符合一组条件的行,而隐藏其它行. 中文Excel 2000提供有两条用于筛选的命令:"自动筛选"和"高级筛选". "自动筛选"命令可以满足您的大部分需要,当需要利用复杂的条件来筛选数据清单时就可以考虑使用"高