c# - 如何将参数传递给 Visual Studio 2010 的 Crystal Report?看起来他们被忽略了

标签 c# visual-studio-2010 crystal-reports crystal-reports-2010

这在 Visual Studio 2008 中工作正常,但由于我已切换到 Visual Studio 2010 和 Crystal Reports for Visual Studio 2010,我传递的参数将被忽略。

它们显示在报告中,只是在选择公式时被忽略!这是我创建报告和传递参数的代码。

 private void Prepare()
    {
        var reportDocument = new ReportDocument();

        string reportPath = string.Format(
            "{0}\\{1}",
            Globals.FormPath,
            this.FormTemplate.Filename);

        reportDocument.Load(reportPath);

        ParameterDiscreteValue parameter;

        foreach (var control in this.FormTemplateFieldControls)
        {
            switch (control.FormTemplateField.DataType)
            {
                case FormFieldDataType.Date:
                    this.AddParameterForDateTime(
                        reportDocument,
                        control.FormTemplateField.Name,
                        (DateTime)control.EditValue);
                    break;
                case FormFieldDataType.DateTime:
                    this.AddParameterForDateTime(
                        reportDocument,
                        control.FormTemplateField.Name,
                        (DateTime)control.EditValue);
                    break;
                case FormFieldDataType.Time:
                    this.AddParameterForDateTime(
                        reportDocument,
                        control.FormTemplateField.Name,
                        (DateTime)control.EditValue);
                    break;
                case FormFieldDataType.Guid:
                    this.AddParameterForGuid(
                        reportDocument,
                        control.FormTemplateField.Name,
                        (Guid)control.EditValue);
                    break;
                default:
                    this.AddParameterForString(
                        reportDocument,
                        control.FormTemplateField.Name,
                        control.EditValue.ToString());
                    break;
            }
        }

        this.SetConnectionInfo(reportDocument);

        var frm = new FormViewer();

        frm.Report = reportDocument;

        frm.ShowDialog();

        frm.Dispose();

        this.Close();
    }

当我从设计器运行报告时,它工作得很好。当我在报告中显示参数时,您可以看到正在传递参数。

alt text

对于我从存储过程运行的报告,参数似乎传递得很好,它只是由所有表组成的参数。

对于它的值(value),这是我的选择公式:

 {employee.HireDate} >= {?StartDate} And {employee.HireDate} <= {?EndDate}

最佳答案

最新版本的 Crystal Reports for Visual Studio 2010 已解决此问题。

关于c# - 如何将参数传递给 Visual Studio 2010 的 Crystal Report?看起来他们被忽略了,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4205541/

相关文章:

c - 可能的缓冲区溢出

c# - 在 Visual Studio Ultimate 2010 中添加 MySQL.Data 作为引用

asp.net - 无法加载文件或程序集 'log4net' 或其依赖项之一

c# - Crystal Report 不支持 64 位机器

c++ - 这是Visual 2010的编译错误吗?

c# - 如何减小 Crystal 报表工具栏的宽度?

c# - 从 Lock() 中调用 UI 线程上的方法

c# - 多线程行为奇怪的 C#!

c# - 当一个从 DBContextBase 读取而另一个从 DomainDBContext 读取时,从 2 个不同项目中的类访问 DBContext

c# - ASP.NET - 转换本地化数字