Creare un report di dati senza database

giovedì 17 giugno 2010 - 11.03

eclipse Profilo | Newbie

Ciao,
vorrei sapere se esiste un modo per poter creare un report in modo dinamico senza database:
ho dei dati in una tabella in visual basic 2008, riempita dopo una elaborazione di un file di testo (quindi non mi appoggio su un database), vorrei sapere se dopo aver riempito tale tabella esiste il modo per crearne un report (rdlc).
Grazie

alsatan Profilo | Newbie

Bhe al report non interessa tanto il database, quanto il dataset che gli passi...
Questo lo puoi construire anche tu a mano da codice VB, quindi se hai una tabella già riempita di dati, basta che li leggi e la metti (con un ciclo per esempio) dentro ad un dataset (che è poi una tabella virtuale) che crei a mano e magari gli dai la stessa struttura della tabella dove hai i dati.

Al rdlc poi passi quel dataset.

Io per esempio in un report avevo bisogno di avere dei dati differenti dalla query che effettuavo in VB per leggere i dati, e ho modificato il dataset aggiungendo delle righe prima di passarlo al report.

Io sono un niubbo per cui spero di averti fatto capire lo stesso, in attesa che qualche "PRO" ti dia qualche spiegazione più esauriente :)

Ciao

eclipse Profilo | Newbie

Ma passarlo a rdlc come? attraverso la procedura guidata?
Grazie

freeteo Profilo | Guru

Ciao eclipse,
ti allego un esempio semplice di un report rdlc, dove il report è stato costruito su un oggetto (classe OggettoTest del progetto) e poi gli viene passata un collection di questi da codice (e appunto puoi vedere il codice da usare per fare queste cose).

Il tutto funge da esempio, infatti quando gli passi i dati, essi possono provenire da qualsiasi parte e i dati (in questo caso un oggetto .net, ma la cosa vale anche se fosse un db temporaneo...) li puoi prelevare da dove vuoi, l'importante è che abbiano la stessa struttura...

Ciao.

Matteo Raumer
[MCAD .net, MVP Visual C#]
http://blogs.dotnethell.it/freeteo

eclipse Profilo | Newbie

Grazie mille...
ma non capisco una cosa:non esiste un modo più dinamico per generare un report? da tutti gli esempi il report va progettato comunque in modo statico...per cui mi domando, se le colonne del report posso variare, come faccio a definirne la struttura? le colonne posso variare durante l'interazione dell'utente che effettua delle scelte sulla tabella!

freeteo Profilo | Guru

Ciao,
no, purtroppo non puoi variare le colonne (per essere più precisi lo schema) dei dati che gli passi perchè il report vuole sapere dove e soprattutto cosa renderizzare...non ci sono alternative "agili" se non:
- lavorare con RDL => il file rdl|rdlc di fatto è un Xml che segue lo standard RDL (Report Definition Language), volendo potresti generarlo dinamicamente
- fare degli alias delle colonne => ad esempio costruisci il report con delle colonne e poi a runtime a quelle colonne associ dei valori differenti via via, come ad esempio una query "SELECT nome as CAMPOREPORT1,..." etc, ma alla fine il report deve cmq ricevere quella struttura dati

Ciao.

Matteo Raumer
[MCAD .net, MVP Visual C#]
http://blogs.dotnethell.it/freeteo
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5