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

时间:2018-09-08 11:44:44

标签: sql asp.net webforms devexpress xtrareport

有人可以告诉我如何通过查询字符串绑定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。

1 个答案:

答案 0 :(得分: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#