ang*_*gel 5 asp.net reportviewer report crystal-reports visual-studio
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
Run Code Online (Sandbox Code Playgroud)
我有一个错误
The report requested additional information needed.
Run Code Online (Sandbox Code Playgroud)
那么,让它运作的正确步骤是什么?我正在使用visual basic,visual studio 2008,sql server 2008 r2编程.
小智 0
我之前收到过这个错误。我记不清我是如何修复它的(发生在 2-3 年前),但这是该项目的代码。我必须将其转换为 VB,但我编译并运行了它,它工作得很好。顺便说一下,这是在 ASP.Net Web 表单页面中,所以这是来自隐藏的代码。页面中的代码仅包含 CrystalReportViewer。
参考:
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
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1038 次 |
| 最近记录: |