RDLC系列之四 常见错误
解决 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】即可。如图:
最后一直下一步就可以了(当然也可以取消共享打印机和设为默认打印机)。
RDLC系列之四 常见错误的更多相关文章
- 《Visual C++ 2010入门教程》系列四:VC2010中初学者常见错误、警告和问题
<Visual C++ 2010入门教程>系列四:VC2010中初学者常见错误.警告和问题 这一章将帮助大家解释一些常见的错误.警告和问题,帮助大家去理解和解决一些常见问题,并了解它的 ...
- Sql Server来龙去脉系列之四 数据库和文件
在讨论数据库之前我们先要明白一个问题:什么是数据库? 数据库是若干对象的集合,这些对象用来控制和维护数据.一个经典的数据库实例仅仅包含少量的数据库,但用户一般也不会在一个实例上创建太多 ...
- 一个超复杂的间接递归——C语言初学者代码中的常见错误与瑕疵(6)
问题: 问题出处见 C语言初学者代码中的常见错误与瑕疵(5) . 在该文的最后,曾提到完成的代码还有进一步改进的余地.本文完成了这个改进.所以本文讨论的并不是初学者代码中的常见错误与瑕疵,而是对我自己 ...
- C语言初学者代码中的常见错误与瑕疵(5)
问题: 素数 在世博园某信息通信馆中,游客可利用手机等终端参与互动小游戏,与虚拟人物Kr. Kong 进行猜数比赛. 当屏幕出现一个整数X时,若你能比Kr. Kong更快的发出最接近它的素数答案,你将 ...
- 分数的加减法——C语言初学者代码中的常见错误与瑕疵(12)
前文链接:分数的加减法——C语言初学者代码中的常见错误与瑕疵(11) 重构 题目的修正 我抛弃了原题中“其中a, b, c, d是一个0-9的整数”这样的前提条件,因为这种限制毫无必要.只假设a, b ...
- C语言初学者代码中的常见错误与瑕疵(9)
题目 字母的个数 现在给你一个由小写字母组成字符串,要你找出字符串中出现次数最多的字母,如果出现次数最多字母有多个那么输出最小的那个. 输入:第一行输入一个正整数T(0<T<25) 随后T ...
- 要心中有“数”——C语言初学者代码中的常见错误与瑕疵(8)
在 C语言初学者代码中的常见错误与瑕疵(7) 中,我给出的重构代码中存在BUG.这个BUG是在飞鸟_Asuka网友指出“是不是时间复杂度比较大”,并说他“第一眼看到我就想把它当成一个数学问题来做”之后 ...
- C语言初学者代码中的常见错误与瑕疵(7)
问题: 矩形的个数 在一个3*2的矩形中,可以找到6个1*1的矩形,4个2*1的矩形3个1*2的矩形,2个2*2的矩形,2个3*1的矩形和1个3*2的矩形,总共18个矩形.给出A,B,计算可以从中找到 ...
- Python:常见错误集锦(持续更新ing)
初学Python,很容易与各种错误不断的遭遇.通过集锦,可以快速的找到错误的原因和解决方法. 1.IndentationError:expected an indented block 说明此处需要缩 ...
随机推荐
- Android 开关按钮切换,类似于iphone 效果,view实现
1.实现的效果 gitHub : https://github.com/zcweng/ToggleButton
- 快速排序(java版)
public class QuickSortTest{ //比较与交换 private static int partition(int[] source, int low, int hight) { ...
- android 隐藏标题栏
在onCreate()方法中添加如下代码: public class FirstActivity extends Activity { @Override protected void onCreat ...
- CoreAnimation-06-CAKeyframeAnimation
概述 简介 CAKeyframeAnimation又称关键帧动画 CAKeyframeAnimation是抽象类CAPropertyAnimation的子类,可以直接使用 通过values与path两 ...
- 关于IOS多线程的好的技术博客
点击图片就能跳转链接到目标网页. 1.GCD<本人已阅,写的非常好>
- Android平台二维码之生成,扫描 & 识别
1.二维码的前世今生 “二维条码/二维码(2-dimensional bar code)是用某种特定的几何图形按一定规律在平面(二维方向上)分布的黑白相间的图形记录数据符号信息的:在代码编制上巧妙地利 ...
- 记录Hibernate的缓存知识
一.Hibernate缓存的作用 Hibernate是一个持久层框架,Hibernate要经常访问物理数据库.为了降低应用程序对物理数据源访问的频次,从而提高应用程序的运行性能,Hibernate的缓 ...
- python super
http://hi.baidu.com/thinkinginlamp/item/3095e2f52c642516ce9f32d5 Python中对象方法的定义很怪异,第一个参数一般都命名为self(相 ...
- Erlang 进程被抢占的条件——一个进程长时霸占调度器的极端示例
最近研究 binary 的实现和各种操作对应的 beam 虚拟机汇编指令,发现有一些指令序列是不可重入的,比如说有的指令构造一个上下文(也就是某种全局状态),然后下一条指令会对这个上下文做操作(具体的 ...
- JodaTime library not available - @DateTimeFormat not supported
使用spring的@DateTimeFormat来格式化Date类型时,报错: org.springframework.validation.BindException: org.springfram ...