2012-10-20 7 views
12

Ho ancora un piccolo problema. Ho usato ReportViewer nella mia applicazione Windows Form in Visual Studio 2010. La larghezza del mio id di report di circa 7 pollici. Quando visualizzo il report nel layout di stampa, il report viene tagliato sulla pagina, vale a dire, solo metà del contenuto si trova sulla pagina e il resto è fuori dal margine destro e dal limite della pagina. Devo quindi fare clic sulla configurazione della pagina nel menu principale del visualizzatore di report per modificare l'impostazione della pagina, ho appena ridotto i margini sinistro e destro a 0,25 da 1 ciascuno.imposta il layout di pagina per il visualizzatore di report in Visual Studio 2010

Non voglio farlo ogni volta che visualizzo e stampo un rapporto. C'è un modo per modificare queste impostazioni a livello di codice in C# o modificare il layout di pagina predefinito?

risposta

19

è possibile utilizzare il codice qui sotto:

System.Drawing.Printing.PageSettings pg=new System.Drawing.Printing.PageSettings(); 
pg.Margins.Top = 0; 
pg.Margins.Bottom = 0; 
pg.Margins.Left = 0; 
pg.Margins.Right = 0; 
System.Drawing.Printing.PaperSize size = new PaperSize(); 
size.RawKind = (int)PaperKind.A5; 
pg.PaperSize = size; 
reportViewer1.SetPageSettings(pg); 
this.reportViewer1.RefreshReport(); 
+0

cosa succede se ho voluto usare un formato carta personalizzato? – Smith

+0

@smith Questo link può aiutarti. http://stackoverflow.com/questions/2013630/how-to-get-predefined-paper-size-by-paperkind –

3

Usa pg.LandScape = true insieme a voi esistente,

pg.Margins.Top = 0; 
    pg.Margins.Bottom = 0; 
    pg.Margins.Left = 0; 
    pg.Margins.Right = 0; 
    pg.LandScape = true 
1
ReportViewer rpt = new ReportViewer(); 
rpt.SetPageSettings(new System.Drawing.Printing.PageSettings() { Landscape = true }); 
Problemi correlati