2016-08-09 68 views
0

Ich rufe diese statische Webmethode in jquery auf und beziehe die Tabelle mit Hilfe von jquery Daten werden erfolgreich in der Tabelle angezeigt. In der Web-Formularseite gibt es eine Dropdown-Liste und zwei Datum-Picker (vom Datum & bis zum Datum) entsprechend der Auswahl dieser Werte werden Daten in der Tabelle angezeigt Ich möchte einen Crystal Report erstellen, wenn ich auf Export-Button und dann Tabellendaten klicke, Drop-Down-Wert & Datumsauswahl Wert Anzeige im BerichtAnrufsitzung im Crystal Report

ich speichere dt in der Sitzung und Anruf sein, der in crystal Report nennen wollen und ich füge hinzu Crystal in crystal Report

I web statische Webmethod dh

habe
[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(); 
     } 
} 

UPDATE

jetzt ich dies in Webformular hinzufügen

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); 

    } 

wenn ich auf Suche klicken Sie dann auf Tabellendatenanzeige ist und ich dann, wenn ich klicken Sie auf Schaltfläche Bericht Tabelle wird verschwinden und leeren Bericht ist Anzeige

+0

Erstellen Sie zuerst einen Crystal Reports-Bericht, erstellen Sie dann das ReportDocument-Objekt, laden Sie Ihren ersten Bericht, indem Sie den Pfad angeben, an dem Sie Ihren Crystal Report hinzugefügt haben, und übergeben Sie den Parameter objreport.SetParameterValue ("@ frmdate", frmdate); und binden Sie dann den crstalreportviewer.ReportSource = objreport; crstalreportviewer.Databind(); –

+0

Check-Update bitte @ManishGoswami – user6628729

+0

Check Update @ManishGoswami – user6628729

Antwort

0

Nur fügen Sie in Ihrem Button Ereignis

folgenden Code
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); 
       } 
      } 

How to Export Crystal Report to PDF

+0

aber ich VonDatum in Datetime-Format .. ich meine Datetime Picker – user6628729

+0

Kein Problem mit dem, kindly Datetime datattype zum frmdate und @todate in SP Pass/oder halten, wie es varchar ist –

+0

Warum erstellen Sie ApplyCRLogin? Ich benutze Linq und Datenbank Name Benutzer-ID usw. sind bereits in Web konfiguriert. congif – user6628729