我有水晶报告,我需要在水晶报告中获取文本框的值。如果我把textbox1 = 1然后在水晶报告中它显示为1.我该怎么做? 这是我在default.aspx页面中的水晶报告代码。
protected void Page_Load(object sender, EventArgs e)
{
TextBox1.Text = "9";
TextBox2.Text = "02/02/2015";
TextBox3.Text = "02/03/2015";
DataTable dt = new DataTable();
String str = "select * from tbl1 where br=@search and Date between @search1 and @search2 ";
SqlCommand xp = new SqlCommand(str, con);
xp.Parameters.Add("@search", SqlDbType.VarChar).Value = TextBox1.Text;
xp.Parameters.Add("@search1", SqlDbType.VarChar).Value = TextBox2.Text;
xp.Parameters.Add("@search2", SqlDbType.VarChar).Value = TextBox3.Text;
con.Open();
SqlDataAdapter da = new SqlDataAdapter();
da.SelectCommand = xp;
da.Fill(dt);
con.Close();
if (dt.Rows.Count > 0)
{
ReportDocument crystalReport = new ReportDocument();
crystalReport.Load(Server.MapPath("CrystalReport.rpt"));
crystalReport.SetDatabaseLogon("xx", "xxxx");
crystalReport.SetDataSource(dt);
CrystalReportViewer1.ReportSource = crystalReport;
CrystalReportViewer1.DataBind();
}
这里我需要在水晶报告中显示textbox1,2和3值
答案 0 :(得分:4)
首先,你必须在参数字段下的CrystalReport工具箱中创建3个参数,如下图所示。
然后你需要传递后面代码中的值
var rpt=new ReportDocument();
rpt.SetParameterValue("Search1","I am search1");
rpt.SetParameterValue("Search2","I am search2");
rpt.SetParameterValue("Search3","I am search3");
CrystalReportViewer1.ReportSource = rpt;
答案 1 :(得分:0)
{{1}}
}
我已将参数名称添加为搜索。
但它显示错误无效的报告路径。如果我删除这行crystalReport.SetParameterValue("搜索","我是搜索");然后它的工作。