1 messaggio dal 06 luglio 2017
Buongiorno,

sono uno sviluppatore c# che da qualche anno utilizza tecnologie microsoft.
Per un cliente in particolare mi sono scontrato con le prestazioni di rendering riguardanti i report rdlc (che per il tipo di stampa che dovevo fare mi sembrava lo strumento più adatto).
La stampa funziona già ma per il rendering completo mi ci mette circa 1 minuto.

Provo a scendere più nel dettaglio.
In pratica la stampa è quella di un preventivo molto dettagliato perchè contiene anche tutte le informazioni che saranno passate al reparto di produzione del prodotto.

La soluzione che ho adottato al momento è una serie di rdlc come subreport per le sezioni di ogni prodotto.
Esempio: prodotto tipo X è composto da:
- varie informazioni descrittive (nel report del prodotto)
- va costruito con una serie di lavorazioni (subreport per ogni lavorazione)
- necessita di una serie di materiali (subreport per ogni materiale)

Nella stampa finale devono apparire:
- alcune informazioni fisse di testata
- alcune informazioni descrittive per il preventivo
- i prodotti (che possono essere di tipo X, Y, Z ecc.) e per ogni tipo di prodotto possono essere anche ripetuti
- alcune informazioni riepilogative per i totali nel footer.

Quindi in pratica ogni prodotto è composto come sopra.
Poi li unisco in un'unico file pdf con librerie itextsharp.

Questa è un immagine per spiegare meglio la cosa
http://i68.tinypic.com/n3l0sh.jpg

La cosa complicate è che ci sono veramente molte informazioni da recuperare per ogni componente o lavorazione e di conseguenza per ogni prodotto.
I file rdlc da quello che ho capito mi sembra che non funzionino per la connessione ad un db sql server con entity framework ma che necessitino dell'utilizzo di dataset (come ho fatto attualmente).

A questo punto vengo alle domande:

1) è possibile utilizzare gli rdlc direttamente con entity framework (che probabilmente è molto più performate che con dataset)
2) c'è un modo per ottenere via rdlc direttamente il pdf senza passare tramite report viewer o itextsharp?
3) quale tipo di componente (microsoft o non) utilizzereste per fare una stampa del genere se non gli rdlc?


Grazie a tutti

Saluti

Antonio
308 messaggi dal 08 gennaio 2011
Ciao, usando il designer di VS per i report rdlc che si ottiene installando in VS Sqldatatools, oltre ai dataset, puoi utilizzare un oggetto come fonte dei dati.
In pratica devi creare una classe con le proprietà corrispondenti alle colonne di una tabella restituita dalla query eseguita sul db e indicare questa classe come fonte di dati.
Poi tramite il designer del report puoi fare tutti i discorsi di raggruppamento e aggregazione.
Non credo, se ho capito bene dalla tua esposizione, che hai bisogno dell'utilizzo di sotto report.
Poi il controllo reportViewer consente di esportare in word o in pdf e inoltre in windows 10 hai a disposizione una stampante pdf, quindi perché complicare l'applicazione con l'aggiunta di librerie esterne.

Ciao.
Modificato da Mario Formosa il 21 luglio 2017 09.07 -

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.