Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    338

    [c# winforms] report (no crystal): come modificare da codice la sorgente dati?

    Ho il seguente scenario. Una form contiene in alto dei campi di ricerca e in basso una datagridview che viene popolata di conseguenza. per farlo costruisco runtime la stringa sql di selezione.
    Vorrei implementare un report standard che visualizzi i dati filtrati secondo gli stessi criteri precedenti e quindi mi permetta di scegliere runtime le condizioni e vorrei farlo direttamente da stringa sql e non come query parametrica in quanto in base alle condizioni selezionate anche la query cambierebbe (tabelle, join, ecc.).
    Non riesco a farlo..

    Avete qualche metodo semplice ed efficace?

    Cioè io riesco a crearmi un datatable con i dati che mi servono ma poi come lo lego al report/reportviewer?

  2. #2
    Utente di HTML.it
    Registrato dal
    Oct 2006
    Messaggi
    158
    Se usi il reportviewer lato client non hai soluzione a meno di costruirti via codice il corpo XML del report che vuoi eseguire.

    Se usi i reporting services di MSSQLServer è un'altra storia.
    DISCLAIMER
    quello che sta scritto qui sopra è dettato esclusivamente dall'intuito, non da specifiche conoscenze tecniche. Usate queste informazioni a vostro rischio e pericolo (anhe sui server di produzione

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    338
    ce l'ho fatta!!!!!



    documentazione msdn del cavolo a parte, prima ho cercato di modificare la connessione o il comando select ma nn era accessibile praticamente niente, poi ho scritto una variante dei metodi che uso per popolare le datagridview:

    1) preparo il dataadapter base senza condizioni nella select
    2) lo collego al report sempre in modo visuale
    3) scrivo del codice nell'evento Load del report

    codice:
    //  crea data adapter che prepara il comando sul db
    SqlDataAdapter daReportAnag = new SqlDataAdapter(_comando, Program.strConnDB);
                
    //  popola il datatable del report con il risultato del comando eseguito dal data adapter
    daReportAnag.Fill(this.dsSorveglianzaSanitaria.repElenco);
    wew....

    cmq tu dici che usando il reportserver di sql è più semplice?

  4. #4
    Ciao,
    se ho capito bene ho un problema simile al tuo:
    Ho un DataTable con dei dati in una windows form e vorrei stamparli.
    Come faccio?
    Sono in Ambiente Visual Studio 2008 - C#.
    L'importante non è partecipare.. ma
    vincere!
    Errare Humanum EST, perseverare.. a OVEST!

  5. #5
    Descrivo meglio la situazione:
    Il mi DataTable è in un DataSet, ma non ha una corrispondenza sul DB (non esiste alcuna tabella nel DB).
    Il DataTable si riempe a runtime e click di un pulsante(STAMPA), quindi al click del pulsante prima popolo il DataTable e dopo vorrei stampare il suo contenuto.
    L'importante non è partecipare.. ma
    vincere!
    Errare Humanum EST, perseverare.. a OVEST!

  6. #6
    Ci sono riuscito.
    CrystalReport1 myDataReport = new CrystalReport1();

    // anche se ProdottiRiconosciuti è un DataTable tipizzato, bisogna fare il cast a DataTable se no genera un errore di Ambiguità
    myDataReport.SetDataSource((DataTable)ProdottiRico nosciuti);
    crystalReportViewer1.ReportSource = myDataReport;
    crystalReportViewer1.PrintReport();

    Spero sia utile a qualcuno in futuro.

    Ciauu
    L'importante non è partecipare.. ma
    vincere!
    Errare Humanum EST, perseverare.. a OVEST!

  7. #7
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,480

    Moderazione

    Originariamente inviato da offlieman
    se ho capito bene ho un problema simile al tuo:
    In futuro, non risollevare discussioni vecchie per porre un problema nuovo, o anche simile.
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

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.