hello Guys,
I need a solution
I have a page where i have placed some drop-downs for filtration and i have a button assearch .
now i have placed a crystal report viewer on page.
so when i filter my parameters from dropdowns and click on search button my report get displayed in crystal report viewer.
but when i try to use any tool like by default zoom,export,print it shows me an error as no valid source available
find my code to understand.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using MySql.Data.MySqlClient;
using System.Configuration;
using CrystalDecisions.CrystalReports.Engine;
using CrystalDecisions.Shared;
using CrystalDecisions.Web;
using CrystalDecisions.ReportSource;
public partial class Application_Layer_Reports_ENC_ENC_Report : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
ddl_filter_crct();
ddl_center_type.Items.Insert(0, new ListItem("Select Type", "0"));
ddl_center.Items.Insert(0, new ListItem("Select Center", "0"));
ddl_region.Items.Insert(0, new ListItem("Select Region", "0"));
string sd = Request.Form["txtStartDate"];
string ed = Request.Form["txtEndDate"];
//ddl_filter_region();
//ddl_filter_center();
}
}
public void ddl_filter_crct()
{
MySqlConnection con = new MySqlConnection(ConfigurationManager.ConnectionStrings["iris_rep_dbConnectionString"].ConnectionString);
con.Open();
MySqlCommand cmd = new MySqlCommand("iris_rep_db.SP_CRCT_Search", con);
cmd.CommandType = CommandType.StoredProcedure;
DataSet ds = new DataSet();
MySqlDataAdapter da = new MySqlDataAdapter(cmd);
da.Fill(ds);
ddl_center_type.DataSource = ds.Tables[0];
ddl_center_type.DataValueField = "num_id";
ddl_center_type.DataTextField = "str_data";
ddl_center_type.DataBind();
ddl_region.DataSource = ds.Tables[1];
ddl_region.DataValueField = "num_region_id";
ddl_region.DataTextField = "str_region_name";
ddl_region.DataBind();
ddl_center.DataSource = ds.Tables[2];
ddl_center.DataValueField = "id";
ddl_center.DataTextField = "name";
ddl_center.DataBind();
}
public void btn_Search_Click(object sender, EventArgs e)
{
string sd = Request.Form["txtStartDate"];
string ed = Request.Form["txtEndDate"];
MySqlConnection con = new MySqlConnection(ConfigurationManager.ConnectionStrings["iris_rep_dbConnectionString"].ConnectionString);
con.Open();
MySqlDataAdapter da = new MySqlDataAdapter("iris_rep_db.SP_ENC_Rep", con);
da.SelectCommand.CommandType = CommandType.StoredProcedure;
da.SelectCommand.Parameters.AddWithValue("param_start_dte", sd);
da.SelectCommand.Parameters.AddWithValue("param_end_dte", ed);
da.SelectCommand.Parameters.AddWithValue("param_reg", ddl_region.SelectedValue);
da.SelectCommand.Parameters.AddWithValue("param_ct", ddl_center_type.SelectedValue);
da.SelectCommand.Parameters.AddWithValue("param_center", ddl_center.SelectedValue);
DataSet myData = new DataSet();
ReportDocument myReport = new ReportDocument();
da.Fill(myData);
myReport.Load(Server.MapPath("~/Application Layer/Reports/ENC/ENC.rpt"));
myReport.SetParameterValue("param_start_dte", sd);
myReport.SetParameterValue("param_end_dte", ed);
myReport.SetParameterValue("param_reg",ddl_region.SelectedValue);
myReport.SetParameterValue ("param_ct", ddl_center_type.SelectedValue);
myReport.SetParameterValue("param_center", ddl_center.SelectedValue);
//myReport.SetDataSource(myData);
ENCReport.ReportSource = myReport;
}
protected void ddl_center_type_SelectedIndexChanged(object sender, EventArgs e)
{
ddl_region.Items.Clear();
ddl_center.Items.Clear();
ddl_center.Enabled = false;
ddl_center.Items.Insert(0, new ListItem("Select Center", "0"));
ddl_region.Items.Insert(0, new ListItem("Select Region", "0"));
ddl_region.AppendDataBoundItems = true;
MySqlConnection con = new MySqlConnection(ConfigurationManager.ConnectionStrings["iris_rep_dbConnectionString"].ConnectionString);
con.Open();
MySqlCommand cmd = new MySqlCommand("iris_rep_db.SP_CRCT_Cas1", con);
cmd.Parameters.AddWithValue("param_ct", ddl_center_type.SelectedItem.Value);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Connection = con;
try
{
ddl_region.DataSource = cmd.ExecuteReader();
ddl_region.DataTextField = "region";
ddl_region.DataValueField = "rid";
ddl_region.DataBind();
if (ddl_region.Items.Count > 1)
{
ddl_region.Enabled = true;
}
else
{
//ddl_manager.Enabled = false;
}
}
catch (Exception ex)
{
throw ex;
}
}
protected void ddl_region_SelectedIndexChanged(object sender, EventArgs e)
{
ddl_center.Items.Clear();
ddl_center.Enabled = true;
ddl_center.Items.Insert(0, new ListItem("Select Center", "0"));
ddl_center.AppendDataBoundItems = true;
MySqlConnection con = new MySqlConnection(ConfigurationManager.ConnectionStrings["iris_rep_dbConnectionString"].ConnectionString);
con.Open();
MySqlCommand cmd = new MySqlCommand("iris_rep_db.SP_CRCT_Cas2", con);
cmd.Parameters.AddWithValue("param_reg", ddl_region.SelectedItem.Value);
cmd.Parameters.AddWithValue("param_ct", ddl_center_type.SelectedValue);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Connection = con;
try
{
ddl_center.DataSource = cmd.ExecuteReader();
ddl_center.DataTextField = "center";
ddl_center.DataValueField = "cid";
ddl_center.DataBind();
if (ddl_center.Items.Count > 1)
{
ddl_center.Enabled = true;
}
else
{
}
}
catch (Exception ex)
{
throw ex;
}
}
}
Please Guys need solution on this...