0

jquery でこの静的 Web メソッドを呼び出し、jquery Data is successfully display in table を使用してテーブルにデータを入力します。Webフォームページには、これらの値の選択に応じて、1つのドロップダウンと2つの日付ピッカー(日付から日付まで)がありますデータはテーブルに表示されます。エクスポートボタンをクリックしてからテーブルデータをクリックすると、Crystalレポートを作成したいと思います。ドロップダウン値と日付ピッカー値がレポートに表示されます

Crystal Reportで呼び出したいセッションと呼び出しにdtを保存し、CrystalReportにcrystalreportviewerを追加します

私はweb static webmethod ieを持っています

[WebMethod]
public static string search_data(DateTime fromdate, DateTime todate, string region)
{
        try
        {
            string result = "";
            Ts1 td = new T1();
            DateTime frDate = new DateTime(fromdate.Year, fromdate.Month, fromdate.Day, 0, 0, 0);
            DateTime to_Date = new DateTime(todate.Year, todate.Month, todate.Day, 23, 59, 59);
            List<griddataresult_Result> dq = td.griddataresult(frDate, to_Date, region).ToList();

                DataTable dt = new DataTable();
                dt.Columns.Add("ID", typeof(int));
                dt.Columns.Add("OwnerName", typeof(string));
                dt.Columns.Add("RegNo", typeof(string));
                foreach (var c in dq)
                {

                    dt.Rows.Add(c.ID, c.OwnerName, c.RegNo);
                } 

             DataTable dtt= (DataTable)HttpContext.Current.Session["datagrid"];               
                result = DataSetToJSON(dt);              
            return result;
        }
        catch (Exception)
        {
            throw new Exception();
        }
 }

アップデート

今私はこれをウェブフォームに追加します

private void BindReport(ReportDocument crystalReport, DateTime fromdate, DateTime todate, string region)
    {


        TrackDataEntities1 t = new TrackDataEntities1();
        crystalReport.Load(Server.MapPath("data.rpt"));
        List<griddataresult_Result> dsc = t.griddataresult(fromdate, todate, region).ToList();
        crystalReport.SetDataSource(dsc);
        CrystalReportViewer1.ReportSource = crystalReport;
    }
    protected void Report_Click(object sender, EventArgs e)
    {

        DataTable dt = Session["datagrid"] as DataTable;
        ReportDocument crystalReport = new ReportDocument();
        //crystalReport.SetParameterValue("@fromdate", fromdate.Value);
        //crystalReport.SetParameterValue("@todate", todate.Value);
        //crystalReport.SetParameterValue("@region", regiondrop.SelectedValue);
        BindReport(crystalReport,Convert.ToDateTime(fromdate.Value), Convert.ToDateTime(todate.Value), regiondrop.SelectedValue);

    }

検索をクリックするとテーブルデータが表示され、レポートボタンをクリックするとテーブルが消えて空白のレポートが表示されます

4

1 に答える 1

0

ButtonClick イベント内に次のコードを追加するだけです

 protected void Button5_Click(object sender, EventArgs e)
     { 
    dynamic rpt = new ReportDocument();
    ApplyCRLogin(rpt);
    DataSet dtu = new DataSet();
        // Your Stored Procedure Here 
       // Bind dtu to the ObjReport
       rpt .Database.Tables["Command"].SetDataSource(dtu.Tables[0]);
     // Here Command is name which you can see inside Field Explorer in Crystal Report Design Mode 
       // Then Pass your SP parametrs 
        rpt.SetParameterValue("@dtFromDate", txtFromDate.Text);
        rpt.SetParameterValue("@dtToDate", txtToDate.Text);

        //After this Export your Crstal Report  to  PDF
      ExportToPDF(rpt);
     }

     public void ApplyCRLogin(CrystalDecisions.CrystalReports.Engine.ReportDocument oRpt)
            {
                CrystalDecisions.CrystalReports.Engine.Database oCRDb = oRpt.Database;
                CrystalDecisions.CrystalReports.Engine.Tables oCRTables = oCRDb.Tables;
                CrystalDecisions.Shared.TableLogOnInfo oCRTableLogonInfo;
                CrystalDecisions.Shared.ConnectionInfo oCRConnectionInfo = new CrystalDecisions.Shared.ConnectionInfo();
                oCRConnectionInfo.DatabaseName = "DatabaseName";
                oCRConnectionInfo.ServerName = "DBSRV_NAME";
                oCRConnectionInfo.UserID = "UserID";
                oCRConnectionInfo.Password = "Password";
                foreach (CrystalDecisions.CrystalReports.Engine.Table oCRTable in oCRTables)
                {
                    oCRTableLogonInfo = oCRTable.LogOnInfo;
                    oCRTableLogonInfo.ConnectionInfo = oCRConnectionInfo;
                    oCRTable.ApplyLogOnInfo(oCRTableLogonInfo);
                }
            }

Crystal レポートを PDF にエクスポートする方法

于 2016-08-09T09:12:13.803 に答える