Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it L'avatar di brumac
    Registrato dal
    Jul 2003
    Messaggi
    187

    [C#] Connessione Crystal Report

    Salve a tutti,
    ho creato un file di Report, ora sto cercando di visualizzarlo nella mia pagina aspx. Ho visto sulla msdn, che si fa così:

    TableLogOnInfo credentials=new TableLogOnInfo();
    //Completiamo le proprietà con i nostri parametri per l'accesso a SQL
    credentials.ConnectionInfo.DatabaseName="Intranet" ;
    credentials.ConnectionInfo.UserID = "boh";
    credentials.ConnectionInfo.Password = "boh";
    credentials.ConnectionInfo.ServerName="(local)";
    credentials.TableName="Persone";

    //Aggiungiamo le credenziali al Report Viewer
    CrystalReportViewer1.LogOnInfo.Add(credentials);

    //Indichiamo al Report Viewer di caricare il Report creato
    CrystalReportViewer1.ReportSource=Server.MapPath(" Report1.rpt");

    Solo che io non ho nè userID, nè Password su SqlServer, perchè uso l'autenticazione integrata. Quindi in teoria non dovrei inserire le righe in cui specifico UserID e Password.
    Ma così facendo mi va lo stesso in errore.....
    Scusate, ma è la prima volta che uso Crystal Reports.
    Qualcuno mi sa aiutare?

  2. #2
    Un altro metodo è creare la source in pagina e passarla al report.

    codice:
    Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            'Put user code to initialize the page here
    
    
            Dim cnn As New SqlConnection("Data Source=localhost;Initial Catalog=northwind;User ID=sa;Password=;Persist Security Info=True")
            Dim cmd As New SqlCommand("Select * from categories", cnn)
            Dim da As New SqlDataAdapter
            Dim ds As New DataSet
            Dim dt As New DataTable("Pippo")
    
            cnn.Open()
            da.SelectCommand = cmd
            da.Fill(dt)
            cnn.Close()
    
            ds.Tables.Add(dt)
            ds.WriteXmlSchema("c:\test\test.xsd")
    
            Dim c As New CrystalReport1
            c.Load()
            c.SetDataSource(dt)
    
            Me.CrystalReportViewer1.ReportSource = c
            Me.CrystalReportViewer1.DataBind()
    
        End Sub
    Ho aggiunto questa riga

    ds.WriteXmlSchema("c:\test\test.xsd")

    Per farmi lo scrivere lo schema risultato della mia query e cioè dei dati che verranno passati al report.
    Questo ti serve soprattutto quando devi disegnare il report.

    Quando aggiungi una connessione al db seleziona "Database Files" e poi cerchi il file xsd di prima.

    Il codice che ti ho postato sopra l'ho testato e funziona con il db Northwind.

    Ricorda di creare la cartella test e dare le permission all'utente aspnet per scrivere il file.

    Fammi sapere
    Ciao
    K
    Kalman

  3. #3
    Utente di HTML.it L'avatar di brumac
    Registrato dal
    Jul 2003
    Messaggi
    187
    Però creando la Source nella pagina, posso aggiungere sul Report solo una Datatable.
    Mentre, per come ho definito la struttura del Report, oltre a visualizzare una tabella del db, voglio visualizzare anche altri campi.
    Quindi vorrei cercare di sistemare il codice che ho postato.
    Qualche idea?

  4. #4
    No puoi aggiungere anche un dataset.
    E se vuoi puoi anche passargli dei parametri.

    Ciao
    K
    Kalman

  5. #5
    Utente di HTML.it L'avatar di brumac
    Registrato dal
    Jul 2003
    Messaggi
    187
    Come associo poi un valore ad un qualsiasi campo del Report?

  6. #6
    Il campo è uno solo per tutto il report?
    Puoi fare un esempio?


    Grazie
    Ciao
    K
    Kalman

  7. #7
    Utente di HTML.it L'avatar di brumac
    Registrato dal
    Jul 2003
    Messaggi
    187
    Forse non ti ho spiegato bene....
    Dopo aver visualizzato la tabella, dovrei visualizzare nel Report, sotto di essa, ulteriori informazioni, che sono inserite dall'utente in alcune TextBox.
    Per far questo, dovrei specificare alcuni campi sul Report, e poi associare ad essi, quello che viene immesso nelle TextBox, giusto?

  8. #8
    Nel report puoi aggiungere e posizionare dove vuoi un "Parameter Fields".


    Nel mio report ho aggiunto un parametro che si chiama test e nel codebehind della pagina avrò:

    codice:
    c.Load()
    c.SetDataSource(dt)
    c.SetParameterValue("test", Me.TextBox1.Text)

    Fammi sapere
    Ciao
    K
    Kalman

  9. #9
    Utente di HTML.it L'avatar di brumac
    Registrato dal
    Jul 2003
    Messaggi
    187
    perfetto, ti ringrazio.
    Ciao
    Marco

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.