日期:2014-05-20  浏览次数:20886 次

水晶报表数据字段为啥就是没数据呢!




……
//ds中装的数据
string sql = "select * from Department,Class where Department.DepartNo=Class.DepartNo";
……

private void tsPrint_Click(object sender, EventArgs e)
        {
            rptClass r = new rptClass();          //rptClass是已经建好的班级信息的数据报表文件
            r.SetDataSource(ds.Tables[0]);        //断点测试后已经查看了ds不是空的,有所需要的数据

            frmPrint p = new frmPrint();          //frmPrint窗体中已经放好了一个报表预览控件
            p.crystalReportViewer1.ReportSource = r;
            p.ShowDialog();
        }


ds里面有五个数据字段,rptClass中要显示的是其中三个字段!
报表设置和运行结果如下:


为什么为什么为什么!!!为什么没有数据!!!
求大神啊,纠结了好久好久好久了!!!

------解决方案--------------------
我以前的一段代码,你参考一下
CrystalDecisions.CrystalReports.Engine.ReportDocument dcResult = new CrystalDecisions.CrystalReports.Engine.ReportDocument(); //这个跟你rptClass不一样
dcResult.Load(Application.StartupPath + "\\crpYear.rpt"); //加载报表文件
dcResult.SetDataSource(ds.Tables[0]);        
crystalReportViewer1.ReportSource = dcResult;