Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# crystal报告参数不正确_C#_Asp.net - Fatal编程技术网

C# crystal报告参数不正确

C# crystal报告参数不正确,c#,asp.net,C#,Asp.net,两份水晶报告 CrystalReport1.rpt employeemonthly.rpt 在signal aspx.net页面上调用这些报告 protected void Button1_Click1(object sender, EventArgs e) { if (Page.IsValid) { if (rd.SelectedValue == "1") { DateTi

两份水晶报告

  • CrystalReport1.rpt
  • employeemonthly.rpt
  • 在signal aspx.net页面上调用这些报告

     protected void Button1_Click1(object sender, EventArgs e)
        {
            if (Page.IsValid)
            {
                if (rd.SelectedValue == "1")
                {
                    DateTime to = Convert.ToDateTime(sdate.Text);
                    dbconnect a = new dbconnect();
                    ReportDocument rDoc = new ReportDocument();
                        a.OpenConnection();
                        a.cmd = new SqlCommand("viewattandace_repoeting",a.con);
                        SqlDataAdapter da = new SqlDataAdapter();
                        DataSet ds = new DataSet();
                        a.cmd.CommandType = CommandType.StoredProcedure;
                        da.SelectCommand = a.cmd;
                        da.Fill(ds, "viewattandace_repoeting");
                        rDoc.Load(Server.MapPath("CrystalReport1.rpt"));
                        rDoc.SetDataSource(ds);
                        rDoc.SetParameterValue("date", to);
                        rDoc.SetParameterValue("depid", 1);
                        CrystalReportViewer1.ReportSource = rDoc;
                        CrystalReportViewer1.DataBind();
                        a.CloseConnection();
                        CleartextBoxes(this);
                }
                else
                    if (rd.SelectedValue == "2")
                    sd = Convert.ToDateTime(m.SelectedItem.Text + "/" + "1" + "/" + yt.SelectedItem.Text);
                        ed = LastDayOfMonth(sd);
                        dbconnect a = new dbconnect();
                        using (ReportDocument rDoc = new ReportDocument())
                        {
                            a.OpenConnection();
                      a.cmd = new SqlCommand("viewattandace_repoeting", a.con);
                            SqlDataAdapter da = new SqlDataAdapter();
                            DataSet ds = new DataSet();
                            a.cmd.CommandType = CommandType.StoredProcedure;
                            da.SelectCommand = a.cmd;
                            da.Fill(ds, "viewattandace_repoeting");
                            rDoc.Load(Server.MapPath("employeemonthly.rpt"));
                            rDoc.SetDataSource(ds);
                            rDoc.SetParameterValue("sdate", sd);
                            rDoc.SetParameterValue("edate", ed);
                            rDoc.SetParameterValue("depid", 1);
                            rDoc.SetParameterValue("email", eet.Text.Trim());
                            CrystalReportViewer1.ReportSource = rDoc;
                            CrystalReportViewer1.DataBind();
                            a.CloseConnection();
                        }                       
                    }
            }
        }
    
    一次只能查看一个报告,其中dropdownlist列出了选定的索引。 现在的问题是只查看第一次选择的报告。当我选择其他报告时,则显示此“参数不正确”

    比如说
    我在下拉列表中选择CrystalReport1 report并单击按钮。然后选择report view,然后选择employeemonthly report并单击按钮,然后显示此“参数不正确”,反之亦然

    如果您的部分代码

    ReportDocument rDoc = new ReportDocument())
    
    正如您在其他部分中所看到的,我可以通过添加新的CrystalReportViewer控件来解决这个问题

    **按钮点击代码**

     protected void Button1_Click1(object sender, EventArgs e)
        {
            if (Page.IsValid)
            {
    
                if (rd.SelectedValue == "1")
    
                {
                    CrystalReportViewer1.Visible = true;
                        DateTime to = Convert.ToDateTime(sdate.Text);
                        dbconnect a = new dbconnect();
                        ReportDocument rDoc = new ReportDocument();
                        a.OpenConnection();
                        a.cmd = new SqlCommand("viewattandace_repoeting", a.con);
                        SqlDataAdapter da = new SqlDataAdapter();
                        DataSet ds = new DataSet();
                        a.cmd.CommandType = CommandType.StoredProcedure;
                        da.SelectCommand = a.cmd;
                        da.Fill(ds, "viewattandace_repoeting");
                        rDoc.Load(Server.MapPath("CrystalReport1.rpt"));
                        rDoc.SetDataSource(ds);
                        rDoc.SetParameterValue("date", to);
                        rDoc.SetParameterValue("depid", 1);
                        CrystalReportViewer1.ReportSource = rDoc;
                        CrystalReportViewer1.DataBind();
                        CrystalReportViewer1.ToolPanelView = CrystalDecisions.Web.ToolPanelViewType.None;
                                      a.CloseConnection();
    
    
    
    
                }
                else
                    if (rd.SelectedValue == "2")
                    {
                        CrystalReportViewer2.Visible = true;
                        sd = Convert.ToDateTime(m.SelectedItem.Text + "/" + "1" + "/" + yt.SelectedItem.Text);
                        ed = LastDayOfMonth(sd);
                        dbconnect a = new dbconnect();
    
                        ReportDocument rDoc = new ReportDocument();
    
                            a.OpenConnection();
                            a.cmd = new SqlCommand("viewattandace_repoeting", a.con);
                            SqlDataAdapter da = new SqlDataAdapter();
                            DataSet ds = new DataSet();
                            a.cmd.CommandType = CommandType.StoredProcedure;
                            da.SelectCommand = a.cmd;
                            da.Fill(ds, "viewattandace_repoeting");
                            rDoc.Load(Server.MapPath("employeemonthly.rpt"));
                            rDoc.SetDataSource(ds);
                            rDoc.SetParameterValue("sdate", sd);
                            rDoc.SetParameterValue("edate", ed);
                            rDoc.SetParameterValue("depid", 1);
                            rDoc.SetParameterValue("email", eet.Text.Trim());
                            CrystalReportViewer2.ReportSource = rDoc;
                            CrystalReportViewer2.DataBind();
                            CrystalReportViewer2.ToolPanelView = CrystalDecisions.Web.ToolPanelViewType.None;
                            a.CloseConnection();
    
    }
    }

    当rd.SelectedValue==“2”有using语句时,您正在创建的报告,但是rd.SelectedValue==“1”的报告没有using语句。您能否用Crystal Reports中这些参数的数据类型的详细信息对代码进行注释?可能存在数据类型不匹配。请在if(rd.SelectedValue==“1”)处设置断点,并确保所选值发生更改。如果-yes,则在rDoc.Load(Server.MapPath…do rDoc.ReportParameters.Clear()之后的ReportDocument上,我可以通过添加新的CrystalReportViewer.thanx以获得帮助来解决此问题。或者只需设置CrystalReportViewer1.ReportSource=null;然后提供正确的源:-)我也尝试了此方法,但仍然无法工作。然后添加新控件。
     protected void Button1_Click1(object sender, EventArgs e)
        {
            if (Page.IsValid)
            {
    
                if (rd.SelectedValue == "1")
    
                {
                    CrystalReportViewer1.Visible = true;
                        DateTime to = Convert.ToDateTime(sdate.Text);
                        dbconnect a = new dbconnect();
                        ReportDocument rDoc = new ReportDocument();
                        a.OpenConnection();
                        a.cmd = new SqlCommand("viewattandace_repoeting", a.con);
                        SqlDataAdapter da = new SqlDataAdapter();
                        DataSet ds = new DataSet();
                        a.cmd.CommandType = CommandType.StoredProcedure;
                        da.SelectCommand = a.cmd;
                        da.Fill(ds, "viewattandace_repoeting");
                        rDoc.Load(Server.MapPath("CrystalReport1.rpt"));
                        rDoc.SetDataSource(ds);
                        rDoc.SetParameterValue("date", to);
                        rDoc.SetParameterValue("depid", 1);
                        CrystalReportViewer1.ReportSource = rDoc;
                        CrystalReportViewer1.DataBind();
                        CrystalReportViewer1.ToolPanelView = CrystalDecisions.Web.ToolPanelViewType.None;
                                      a.CloseConnection();
    
    
    
    
                }
                else
                    if (rd.SelectedValue == "2")
                    {
                        CrystalReportViewer2.Visible = true;
                        sd = Convert.ToDateTime(m.SelectedItem.Text + "/" + "1" + "/" + yt.SelectedItem.Text);
                        ed = LastDayOfMonth(sd);
                        dbconnect a = new dbconnect();
    
                        ReportDocument rDoc = new ReportDocument();
    
                            a.OpenConnection();
                            a.cmd = new SqlCommand("viewattandace_repoeting", a.con);
                            SqlDataAdapter da = new SqlDataAdapter();
                            DataSet ds = new DataSet();
                            a.cmd.CommandType = CommandType.StoredProcedure;
                            da.SelectCommand = a.cmd;
                            da.Fill(ds, "viewattandace_repoeting");
                            rDoc.Load(Server.MapPath("employeemonthly.rpt"));
                            rDoc.SetDataSource(ds);
                            rDoc.SetParameterValue("sdate", sd);
                            rDoc.SetParameterValue("edate", ed);
                            rDoc.SetParameterValue("depid", 1);
                            rDoc.SetParameterValue("email", eet.Text.Trim());
                            CrystalReportViewer2.ReportSource = rDoc;
                            CrystalReportViewer2.DataBind();
                            CrystalReportViewer2.ToolPanelView = CrystalDecisions.Web.ToolPanelViewType.None;
                            a.CloseConnection();