CR SP26 VS2019参数面板缺少参数

2020-08-21 07:18发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


由于某种原因,我已经运行了对SP26的更新,而最初加载报告后,我的参数不再显示在Web crystalreportviewer的参数面板中。 最初会提示参数运行报告。

要解决此问题,我将HasToggleParameterPanelButton = false,HasRefreshButton = true和ReuseParameterValuesOnRefresh = false设置为。

  

这确实显示了预期的参数。 我的报告参数设置为可编辑,并且当您使用Usage2值下面的代码遍历parameterfield时,它已经设置为所有可用值(请注意,此片段来自另一篇文章,但是如果尝试使用,则会得到Not Not 支持的异常)

 foreach(reportDocument.ParameterFields中的CrystalDecisions.Shared.ParameterField parameterField)
 {
   parameterField.ParameterFieldUsage2 = ParameterFieldUsage2.ShowOnPanel;
 } 

从图片中可以看到,此报告的参数在"参数面板"中丢失。 不确定如何解决此问题。 任何建议,将不胜感激。 认为这可能是一个错误。 我在下面包括了我的代码以供参考。 在SP25之前,我正在报表初始化方法中使用Report.ParameterFieldInfo.Clear()清除parameterfieldinfo属性。 这可能与缺少的参数有关,但是我无法进行测试,因为如果我将其添加回去,则无法加载报告,因为当您在参数对话框中单击"确定"时,报告的ajax回传仅返回参数 对话框,而不是呈现的报告。

私有crReportDoc作为ReportDocument
  私有rpt作为字符串

     私有子Report_Init(发送者作为对象,e作为System.EventArgs)处理Report.Init
         昏暗的exportFormatFlags作为整数= CInt(CrystalDecisions。[Shared] .ViewerExportFormats.PdfFormat或CrystalDecisions。[Shared] .ViewerExportFormats.ExcelFormat)
         Report.AllowedExportFormats = exportFormatFlags
         'Report.ParameterFieldInfo.Clear()'已启动,如果删除了'12/13/19 CR SP25和SP26,则导致提示无法消失
         LoadCRV()
     结束子
     子LoadCRV()
         尝试
             rpt = Request.QueryString(" rpt")
             如果rpt什么都没有,则Response.Redirect("〜/reports/crm.aspx")
             Dim rptPath As String = Nothing
             如果rpt不算什么,则rptPath = Server.MapPath("〜/reports/cr/" + rpt)
             如果rptPath无效
                 尝试
                     crReportDoc =新的ReportDocument
                     crReportDoc.Load(rptPath)
                     对于crReportDoc.Subreports中的每个rd作为ReportDocument
                         crDBLogin(rd)
                     下一个
                     crDBLogin(crReportDoc)
                     Report.ReportSource = crReportDoc

                     Report.RefreshReport()
                 作为CrystalReportsException捕获
                 异常捕获
                 结束尝试
             万一
         异常捕获
         结束尝试
     结束子
     私有子cr_Unload(发送者为对象,e为System.EventArgs)处理Me.Unload
         如果rpt一无是处
             如果crReportDoc什么都不是,那么
                 如果crReportDoc.Subreports不存在
                     对于每个srDoc作为crReportDoc.Subreports中的ReportDocument
                         如果srDoc一无是处
                             srDoc.Close()
                             来自网络发布的'srDoc.Clone()'想法
                             srDoc.Dispose()
                             GC.Collect()
                             网络帖子中的'GC.WaitForPendingFinalizers()'思想
                         万一
                     下一个
                 万一
                 crReportDoc.Close()
                 来自网络发布的" crReportDoc.Clone()"想法
                 crReportDoc.Dispose()
                 GC.Collect()
                 网络帖子中的'GC.WaitForPendingFinalizers()'思想
             万一
             如果没有报告,那么
                 Report.Dispose()
             万一
         万一
     结束子
 

关于我的升级的注意事项:

我按照指示以管理员身份运行exe。 我让它安装64位MSI。 已经安装了32位MSI,但未更新。 我手动更新了。 VS工具箱中仍然引用了.3500控件,因此我删除了它们并添加了新项(不确定是否应该自动发生)。 我确实删除了下图中的所有引用,并将它们添加回去,从而将项目文件更新为.4000 dll。

项目规范
x86,4.7.2框架

(38.3 kB)

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


由于某种原因,我已经运行了对SP26的更新,而最初加载报告后,我的参数不再显示在Web crystalreportviewer的参数面板中。 最初会提示参数运行报告。

要解决此问题,我将HasToggleParameterPanelButton = false,HasRefreshButton = true和ReuseParameterValuesOnRefresh = false设置为。

  

这确实显示了预期的参数。 我的报告参数设置为可编辑,并且当您使用Usage2值下面的代码遍历parameterfield时,它已经设置为所有可用值(请注意,此片段来自另一篇文章,但是如果尝试使用,则会得到Not Not 支持的异常)

 foreach(reportDocument.ParameterFields中的CrystalDecisions.Shared.ParameterField parameterField)
 {
   parameterField.ParameterFieldUsage2 = ParameterFieldUsage2.ShowOnPanel;
 } 

从图片中可以看到,此报告的参数在"参数面板"中丢失。 不确定如何解决此问题。 任何建议,将不胜感激。 认为这可能是一个错误。 我在下面包括了我的代码以供参考。 在SP25之前,我正在报表初始化方法中使用Report.ParameterFieldInfo.Clear()清除parameterfieldinfo属性。 这可能与缺少的参数有关,但是我无法进行测试,因为如果我将其添加回去,则无法加载报告,因为当您在参数对话框中单击"确定"时,报告的ajax回传仅返回参数 对话框,而不是呈现的报告。

私有crReportDoc作为ReportDocument
  私有rpt作为字符串

     私有子Report_Init(发送者作为对象,e作为System.EventArgs)处理Report.Init
         昏暗的exportFormatFlags作为整数= CInt(CrystalDecisions。[Shared] .ViewerExportFormats.PdfFormat或CrystalDecisions。[Shared] .ViewerExportFormats.ExcelFormat)
         Report.AllowedExportFormats = exportFormatFlags
         'Report.ParameterFieldInfo.Clear()'已启动,如果删除了'12/13/19 CR SP25和SP26,则导致提示无法消失
         LoadCRV()
     结束子
     子LoadCRV()
         尝试
             rpt = Request.QueryString(" rpt")
             如果rpt什么都没有,则Response.Redirect("〜/reports/crm.aspx")
             Dim rptPath As String = Nothing
             如果rpt不算什么,则rptPath = Server.MapPath("〜/reports/cr/" + rpt)
             如果rptPath无效
                 尝试
                     crReportDoc =新的ReportDocument
                     crReportDoc.Load(rptPath)
                     对于crReportDoc.Subreports中的每个rd作为ReportDocument
                         crDBLogin(rd)
                     下一个
                     crDBLogin(crReportDoc)
                     Report.ReportSource = crReportDoc

                     Report.RefreshReport()
                 作为CrystalReportsException捕获
                 异常捕获
                 结束尝试
             万一
         异常捕获
         结束尝试
     结束子
     私有子cr_Unload(发送者为对象,e为System.EventArgs)处理Me.Unload
         如果rpt一无是处
             如果crReportDoc什么都不是,那么
                 如果crReportDoc.Subreports不存在
                     对于每个srDoc作为crReportDoc.Subreports中的ReportDocument
                         如果srDoc一无是处
                             srDoc.Close()
                             来自网络发布的'srDoc.Clone()'想法
                             srDoc.Dispose()
                             GC.Collect()
                             网络帖子中的'GC.WaitForPendingFinalizers()'思想
                         万一
                     下一个
                 万一
                 crReportDoc.Close()
                 来自网络发布的" crReportDoc.Clone()"想法
                 crReportDoc.Dispose()
                 GC.Collect()
                 网络帖子中的'GC.WaitForPendingFinalizers()'思想
             万一
             如果没有报告,那么
                 Report.Dispose()
             万一
         万一
     结束子
 

关于我的升级的注意事项:

我按照指示以管理员身份运行exe。 我让它安装64位MSI。 已经安装了32位MSI,但未更新。 我手动更新了。 VS工具箱中仍然引用了.3500控件,因此我删除了它们并添加了新项(不确定是否应该自动发生)。 我确实删除了下图中的所有引用,并将它们添加回去,从而将项目文件更新为.4000 dll。

项目规范
x86,4.7.2框架

(38.3 kB)
付费偷看设置
发送

一周热门 更多>