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

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

发布时间:2020-12-16 07:39:28 所属栏目:asp.Net 来源:网络整理
导读: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 dao
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",".","admodos")

    CrystalReportViewer1.ReportSource = rptv
    rptv.Load("..GUIrptVenta.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 Web表单页面中,所以这是来自后面的代码.页面中的代码只有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("ReportReportName.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 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

(编辑:李大同)

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

    推荐文章
      热点阅读