2011-08-05 10 views
5
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 

mam błąd jak tenjaka jest właściwa forma raportu kryształu programu w asp.net? i Visual Basic

The report requested additional information needed. 

wtedy, jakie są właściwym krokiem, aby uzyskać to działa? programuję w visual basic, visual studio 2008, serwer sql 2008 r2.

+0

Jaki dokładnie jest twój wyjątek? – VMAtm

+0

@VMAtm jak mogę obejrzeć raport, nie chcę otrzymywać wiadomości "raport zażądał dodatkowych informacji potrzebnych" – angel

+0

"Raport zażądał dodatkowych informacji potrzebnych" brzmi jak wiadomość o wyjątku, którą sam napisałeś (lub ktoś w zespole) . W Google nie ma ani jednego trafienia. Czy możesz przeszukać rozwiązanie dla tej frazy i dowiedzieć się, jak się ją nazywa? – Olaf

Odpowiedz

0

Otrzymałem ten błąd wcześniej. Nie pamiętam dokładnie, jak naprawiłem (zdarzyło się to 2-3 lata temu), ale tutaj jest kod z projektu. Musiałem go przekonwertować na VB, ale skompilowałem go i uruchomiłem i działało dobrze. By the way to był na stronie formularza sieci ASP.Net, więc jest to z kodu z tyłu. Kod ze strony ma po prostu CrystalReportViewer.

Odniesienia:

  • 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 
Powiązane problemy