如何通过查询字符串绑定DevExpress XtraReport

问题描述 投票:0回答:1

谁能告诉我如何通过查询字符串绑定DevExpress XtraReport?

我想在报告中只显示ID值为8,我使用存储过程来获取数据。

SqlConnection connection = new SqlConnection(ConfigurationManager.ConnectionStrings["con"].ConnectionString);
        SqlCommand cmd = new SqlCommand("GetLabReport", connection);
        cmd.CommandType = CommandType.StoredProcedure;
        cmd.Parameters.Add("@PID", SqlDbType.Int).Value = Request.QueryString["ID"].ToString();
        connection.Open();
        SqlDataAdapter DA = new SqlDataAdapter(cmd);
        DataTable DT = new DataTable();
        XtraReport1 Rept = new XtraReport1();
        string path = (Server.MapPath("App_Code/XtraReport1.cs"));
        DA.Fill(DT);
        connection.Close();
        if(DT.Rows.Count>0)
        {

        }

以上工作适用于Crystal Reports,但不适用于DevExpress XtraReports。

sql asp.net webforms devexpress xtrareport
1个回答
0
投票

我建议您创建报告参数,然后使用查询字符串设置参数值。

请参阅以下主题的评论: Report Designer using SQL Server Stored Procedure as data source, generates .Net exception.

添加报表的参数,然后将其映射到查询参数。然后将值从Request.QueryString传递给Parameter.Value属性

例:

protected void Page_Load(object sender, EventArgs e) {
            XtraReport3 report = new XtraReport3();
            report.Parameters[0].Value = Request["MyParam"];
            ASPxDocumentViewer1.Report = report;
        }

参考文献: Passing querystring values to a report How to use parameter from querystring to show report Parameters support thru URL QueryString in XtraReports? How to pass QueryString parameter into Report (master-detail) c#

© www.soinside.com 2019 - 2024. All rights reserved.