RDLC系列之四 常见错误

简介: 解决 RDLC 报表自动分页表头显示问题 原文:http://www.th7.cn/Program/net/201207/85445.shtml RDLC是用XML来描述一个报表相关的一切,只需要在节点添加true子节点就可以,并设定值为true.

解决 RDLC 报表自动分页表头显示问题

原文:http://www.th7.cn/Program/net/201207/85445.shtml

RDLC是用XML来描述一个报表相关的一切,只需要在<TablixMember>节点添加<RepeatOnNewPage>true</RepeatOnNewPage>子节点就可以,并设定值为true.

有些朋友在VS环境中无法打开XML编辑方式,这里我提示一下,你可以去工程目录下用记事本打开扩展名为RDLC的文件,也可以直接在VS中搜索<TablixMember>,并设定查找范围为“当前项目”,默认会在VS环境打开该报表 

以下是报表部分节点

        <TablixRowHierarchy>
          <TablixMembers>
            <TablixMember>
              <KeepWithGroup>After</KeepWithGroup>
               <RepeatOnNewPage>true</RepeatOnNewPage>
            </TablixMember>
            <TablixMember>
              <Group Name="详细信息" />
            </TablixMember>
          </TablixMembers>
        </TablixRowHierarchy>

 

左边的报表数据窗口没了怎么办?

在RDLC的设计界面,有个data菜单,选择show data sources 或 shift + alt + D 出来datasource工具栏

 

错误:无法显示子报表

网上解决方法:(不理解,记录下备用)

解决:在主报表里面,给子报表设置参数

尚未为数据源“Sales_Quotation_Detail”提供数据源实例

原因:为主表指定了多余的数据源

个人解决方法:

1.添加一个新数据源(如data.xsd),为数据源添加table,字段名必须和 后台数据源 的table的字段名完全一致

2.确认给子报表设置的参数名的准确性,大小写必须与数据源完全一致

 

Rdlc报表出现空白页解决方法

在使用RDLC报表时,碰到这种情况:当只有一页数据时,报表却显示两页,第二页除了报表头之外数据为空。然后,当有多页数据时,最后一页为空。

 

RDLC报表设计好后,在ReportViewer预览报表时,页数都正常;但在切换为整页模式时,常造成多了不少空白页出来。第一时间觉得不可思议,在ReportViewer看来正常,怎可能在整页预览时,格式会跑掉?如果在整页预览时格式跑掉,那在打印时也一定是这样的情形。ReportViewer会将RDLC所设计的报表文件显示其中,但和实际纸张打印时,并不是如此,因此时就要检查RDLC报表本身的大小。

1.先至Report.rdlc报表设计的页面,选择菜单上的[报表]->[报表属性],在[配置]的页签中记录着输出报表的纸张大小,预设应为A4直式的纸张(页宽:21cm,页高:29.7cm,左右上下边界:2.5cm),记下这些值。

2.检查Report.rdlc的属性窗口中[主体]属性的Size值,它的宽度Width要小于[报表属性]中的(页宽)– (左边界)– (右边界)。

3.调整后再整页预览看看,多调几次应就不会再产生太多的空白页了。

这个问题很奇怪,网上有很多解决方案,以下的方法可以解决此问题。

方法一:设置报表的属性 ConsumeConteinerWhitespace = True

第一种方法具体操作:

1,选中要修改的报表按F4 ,将下拉列表中的【主体】换选中【报表】

2,选择【报表】后就出现了ConsumeConteinerWhitespace 的属性,默认是false,改成True即可解决空白行的问题  

方法二:在Row Group 中设置 Keep Together = False, 进入Advance Mode,设置所有Static成员的Keep Together = False

对于一些报表,调整Body的宽度和高度,直到和Report的宽度和高度差不多就行了。操作就是将body的边框拖到和Report平齐。

这么说来,这就是个非常简单的问题,是由于Body的宽度太宽或高度太高引起的。

附件截图设置RDLC报表属性

 

 解决WIN7下添加Microsoft XPS Document Writer

最近做一个项目需要打印功能,但是又没有打印机来真实测试,就想起OFFICE里有虚拟打印机,可以直接用,解决方法很简单,如下:
 控制面板-所有控制面板选项-管理工具,在这里双击打印管理,点打印服服务器,会发现在“驱动程序”里存在Microsoft XPS Document Writer,如图:

 

在打印服务器里面的“打印机”选项上右键-添加打印机,如图:

 

然后选择第三个单选按钮,下一步

 

下一步在“使用计算机上现有的打印机驱动程序”里选择【Microsoft XPS Document Writer】即可。如图:

 

最后一直下一步就可以了(当然也可以取消共享打印机和设为默认打印机)。

 

相关文章
|
开发框架 BI C#
C#之二十三 打印和水晶报表
C#之二十三 打印和水晶报表
114 0
|
Windows 开发者 BI
RDLC发布出错整理
WinForm客户端软件开发时,使用rdlc做报表,并且使用ReportViewer呈现报表时,开发者的机器运行正常。但是部署到第三方机器上运行时报错。大致有以下几种错误: (1)未能加载文件或程序集“Microsoft.ReportViewer.Common, Version=11.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91”或它的某一个依赖项。
1163 0
|
BI 开发框架 自然语言处理
|
开发工具
Visio二次开发(一)----巧用Visio宏
<div class="markdown_views"> <p>最近做的项目中需要用到Visio二次开发,安装了Visio的SDK,还有从网上找了一些这方面的博客,Visio的SDK是全英文的,看着有点费劲,很多的东西都不知道该如何去找,不过网上的一些博客还是有一些不错的,前两天发现一个有助于Visio二次开发的方法,下面分享给大家。 <br> 就是巧用Visio的宏来帮助你进
2780 0