Adattare report

venerdì 06 febbraio 2009 - 17.06

perla0279 Profilo | Senior Member

Ciao
ho creato un report con visual studio 2008.

Il report è molto lungo e vorrei fare in modo che salvando il file in formato pdf metesse il report in verticale ed adattasse il tutto alla pagina.

Si può fare ?

freeteo Profilo | Guru

Ciao,
hai provato a cambiare le proprietà di stampa, impostando su Landscape il foglio del report?
Questo puoi farlo sia a design-time che da codice...vedi dove vai meglio...

Ciao.

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

perla0279 Profilo | Senior Member

ciao
ho trovato come modificare quel valore sulla guida di microsoft...

mi potete indicare anche come aprire il file di configurazione del mio report... non riesco a trovare il testo perchè ho la versione inglese...

freeteo Profilo | Guru

Ciao,
cosa intendi per "il file di configurazione del mio report" ? non esiste una configurazione del report, lui è un file che viene interpretato dal runtime e visualizzato dal viewer.

Devi aprire il report dentro a visual studio, ti compare un menù "Crystal Report" in alto, da li vai su "design" e trovi cosa puoi impostare dell'aspetto della pagina dove vengono visualizzati i dati a runtime.

Ciao.

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

perla0279 Profilo | Senior Member

ciao
uso visual studio 2005 per visualizzare il report.

ho trovato questo codice:
<Extension Name="PDFLandscape" Type="Microsoft.ReportingServices.Rendering.ImageRenderer.PdfReport,Microsoft.ReportingServices.ImageRendering">
<OverrideNames>
<Name Language="it-IT">(Acrobat) PDF file in Landscape Mode</Name>
</OverrideNames>
<Configuration>
<DeviceInfo>
<OutputFormat>PDF</OutputFormat>
<PageHeight>21cm</PageHeight>
<PageWidth>50cm</PageWidth>
</DeviceInfo>
</Configuration>
</Extension>

da inserire sui parametri del pdf però non trovo dove andarlo ad inserire....
ho provato tutte le voci del menu ma non trovo quella coretta....

Dove devo andare per dargli quello configurazione?

freeteo Profilo | Guru

Ciao,
quello che hai trovato va bene, ma non ho capito se tu stai usando un server di report o hai un report ".rdlc" ossia che visualizzi dentro alla tua applicazione.

Nel primo caso (ed è quello che probabilmente hai trovato in rete) devi modificare il config nella directory dove gira il server di report, come dicono qui: http://msdn.microsoft.com/en-us/library/ms156281.aspx

Nel secondo caso, ti basta passare questi parametri al tuo oggetto report e poi farti fare il pdf, con un codice di questo tipo:
LocalReport report = this.reportViewer1.LocalReport; report.ReportPath = "...\mioReport.rdlc"; report.EnableHyperlinks = true; report.EnableExternalImages = true; ReportDataSource dataSource = new ReportDataSource("nome", ...); if (report.DataSources.Count > 0) report.DataSources[0] = dataSource; else report.DataSources.Add(dataSource); //---queste ci vogliono string mimeType; string encoding; string fileNameExtension; string[] streams; Warning[] warnings; string deviceInfo = "<DeviceInfo>" + "<PageHeight>21cm</PageHeight>" + "<PageWidth>50cm</PageWidth>" + "</DeviceInfo>"; byte[] bytes = report.Render( "PDF", deviceInfo, out mimeType, out encoding, out fileNameExtension, out streams, out warnings); ....


Ciao.

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

perla0279 Profilo | Senior Member

Il mio caso è .......... non ne sono sicura
Praticamente gestiamo i report tramite l'applicazione di reporting service e definiamo il designer di ogn'uno su Visual Studio 2005............
Tutte le impostazioni io le devo gestire dalla parte di designer su visual studio.

portate pazienza delle mie imprecisioni ma sono i primi report che faccio è ho scelto anche report difficili....
fino alla settimana scorsa non conoscevo nemmeno lo strumento....quindi sono un pò in difficolta.

Il codice che mi hai postato mi sembra sia per gestire il report da applicazione..... io devo trovare delle impostazioni all'interno di visual studio perchè ho la necessità di dare quelle impostazioni solo a quel report ........... mentre tutti gli altri devono restare come sono.

Come posso fare da visual studio?

freeteo Profilo | Guru

Ho capito, allora prova ad aprire il file come fosse un file xml (Solution Explorer->selezioni il report->tastoDX->Open with->xml Editor) e vai a modificare la sezione relativa a quelle impostazioni.

Infatti il file rdlc (o rdl) sono dei file xml interpretati dal runtime, le specifiche le puoi trovare qui:
http://msdn.microsoft.com/en-us/library/dd297486.aspx


Ciao.

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

perla0279 Profilo | Senior Member

Saro anche rinco.......... il che è sicuramente possibile

Non trovo i parametri per il render in pdf.....
Devo posizionare la stampa in vertcale e adattare la pagina al foglio A4...... ma non riesco a trovare i parametri per inserire la formatazione del pdf..

Vi posto il codice XML.
Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra

freeteo Profilo | Guru

Ciao e perdona il ritardo nella risposta, probabilmente avrai già risolto cmq ti rispondo lo stesso.

Mi sono spiegato io, quelle impostazioni di "deviceInfo" servono per il metodo "render" nel report ci sono direttamente le impostazioni della pagina:
<PageHeight>21cm</PageHeight> <PageWidth>50cm</PageWidth>
secondo me puoi lavorare con quelle direttamente...



Ciao.

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

perla0279 Profilo | Senior Member

infatti alla fine ho fatto con quelle ............

Anche se io avrei preferito qualcosa di più dinamico... non so un auto size ............
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