0

我们正在开发一个网络应用程序,它将根据用户选择的变量显示报告。我的老板有一个类似的网络应用程序,他让我以此为基础。我已经检查过了,我的 Reportviewer 的设置和他的一样,我的 SqlDataSource 似乎也设置了类似的。他的 C# 代码是这样的:

var Class_Connection = new SQL_Connection();
            Class_Connection.cnn.Close();
            Class_Connection.cnn.Open();

            var cmd = new SqlCommand("SELECT ID, Assigned, FirstName, LastName, Description, Resolved" +
                                     " FROM TT WHERE Received >= DATEADD(day,-"+ NumberOfDays +", GETDATE())", Class_Connection.cnn);

            var dt = new DataTable();
            dt.Load(cmd.ExecuteReader());

            var source = new ReportDataSource("DataSetAllTTByLastWeek", dt);

            RV_Main.Visible = true;
            RV_Main.LocalReport.DataSources.Clear();
            RV_Main.LocalReport.ReportPath = Server.MapPath("~/CCD/TT/Reports/AllTTByLastWeek.rdlc");
            RV_Main.LocalReport.DataSources.Add(source);
            RV_Main.LocalReport.Refresh();

我的在哪里:

var Class_Connection = new SQL_Connection();
            Class_Connection.cnn.Close();
            Class_Connection.cnn.Open();

            var cmd = new SqlCommand("SELECT PO.PO_Num, PO.Supplier, PO.DateRequired, PO.DateRecv, PO.Terms, PO.Freight, PO.FOB, Beam.Tag, Beam.Quantity, Beam.ReceiverNumber, Beam.DeliveredBy, Beam.ReceivedBy, Beam.PackingNo, BeamType.Description From PO PO, Beam Beam,BeamType BeamType Where BeamType.Type = Beam.Type and Beam.PoNum = PO.PO_Num and Beam.Beamcode = BeamType.Beamcode and Beam.receivernumber = " + ReceiverNumber + " Order By BeamType.Description ASC, Beam.Quantity Asc", Class_Connection.cnn);

            var dt = new DataTable();
            dt.Load(cmd.ExecuteReader());

            var source = new ReportDataSource("BeamReports", dt);

            rvLumberReport.Visible = true;
            rvLumberReport.LocalReport.DataSources.Clear();
            rvLumberReport.LocalReport.ReportPath = Server.MapPath("~/CCD/Main/Reports/BeamReport.rdlc");
            rvLumberReport.LocalReport.DataSources.Add(source);
            rvLumberReport.LocalReport.Refresh();

当我运行他的代码时,一切正常,但是当我运行我的代码时,它似乎没有在查看器中显示报告。现在它只是一个标签,上面写着测试。我错过了一些简单的愚蠢的东西还是我有什么东西?

编辑:第一组代码似乎只适用于它的原始页面,但不适用于第二页。第二组代码在第一页中不起作用。我已尽我所能确保所有控件都配置为尽可能接近原始控件。

EDIT2:我在项目中创建了一个新页面,并使用此代码制作了一个完美运行的报告。我的猜测是问题必须在与此页面相关的 ASP 或 C# 代码中。此时的问题是:“我如何找出问题所在?”

4

0 回答 0