Search code examples
c#mysqlfiltercrystal-reportsexport

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.


Solution

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