RDLC报表系列--------疑难杂症
1.打开页面,报表一直处于页面加载阶段。比如会出现一个圆圈 一直再转显示报表正在加载中.这个我遇到的很多是自己或者别人忘记了加载报表数据时忘记了页面的
IsPostBack了,
代码如下
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
Display();
}
}
在Display(); 写报表的绑定数据方法,如果去掉 if (!IsPostBack) 就会出现这个情况.
2.报表数据有数据,但报表却显示空白.比如跟踪数据有10条数据在DataTable 里,但报表就是一片空白,连工具栏都不出现.我遇到的问题是参数问题。当添加参数时,下面有是否允许null值和为空白值和多个值,如果前面2项没勾上,传递参数时(注意参数名称大小写要和代码一致)值为空,就会出现这种情况.曾经一个同事就因为这个问题调试了2个小时,最后让我看,我发现这个问题。才显示出来数据.
3.报表的某个字段在DataTable 里有数据,但显示为空.我增加遇到过,调试很久跟踪DataTable 里面都有数据,但报表单元格却为空,整了很久最后出动老大,原来DataTable 里字段名叫fSalePrice 但在建立xsd数据集时 写成了fsaleprice ,原以为sql 不区分大小写,所以没注意这些。结果数据集字段改过来后。数据就显示出来了.
4.添加子报表时,Main级报表参数设置好后急切的看效果,结果显示参数值不能为Null的情况(当然这种情况很多因素,比如子报表数据为Null也会这种提示),原因是忘记子报表添加同名的参数导致。
5.添加子报表时,子报表只显示一行数据后,报一个后面值为Null的错误,其余都不显示了
代码如下:
页面定义公有
DataSet ds;
void LocalReport_SubreportProcessing(object sender, SubreportProcessingEventArgs e)
{
if(ds!=null)
{
}
}
加了这个操作后,你就会很郁闷,曾经这个问题,让我加班到23点才找个,千万不能添加if(ds!=null)的判断