日期:2014-05-18  浏览次数:20901 次

水晶报表小问题
水晶报表预览的时候正常,可以一用数据源填充就变成白纸了。
                                if   (ds.Tables[ "Antenna "].Rows.Count   >   0)
                                {
                                        CA1.FileName   =   "rassdk:// "+Application.StartupPath   +   "\\Report\\CA.rpt ";                                                          
                                        CA1.SetDataSource(ds.Tables[ "Antenna "]);
                                        crystalReportViewer1.ReportSource   =   CA1;
                                        crystalReportViewer1.RefreshReport();
                                }

ds填充的代码是这样写的。
ds.table里面有数据,我用ds.table的内容填充了一个datagridviewer没有任何问题;
水晶报表的数据源我是   用数据库专家建立的,字段是直接拉过去的   所以类型上应该不存在问题

谢谢各位给帮帮忙吧

------解决方案--------------------
rpt.SetDataSource(CA1);//给报表传table
CrystalReportViewer1.ReportSource = CA1;//绑定
CrystalReportViewer1.DataBind();
试试我的这样是没问题的,你的要是还不行就是 CA1.FileName = "rassdk:// "+Application.StartupPath + "\\Report\\CA.rpt "; 这句的问题了
------解决方案--------------------
只从这段程序看,应该是你的CA1声明有问题,最好使用下面的方式载入报表:

ReportDocument rpt = new ReportDocument();
rpt.Load(FileName);
rpt.SetDataSource(ds);
crystalReportViewer1.ReportSource = rpt;
------解决方案--------------------
设置的数据集确保有数据吗