asp.net - asp.net 中程序 Crystal 报告的正确形式是什么?和视觉基础

标签 asp.net visual-studio crystal-reports reportviewer report

Protected Sub GridView1_SelectedIndexChanged(ByVal sender As Object, ByVal e As EventArgs) Handles GridView1.SelectedIndexChanged
    Dim rptv As New rptVenta()
    Session("vseleccionada") = GridView1.SelectedRow().Cells(1).Text.ToString()
    Dim daove As New DAOVenta()
    Dim tabla As New DataTable()
    tabla = daove.ImprimirFactura(Session("vseleccionada").ToString(), Session("nombreusuario").ToString())
    'Label2.Text = tabla.Rows(0)(3).ToString()
    '  rptv.SetDatabaseLogon("ventas.triton", "triton")
    '   rptv.SetDatabaseLogon("ventas.triton", "triton", "alumno-auc", "admodos")

    rptv.SetDataSource(tabla)
    rptv.SetDatabaseLogon("ventas.triton", "triton", ".", "admodos")

    CrystalReportViewer1.ReportSource = rptv
    rptv.Load("..\GUI\rptVenta.rpt")
    CrystalReportViewer1.LogOnInfo().Item(0).ConnectionInfo().DatabaseName = "admodos"
    CrystalReportViewer1.LogOnInfo().Item(0).ConnectionInfo().IntegratedSecurity = True
    CrystalReportViewer1.LogOnInfo().Item(0).ConnectionInfo().Password = "triton"
    CrystalReportViewer1.LogOnInfo().Item(0).ConnectionInfo().ServerName = "."
    CrystalReportViewer1.LogOnInfo().Item(0).ConnectionInfo().UserID = "ventas.triton"
    ' CrystalReportSource1.ReportDocument.SetDatabaseLogon("USER", "PASSWORD", "SERVIDOR", "Base de datos")
    CrystalReportViewer1.BackColor = Drawing.Color.White

    'CrystalReportViewer1.DataBind()

    Label2.Text = Session("vseleccionada").ToString() + Session("nombreusuario").ToString()

End Sub

我有一个错误
The report requested additional information needed.

那么,让它发挥作用的正确步骤是什么?我在 Visual Basic、visual studio 2008、sql server 2008 r2 中编程。

最佳答案

我以前收到过这个错误。我不记得我是如何修复它的(它发生在 2-3 年前),但这是项目中的代码。我不得不将它转换成 VB,但我编译并运行它,它运行良好。顺便说一下,这是在 ASP.Net 网页表单页面中,所以这是来自背后的代码。页面中的代码只有 CrystalReportViewer。

引用文献:

  • CrystalDecisions.CrystalReports.Engine
  • CrystalDecisions.Enterprise.Framework
  • CrystalDecisions.Enterprise.InfoStore
  • CrystalDecisions.ReportSource
  • CrystalDecisions.Shared
  • CrystalDecisions.Web
  • 
        Imports CrystalDecisions.CrystalReports.Engine
        Imports CrystalDecisions.Shared
    
        Private Sub Page_Init(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Init
    
            ConfigureCrystalReports()
    
        End Sub
    
        Private Sub ConfigureCrystalReports()
            Dim myConnectionInfo As ConnectionInfo = New ConnectionInfo()
            myConnectionInfo.DatabaseName = "ReportDatabase"
            myConnectionInfo.UserID = "ReportUser"
            myConnectionInfo.Password = "ReportPassword"
            myConnectionInfo.ServerName = "ReportServer"
            Dim ParamArrayList As ArrayList = New ArrayList()
    
            aReport = New ReportDocument()
            Dim reportPath As String = Server.MapPath("Report\ReportName.rpt")
            aReport.Load(reportPath)
    
            Dim Param as ArrayList 
            Param.Add("Value")
    
            SetCurrentValuesForParameterField(aReport, Param, "@Param1")
            myCrystalReportViewer.ReportSource = aReport 
            SetDBLogonForReport(myConnectionInfo, aReport)
    
        End Sub
    
        Private Sub SetDBLogonForReport(ByVal myConnectionInfo As ConnectionInfo, ByVal myReportDocument As ReportDocument)
            Dim myTables As Tables = myReportDocument.Database.Tables
            For Each myTable As CrystalDecisions.CrystalReports.Engine.Table In myTables
               Dim myTableLogonInfo As TableLogOnInfo = myTable.LogOnInfo
               myTableLogonInfo.ConnectionInfo = myConnectionInfo
               myTable.ApplyLogOnInfo(myTableLogonInfo)
            Next
        End Sub
    
            Private Sub SetCurrentValuesForParameterField(ByVal myReportDocument As ReportDocument, ByVal myArrayList As ArrayList, ByVal ParameterFieldName As String)
                Dim currentParameterValues As ParameterValues = New ParameterValues()
    
                For Each submittedValue As Object In myArrayList
                    Dim myParameterDiscreteValue As ParameterDiscreteValue = New ParameterDiscreteValue()
                    myParameterDiscreteValue.Value = submittedValue.ToString()
                    currentParameterValues.Add(myParameterDiscreteValue)
                Next
    
                Dim myParameterFieldDefinitions As ParameterFieldDefinitions = myReportDocument.DataDefinition.ParameterFields
                Dim myParameterFieldDefinition As ParameterFieldDefinition = myParameterFieldDefinitions(ParameterFieldName)
                myParameterFieldDefinition.ApplyCurrentValues(currentParameterValues)
            End Sub
    
            Private Sub SetCurrentValuesForParameterField(ByVal myReportDocument As ReportDocument, ByVal myArrayList As ArrayList, ByVal ParameterFieldName As String, ByVal SubReportName As String)
                Dim currentParameterValues As ParameterValues = New ParameterValues()
    
                For Each submittedValue As Object In myArrayList
                    Dim myParameterDiscreteValue As ParameterDiscreteValue = New ParameterDiscreteValue()
                    myParameterDiscreteValue.Value = submittedValue.ToString()
                    currentParameterValues.Add(myParameterDiscreteValue)
                Next
    
                Dim myParameterFieldDefinitions As ParameterFieldDefinitions = myReportDocument.DataDefinition.ParameterFields
                Dim myParameterFieldDefinition As ParameterFieldDefinition = myParameterFieldDefinitions(ParameterFieldName, SubReportName)
                myParameterFieldDefinition.ApplyCurrentValues(currentParameterValues)
            End Sub
    

    关于asp.net - asp.net 中程序 Crystal 报告的正确形式是什么?和视觉基础,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6951496/

    相关文章:

    c# - 如何从代码中隐藏一个 div (c#)

    asp.net - 在ASP.net中显示SQL错误

    c - 指针:尝试通过添加大量数字来取消引用指针时读取访问冲突

    visual-studio - 如何配置 Visual Studio (2010) 在默认情况下双击打开代码隐藏的 aspx 页面?

    crystal-reports - Crystal 报错误: remaining text does not appear to be part of the formula

    sql-server - Crystal Reports 到 MS SQL Server Reporting Services 转换的简单方法

    asp.net - VB.NET 检查带有 ID 的 XML 节点是否存在

    c - 为什么单个字符被替换为 ╠

    c# - 如何管理Crystal Report Dispose?

    css - 使用输入组可点击图标