c# - 使用 C# Windows 窗体应用程序将过滤后的数据从 Crystal 报表导出到 pdf

标签 c# mysql filter crystal-reports export

我是在 C# Windows 窗体应用程序中使用 Crystal Report 的新手。我将 Crystal Report 连接到 mysql 服务器“11.0.65.185”。

我的 Crystal 报告中有(EmpName、EmpId、DOB、DOJ、地址、城市)这 6 列。然后我在报告中添加一个参数(起始日期和截止日期)

此链接帮助我过滤 DOJ 栏 http://stackoverflow.com/questions/37391112/filter-data-in-crystal-report-using-datetimepicker/37525275#37525275感谢 stackoverflow。

但我在导出选项中遇到问题。我最多有 1000 个数据。当我使用 Datetimepicker1 过滤 DOJ 中的数据时,我的报告中包含了 fromdate 和 Datetimepicker2 之间的数据。

我只需要导出该过滤器数据。但是当我通过谷歌搜索时,我得到了一个代码来导出数据库表中存在的完整数据。

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

此代码帮助我导出 C# Crystal 报表中的全部数据。请 friend 帮助我仅将过滤后的数据导出为 PDF。

感谢您的帮助。

最佳答案

尝试与报告中过滤数据相同的操作

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

关于c# - 使用 C# Windows 窗体应用程序将过滤后的数据从 Crystal 报表导出到 pdf,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38048413/

相关文章:

javascript - 显示应用于一处多个图表的过滤器

filter - ** 在 Phing 中是什么意思?

php - 在 php/mysqli 中隐藏重复的行?

C# 文件上次修改时间

c# - 如何在 where 子句中使用 LINQ Except()

c# - 使用 Excel 工作表作为数据源将测试结果写回 TestContext

php - 更新数据表单不会从数据库检索任何信息以在 php 中进行编辑

php - 将数组插入数据库中的不同行

r - str_detect 还在过滤器中找到 NA

c# - 我如何在 winforms 中制作我的自定义对话框?