2010-02-18 20 views
8

Voglio creare un report, utilizzando Crystal Reports o RDLC, non importa quale. Posso riunire tutte le origini dati come una serie di caselle di testo generate dinamicamente, ecc., Ma come aggiungerlo a un rapporto?C# crea report a livello di programmazione

Ad esempio, desidero che il nome del cliente e tutti i relativi articoli ordinati siano presenti in un rapporto. Ora posso ottenere tutte le informazioni in un array ... come posso quindi inserirle in un Crystal Report?

Qualsiasi buona presentazione che riguardi i maghi per Crystal Reports sarebbe sorprendente.

+0

Perché nel tuo esempio hai bisogno di RDLC? – Rookian

+0

Io non particolarmente - mi chiedo solo come farlo. Fondamentalmente ho solo bisogno di creare un rapporto personalizzato, un po 'come quello che vedresti in Access. –

risposta

3

Ogni origine dati del report ha un nome (menu report-> origini dati, può non essere esatto perché il mio vs non è in inglese).

Supponi che uno dei tuoi nomi di origini dati sia prj_folder_classSample e classSample è una classe del tuo progetto. Quindi è necessario aggiungere un elenco al report.

Facciamolo.

List<classSanple> lst = new List<classSample> 
lst.Add(...) //Add various instances of classSample 
BindingSource thisIsABindingSource = new BindingSource(); 
thisIsABindingSource.DataSource = lst; 
reportDataSource rds = new ReportDataSource("prj_folder_classSample", thisIsABindingSource); 

ReportViewer1.ProcessingMode = ProcessingMode.Local; 
ReportViewer1.LocalReport.EnableExternalImages = true; 
ReportViewer1.LocalReport.ReportEmbeddedResource = "YourProject.Folder.reportName.rdlc"; 
ReportViewer1.LocalReport.DataSources.Add(rds) 

Lo faccio in questo modo. Spero ti aiuti.

+0

Questo sembra buono e tutto, ma come potrei quindi cambiare la visualizzazione del report - dove vengono visualizzate le cose ecc. –

+0

Passare a una casella di testo nella finestra di progettazione report, ricerca per la proprietà denominata valore. La prima opzione è Espressione. Aprirà un designer di expresion. C'è una sezione denominata Categorie e all'interno c'è una categoria (set di dati, origine dati o qualcosa di simile) con tutte le origini dati che hai aggiunto al tuo rapporto. Selezionare un'origine dati e un campo di questa origine dati, quindi il campo visualizzerà il valore selezionato in runtime. – Jonathan

+0

Quindi non c'è modo di assegnare solo valori, come Report.Textbox1 = Form.Textbox1? –

-1

Vedere questo link http://msdn.microsoft.com/en-us/library/cc281022.aspx#RDCE se si desidera modificare dinamicamente il report. Questa estensione è chiamata appena prima del rendering del report. Microsoft ha creato un modello a oggetti RDL. Con questo puoi personalizzare l'intero rapporto. Ma forse non hai bisogno di questa estensione. Prova prima i tuoi contenuti in Report Designer.

Problemi correlati