加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 如何将参数传递给Crystal Report for Visual Studio 2010

发布时间:2020-12-15 21:12:45 所属栏目:百科 来源:网络整理
导读:这在Visual Studio 2008中正常工作,但由于我已切换到Visual Studio 2010和Crystal Reports for Visual Studio 2010,因此忽略了传递的参数. 它们显示在报告中,在选择公式时忽略了!这是我创建报告和传递参数的代码. private void Prepare() { var reportDocum
这在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,(DateTime)control.EditValue);
                    break;
                case FormFieldDataType.Time:
                    this.AddParameterForDateTime(
                        reportDocument,(DateTime)control.EditValue);
                    break;
                case FormFieldDataType.Guid:
                    this.AddParameterForGuid(
                        reportDocument,(Guid)control.EditValue);
                    break;
                default:
                    this.AddParameterForString(
                        reportDocument,control.EditValue.ToString());
                    break;
            }
        }

        this.SetConnectionInfo(reportDocument);

        var frm = new FormViewer();

        frm.Report = reportDocument;

        frm.ShowDialog();

        frm.Dispose();

        this.Close();
    }

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

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

对于它的价值,这是我的选择公式:

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

解决方法

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读