通过代码填写reportviewer

时间:2016-05-05 16:00:24

标签: c# asp.net microsoft-reporting

我们正在开发一个网络应用程序,它将根据用户选择的变量显示报告。我的老板有一个类似的网络应用程序,他让我的基础。我已经检查过,我的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#代码中。此时的问题是:“我如何找出问题所在?”

0 个答案:

没有答案