RDLC报表小结

针对vs2008,Windows Forms应用程序。

 

数据源

1.尚未为数据源 XXX 提供数据源实例。 

 原因:this.reportViewer1.LocalReport.DataSources中找不到Name==XXX的参数 或者 Name==XXX参数的参数值为null。

解决方法: this.reportViewer1.LocalReport.DataSources.Add(new Microsoft.Reporting.WinForms.ReportDataSource("XXX", (DataTable 或 实现IList的集合)));

 

设计

1.显示下级节点。例如,显示Doctor.Depart.Name。

解决方法: Fields!Doctor.Value.Depart.Name。

注意:如果以这种表达式显示数据是不会有问题的,但是,如果在报表中启动排序时,无论排序表达式是什么,都会失败(显示错误号)。原因不明。

 

2.每页最多只显示N条数据。

解决方法:添加组,分组表达式为 =Int((RowNumber(Nothing) - 1) / N),取消包括组头和包括组尾,勾选在结尾处分页。

 

3.内置的Switch语句似乎没有Default分支

例如:=Switch(Fields!Prestype.Value = 1, "西药", Fields!Prestype.Value = 2, "中药", (没有default,这里填什么呢?), "其他") 

解决方法:变通一下:=Switch(Fields!Prestype.Value = 1, "西药", Fields!Prestype.Value = 2, "中药", Fields!Prestype.Value <> 2, True, "其他")

 

4.更改文档结构图根节点文本

解决方法:设置this.reportViewer1.LocalReport.DisplayName属性

 

5.显示n×m矩阵(Matrix)

解决方法:将矩阵的列组分组表达式设为 =RowNumber(Nothing) mod m,行组分组表达式设为 =Int((RowNumber(Nothing) - 1) / m)。

注意:在VB中,CInt函数和Int函数是不同的。前者是取某数的四舍五入值,后者直接取整数部分。 

 

6.展开文档结构图树形结构

解决方法:在报表呈现完成之后,获取文档结构图树形结构的顶级节点(其实是TreeNode),调用Expand方法展开它。

void  reportViewer1_RenderingComplete( object  sender, Microsoft.Reporting.WinForms.RenderingCompleteEventArgs e) {
    var rsDocMap 
=   typeof (Microsoft.Reporting.WinForms.ReportViewer).GetField( " rsDocMap " , System.Reflection.BindingFlags.NonPublic  |  System.Reflection.BindingFlags.Instance).GetValue( this .reportViewer1);
    var node 
=  rsDocMap.GetType().GetProperty( " TopNode " ).GetValue(rsDocMap,  null );
    
if  (node  !=   null ) {
        ((TreeNode)node).Expand();
    }
}

 

 7.引用其它报表项(例如其它文本框)的内容

解决方法:ReportItems!textbox1.Value

 

8.在Matrix中设置了某组的可见性为“由其他报表项确定”时,务必将当前组的初始可见性设为隐藏,否则回永久停在生成报表界面上。 

 

9.IIF函数错误原因之一

IIf(Fields!a.Value = "true", 1.2, 0) 将生成错误,因为1.2(这里是decimal)和0(int32)的数据类型不一致

解决方法:添加类型转换: IIf(Fields!a.Value = "true", 1.2, System.Convert.ToDecimal(0)) 

版本历史

2010-11-02 发布 

2010-11-03 添加设计4 、5

2010-11-15 添加设计1的注意部分 

2010-12-15 添加设计6 

2011-01-07 添加设计7 

2011-01-19 添加设计8 

2012-05-14 添加设计9  

 

转载于:https://www.cnblogs.com/ChenZB/archive/2010/11/02/1866972.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值