问题描述
如题:比如我现在有TableT1内嵌套TableT2,T1的DataSetName=DataSetSource1后T2也默认使用了DataSetSource1数据源,且无法修改。现需求:不使用同一数据源。如T2DataSetName=DataSetSource2;(双重循环)如何实现。急救……坐等……
解决方案
解决方案二:
现在实现模式:List循环里套用SubReport;这里说明下List和Table,命名规则都是Tablix+索引,几乎是相同的;目前发现区别在于:List是一列的Table(请更了解的人指点讲解)List里加入Subreport后断页可以正常,而Table不能断页;如果List再加一列(多列模式)就和Table类似无法分页。(注:分页--Table和Rectangle属性里有4个checkbox实现分页);个人实现分页:List里只有一行一列(在Details里),嵌入Table放我第一个循环需要输出的内容,Table后面再嵌入Subreport,Subreport里加入我第二个循环需要的内容即可实现。实现后遇到过的问题:在第一个循环里试图设置某模块让每一个报表的前都显示(比如Logo),设置了KeepWithGroup=After,RepeatOnNewPage=true后,报表打开超时问题(无法进入报表),目前想法是只能在每一个分页前面加入。
解决方案三:
以上,还有Bug,子报表如果多页事,需要设置logo,Title,Group等指定模块中每个分页都显示时无法;设置KeepWithGroup=After,RepeatOnNewPage=true无效;经多种方法测试,都存在某些属性设置无效现象;最终使用了“多个数据源整合成一个数据源,一个Table嵌套Table模式”,具体如下(无法上传图片,可能不好理解,请见谅):1.添加table控件,删除第二行(Data模块,最左边有三条线),删除另外两列,变成一行一列table;2.为Table指定数据源(Table属性=>DataSetName)3.选中行的最左边,右键‘AddGroup’=>RowGroup下'ParentGroup'=>'Groupby':第一个循环列,确定添加。4.添加后将多一列,左边有个小括号。选中第一列,右键删除列,弹出提示,选中Deletecolumnsonly,点击OK.5.再次选中行的左边,右键:‘AddGroup’=>RowGroup下‘ChildGroup’:第二个循环列,确定添加。6.如步骤4后,可发现左边有一个大括号包里个小括号;7.添加多个同等级小括号(一个小括号即为原定的一个数据源):在小括号行中右键‘AddGroup’=>RowGroup下'AdjacentBelow‘;同理添加多个同等级的分组。8.分组中筛选指定数据源:在报表最下边左侧RowGroups模块,选中第二个级别的分组,右键'GroupProperties';可进行其它配置(如Visibility,Sorting,Fiters等,我这主要有Visibility,设置了第二个循环为指定值显示)9.配置好循环,再在第二个的Column添加Rectangle,在Rectangle中添加Table,其它配置根据自己设计。如上最后还有个小问题:第二个循环个分组之间设置了分页后当数据多的页可能会显示在上个数据少的页中,没分页。解决方式:将table外的Rectangle(第二个循环的column)高度设置成一个page内容的高。