2011-08-05 15 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 

temel i zaman buasp.net program kristal raporu için doğru biçim nedir? ve görsel

The report requested additional information needed. 

olarak bir hata, o iş almak için doğru adım nelerdir var? Visual basic, visual studio 2008, sql server 2008 r2'de programlama yapıyorum.

+0

Tam olarak durumunuz nedir? – VMAtm

+0

@VMAtm raporu nasıl izleyebilirim, "rapor gerekli ek bilgileri istedi" iletisini almak istemiyorum – angel

+0

"Rapor ek bilgi istedi." Kendinize yazdığınız bir istisna mesajı (veya ekibinizdeki biri) gibi geliyor . Google’da tek bir isabet yok. Çözümünüzü bu ifadeye göre arayabilir ve nasıl çağrıldığını bulabilir misiniz? – Olaf

cevap

0

Bu hatayı daha önce aldım. Tam olarak nasıl tamir ettiğimi hatırlayamıyorum (2-3 yıl önceydi) ama işte buradaki kod. Onu VB'ye dönüştürmek zorunda kaldım ama onu derledim ve çalıştırdım ve iyi çalıştı. Bu arada bu bir ASP.Net web form sayfasında oldu, bu arkadaki koddan. Sayfadaki kod sadece CrystalReportViewer'a sahiptir.

Referanslar:

  • CrystalDecisions.Shared
  • CrystalDecisions.Enterprise.InfoStore
  • CrystalDecisions.ReportSource

    • CrystalDecisions.CrystalReports.Engine
    • CrystalDecisions.Enterprise.Framework 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 
    
  • İlgili konular