C# 水晶报表不显示任何数据

C# 水晶报表不显示任何数据,c#,asp.net,linq,crystal-reports,C#,Asp.net,Linq,Crystal Reports,我不熟悉C#和ASP.NET编程。我正在用.net制作一份水晶报告。我设置数据集和数据表。报告来源 我正在从linq查询中获取数据。然后,我将它们填充到Dataset的一个实例中。我使用调试器,它显示我有来自查询的数据。但是我的crystal reeport只显示列标题,而不是列数据 这是我的密码: private void ViewReport() { DataSet1 Dataset = new DataSet1(); DataTable rp

我不熟悉C#和ASP.NET编程。我正在用.net制作一份水晶报告。我设置
数据集
数据表
。报告来源

我正在从linq查询中获取数据。然后,我将它们填充到
Dataset
的一个实例中。我使用调试器,它显示我有来自查询的数据。但是我的crystal reeport只显示列标题,而不是列数据

这是我的密码:

    private void ViewReport()
    {
        DataSet1 Dataset = new DataSet1();
        DataTable rptTable = Dataset.Tables["Emp_info"];
        DataTable rptTab = Dataset.Tables["Attendance_table"];
        Ind_attendance_rpt rptAtd = new Ind_attendance_rpt();
        DataRow dataRow1; // declaring Row of dataset
        DataRow dataRow2;
        //IndividualAttendance rptAtt = new IndividualAttendance();
        var rport = from att in db.Attendance_tables
                    join emp in db.Emp_infos on att.Login_id equals emp.ID 
                    orderby att.Id
                    select new
                    {
                        att.Id,
                        emp.Emp_name,
                        emp.ID,
                        emp.Designation,
                        emp.Dept,
                        att.Entry_time,
                        att.Exit_time,
                        att.Status,
                        att.Date
                    };
        Dataset.Tables["Emp_info"].Clear();
        Dataset.Tables["Attendance_table"].Clear();
        foreach (var rt in rport)
        {
            dataRow1 = rptTable.NewRow();
            dataRow2 = rptTab.NewRow();
            dataRow2["Id"] = rt.Id;
            dataRow1["Emp_name"] = rt.Emp_name;
            dataRow1["Designation"] = rt.Designation;
            dataRow1["Dept"] = rt.Dept;
            dataRow2["Entry_time"] = rt.Entry_time;
            dataRow2["Exit_time"] = rt.Exit_time;
            dataRow2["Status"] = rt.Status;
            dataRow2["Date"] = rt.Date;
            dataRow2["Login_id"] = rt.ID;
            Dataset.Tables["Emp_info"].Rows.Add(dataRow1);
            Dataset.Tables["Attendance_table"].Rows.Add(dataRow2);
        }
        rptAtd.SetDataSource(Dataset);
        CrystalReportViewer1.ReportSource = rptAtd;
    }
谁能告诉我原因吗

以下是我现在得到的结果:

调试映像:


设置ReportSource后,尝试调用报告刷新

CrystalReportViewer1.Refresh();

您可能还必须在linq上使用ToList()

rptAtd是水晶报告。没有TOList()方法。忽略我的最后一条消息您不必将报表绑定到数据集。您已经在rport中拥有了数据,可以像rptAtd.SetDataSource(rport.ToList())一样使用它;当您处于调试模式时,您是否在rport中看到任何值?抱歉,我想不出任何其他内容,而且我的计算机上没有安装Chrystal Reports来测试它。