/CRReports_Proj/UC/ReportViewer.ascx.cs

http://github.com/khaneh/Orders · C# · 64 lines · 60 code · 4 blank · 0 comment · 9 complexity · 8ef26668d7f6f5852c968706a88caf5e MD5 · raw file

  1. using System;
  2. using System.Data;
  3. using System.Configuration;
  4. using System.Collections;
  5. using System.Web;
  6. using System.Web.Security;
  7. using System.Web.UI;
  8. using System.Web.UI.WebControls;
  9. using System.Web.UI.WebControls.WebParts;
  10. using System.Web.UI.HtmlControls;
  11. public partial class UC_ReportViewer : System.Web.UI.UserControl
  12. {
  13. protected void Page_Load(object sender, EventArgs e)
  14. {
  15. CrystalReportViewer1.PrintMode = CrystalDecisions.Web.PrintMode.ActiveX;
  16. CrystalReportViewer1.ReuseParameterValuesOnRefresh = true;
  17. CrystalReportViewer1.ReportSource = CrystalReportSource1;
  18. if (Request.QueryString.Get("Id") != null)
  19. {
  20. SetParameters(Int32.Parse(Request.QueryString.Get("Id")));
  21. }
  22. }
  23. protected void SetParameters(int sessionid)
  24. {
  25. try
  26. {
  27. System.Data.SqlClient.SqlConnection conn = new System.Data.SqlClient.SqlConnection("Server=" + ConfigurationSettings.AppSettings["SqlServer"] + ";initial catalog=" + ConfigurationSettings.AppSettings["SqlDatabase"] + ";password=" + ConfigurationSettings.AppSettings["SqlPassword"] + ";user id=" + ConfigurationSettings.AppSettings["SqlUsername"] + ";");
  28. System.Data.SqlClient.SqlCommand cmd = new System.Data.SqlClient.SqlCommand("SELECT * From ReportLog Where Id=" + sessionid);
  29. conn.Open();
  30. cmd.Connection = conn;
  31. System.Data.SqlClient.SqlDataReader red = cmd.ExecuteReader();
  32. if (red.Read())
  33. {
  34. string filename = red.GetString(red.GetOrdinal("ReportFileName"));
  35. string[] paramnames = red.GetString(red.GetOrdinal("ReportParameterNames")).Split((char)1);
  36. string[] paramvalues = red.GetString(red.GetOrdinal("ReportParameterValues")).Split((char)1);
  37. CrystalReportSource1.ReportDocument.Load(System.Configuration.ConfigurationSettings.AppSettings["ReportsRoot"] + filename);
  38. CrystalReportSource1.ReportDocument.DataSourceConnections[0].SetLogon(System.Configuration.ConfigurationSettings.AppSettings["SqlUsername"], System.Configuration.ConfigurationSettings.AppSettings["SqlPassword"]);
  39. CrystalReportSource1.ReportDocument.Refresh();
  40. for (int j = 0; j < paramnames.Length; j++)
  41. {
  42. if (CrystalReportSource1.ReportDocument.ParameterFields["@" + paramnames[j]] != null)
  43. {
  44. CrystalReportSource1.ReportDocument.ParameterFields["@" + paramnames[j]].CurrentValues.AddValue(paramvalues[j]);
  45. }
  46. else if (CrystalReportSource1.ReportDocument.ParameterFields[paramnames[j]] != null)
  47. {
  48. CrystalReportSource1.ReportDocument.ParameterFields[paramnames[j]].CurrentValues.AddValue(paramvalues[j]);
  49. }
  50. }
  51. }
  52. conn.Close();
  53. conn.Dispose();
  54. }
  55. catch (Exception e)
  56. {
  57. Response.Write(e.ToString());
  58. }
  59. }
  60. }