in

DotNetSide

Dot Net South Italy Developers User Group
Latest post 18 Nov 2006 9:51 by Beppe. 2 replies.
Page 1 of 1 (3 items)
Sort Posts: Previous Next
  • 16 Nov 2006 14:15

    • Beppe
    • Top 50 Contributor
    • Joined on 27 Oct 2006
    • Posts 5
    • Points 70

    Ancora report...

    Questa volta, però, non è il Crystal Report ma il nuovo ReportViewer di VS 2005.
    Io l'ho trovato piuttosto UserFriendly rispetto alla versione Crystal, solo che mi son sorti
    alcuni dubbi su alcune sue funzionalità.

    1) Voglio ad esempio mettere il valore di un
    campo del dataset sul Page Header, quindi trascino il campo e automaticamente
    mi associa la funzione First che mi dovrebbe far comparire il valore del campo
    selezionato relativo alla prima riga, e questo mi va bene visto che la tabella contiene
    solamente un record. Purtroppo però in fase di compilazione mi compare
    "Fields cannot be used in page headers or footers".Tongue Tied
    E dire che cominciava a piacermi più del Crystal. Come posso ovviare?

    2) Sembra che si possano passare dei parametri al report, infatti editando il report,
    tla le proprietà c'è un ReportParameters, solo che non so come si usa, ma magari
    potrebbe fare al caso mio, cioè passando i valori come parametri.
    Chi mi dice come usare questa funzione, dato che magari non serve in questo mio
    caso ma si potrebbe sfruttare per altro?

    Grazie

    • Post Points: 20
  • 16 Nov 2006 15:14 In reply to

    • Tiziana
    • Top 10 Contributor
      Female
    • Joined on 20 Mar 2006
    • Bari
    • Posts 622
    • Points 10,620

    Re: Ancora report...

    Che non sia possibile inserire informazioni di un campo in un header o footer è vero, ma si può ovviare inserendo una textbox nel body del report e assegnandole una field expression, per poi riferirsi alla textbox nel page header o nel footer.

    Per esempio per riferirsi al contenuto della prima textbox presente nel body che si chiama TXT_xxxx

    =First(ReportItems!TXT_xxxx.Value)

    Per la seconda domanda non mi è chiaro il contesto se è lo stesso della prima domanda, ReportParameters  viene utilizzato come un array di parametri da passare al report tramite il metodo SetParameters, per poi poterne aggiornare la visualizzazione in base allo stesso set di parametri passati, ma ti indico comunque una pagina msdn con un esempio molto utile per l'approfondimento dell'argomento

    http://msdn2.microsoft.com/en-us/library/microsoft.reporting.winforms.serverreport.setparameters(VS.80).aspx

    Ciao!

    Tiziana Loporchio
    Software Solutions Architect

    Microsoft Certified Trainer
    Microsoft Certified Professional Developer
    My Blog - .NetSide Team Member

    • Post Points: 20
  • 18 Nov 2006 9:51 In reply to

    • Beppe
    • Top 50 Contributor
    • Joined on 27 Oct 2006
    • Posts 5
    • Points 70

    Re: Ancora report...

    Grazie Tiziana per la risposta.
    Per quanto riguarda il contesto della seconda domanda, cercherò di essere più chiaro, e di postare il codice che ho usato per risolvere il problema.

    Avevo necessità di stampare una fattura, quindi usando i report dovevo mettere il cliente come header (da leggere nel DB) e gli articoli nel corpo del report. Ora però magari passo i dati del cliente come parametri al report.
    Cmq questa è la procedura per usare i parametri:

    Private Sub SetReportParameters()
      Dim Params As List(Of Microsoft.Reporting.WinForms.ReportParameter) = New List(Of Microsoft.Reporting.WinForms.ReportParameter)
      Params.Add(
    New Microsoft.Reporting.WinForms.ReportParameter("Par1", "Valore par 1"))
      Params.Add(
    New Microsoft.Reporting.WinForms.ReportParameter("Par2", "Valore Par 2"))
      ReportViewer1.LocalReport.SetParameters(Params)
    End Sub

    Private Sub SetReportParameters()
      Dim Params As List(Of Microsoft.Reporting.WinForms.ReportParameter) = New List(Of Microsoft.Reporting.WinForms.ReportParameter)
      Params.Add(
    New Microsoft.Reporting.WinForms.ReportParameter("Par1", "Valore par 1"))
      Params.Add(
    New Microsoft.Reporting.WinForms.ReportParameter("Par2", "Valore Par 2"))
      ReportViewer1.LocalReport.SetParameters(Params)
    End Sub
    • Post Points: 5
Page 1 of 1 (3 items)
Powered by Community Server (Commercial Edition), by Telligent Systems