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