简体   繁体   中英

Export Filtered data from crystal report to pdf using c# windows form application

I'm new to using crystal report in c# windows form application.I connect my crystal report to mysql server "11.0.65.185".

I have (EmpName, EmpId, DOB, DOJ, Address, City) this 6 column in my crystal report. then i add a parameter in my report as (fromdate and todate)

this link helps me to filter the DOJ column http://stackoverflow.com/questions/37391112/filter-data-in-crystal-report-using-datetimepicker/37525275#37525275 thanks to stackoverflow.

but here i have the problem in Export option. I have maximum 1000 data's. When i filter data in DOJ using Datetimepicker1 has fromdate and Datetimepicker2 as todate i got an between data's into my report.

I need to export only that filter data's.But when i search through googling i got an code to export full data's which are present in my database table.

CrystalReport1 crys = new CrystalReport1();
crys.ExportToDisk(ExportFormatType.PortableDocFormat, "C:\\Users\\Downloads\\ReportAsPDF.pdf");
                MessageBox.Show("Report Export Into PDF File");

This code help me export whole data in c# crystal report. Please Friends Help Me to Export only filtered data into PDF.

Thank You For Help.

Try this as same as filter data in report

                TableLogOnInfos crtableLogoninfos = new TableLogOnInfos();
                TableLogOnInfo crtableLogoninfo = new TableLogOnInfo();
                ConnectionInfo crConnectionInfo = new ConnectionInfo();
                Tables CrTables;

                ParameterFieldDefinitions crParameterFieldDefinitions;
                ParameterFieldDefinition crParameterFieldDefinition;
                ParameterValues crParameterValues = new ParameterValues();
                ParameterDiscreteValue crParameterDiscreteValue = new ParameterDiscreteValue();

                crParameterDiscreteValue.Value = dateTimePicker1.Text;
                crParameterFieldDefinitions = crys.DataDefinition.ParameterFields;
                crParameterFieldDefinition = crParameterFieldDefinitions["fromdate"];
                crParameterValues = crParameterFieldDefinition.CurrentValues;

                crParameterValues.Clear();
                crParameterValues.Add(crParameterDiscreteValue);
                crParameterFieldDefinition.ApplyCurrentValues(crParameterValues);

                crParameterDiscreteValue.Value = dateTimePicker2.Text;
                crParameterFieldDefinitions = crys.DataDefinition.ParameterFields;
                crParameterFieldDefinition = crParameterFieldDefinitions["todate"];
                crParameterValues = crParameterFieldDefinition.CurrentValues;



                crParameterValues.Add(crParameterDiscreteValue);
                crParameterFieldDefinition.ApplyCurrentValues(crParameterValues);


                crParameterValues.Add(crParameterDiscreteValue);
                crParameterFieldDefinition.ApplyCurrentValues(crParameterValues);

                crConnectionInfo.ServerName = "****";
                crConnectionInfo.DatabaseName = "****"; ;
                crConnectionInfo.UserID = "root";
                crConnectionInfo.Password = "******";

                CrTables = crys.Database.Tables;
                foreach (CrystalDecisions.CrystalReports.Engine.Table CrTable in CrTables)
                {
                    crtableLogoninfo = CrTable.LogOnInfo;

                    CrTable.ApplyLogOnInfo(crtableLogoninfo);
                }
                DateTime date = DateTime.Now;
                int t = date.Hour;
                int t1 = date.Minute;
                int t2 = date.Second;
                int m = date.Month;
                int d = date.Day;
                int y = date.Year;

                crys.ExportToDisk(ExportFormatType.PortableDocFormat, "C:\\Downloads\\ReportAsPDF Time" + t + " - " + t1 + " - " + t2 + " Date " + d + " - " + m + " - " + y + ".pdf");
                MessageBox.Show("Export Successfully");
  1. First you have to add these:
using MySql.Data.MySqlClient;
using CrystalDecisions.CrystalReports.Engine;
  1. Write that:
MySqlConnection con = new MySqlConnection("datasource=172.16.2.104;port=3306;server=localhost;database=tourism_db;uid=root;password=;sslmode=none;charset=utf8;");
MySqlCommand cmd = new MySqlCommand();
ReportDocument cryRpt = new ReportDocument();

MySqlDataAdapter adap2;
cmd = con.CreateCommand();
ReportDocument cryRpt2 = new ReportDocument();
StrSearch = " SELECT * FROM `expenses_db`";
cmd.CommandText = StrSearch;
adap2 = new MySqlDataAdapter();
adap2.SelectCommand = cmd;
DataSet custDB2 = new DataSet();
custDB2.Clear();
adap2.Fill(custDB2, "Expenses_db");
myReport.SetDataSource(custDB2);

crystalReportViewer1.ReportSource = myReport;
crystalReportViewer1.Refresh();
cryRpt = myReport;

cryRpt.ExportToDisk(CrystalDecisions.Shared.ExportFormatType.PortableDocFormat, @"C:\File1.pdf");   

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM