2016-08-09 1 views
0

jqueryでこの静的Webメソッドを呼び出し、jqueryの助けを借りてテーブルを作成します データがテーブルに正常に表示されます。 Webフォームページには、これらの値の選択に応じて1つのドロップダウンと2つの日付ピッカー(dateから&まで)が表示されます。データはエクスポートボタンをクリックしてテーブルのデータをクリックすると、 クリスタルレポートでセッションを呼び出す

私はクリスタルレポートで呼び出したいセッションや通話中にDTを保存し、私は

は私がウェブ静的WebMethod属性すなわち

を持ってCrystalレポートでのCrystalReportViewerを追加レポート

で表示されます値&日付ピッカーの値をドロップダウン
[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

私が検索をクリックすると、今私は、テーブルのデータが表示されるWebフォーム

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

    } 

でこれを追加し、私は、私は、レポートボタンテーブルをクリックするとされて消えて、空のレポートが表示

+0

最初にCrystalレポートを作成してReportDocumentオブジェクトを作成し、Crystalレポートを追加したパスを指定してcrstalreportをロードし、objreport.SetParameterValue( "@ frmdate"、frmdate)のようなパラメータを渡します。 crstalreportviewer.ReportSource = objreport; crstalreportviewer.Databind();をバインドします。 –

+0

check update please @ManishGoswami – user6628729

+0

check update @ManishGoswami – user6628729

答えて

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

How to Export Crystal Report to PDF

+0

しかし、datetime形式のfromdate。つまり、datetime picker – user6628729

+0

これは問題ありません。日時データ型をfrmdateと@todateにSP /で渡すか、そのままvarcharにします –

+0

なぜあなたはApplyCRLoginを作成するのですか?私はlinqとデータベース名のユーザーIDなどはすでにweb.congifで設定されています – user6628729

関連する問題