2012-10-20 7 views
12

Ponownie mam mały problem. Użyłem ReportViewer w mojej aplikacji formularza Windows w visual studio 2010. Szerokość mojego raportu id około 7 cali. Kiedy przeglądam raport w układzie wydruku, raport jest wycinany na całej stronie, tzn. Tylko połowa zawartości znajduje się na stronie, a reszta jest poza prawym marginesem i granicą strony. Następnie muszę kliknąć Ustawienia strony w górnym menu przeglądarki raportów, aby zmienić ustawienia strony, po prostu zmniejsz lewy i prawy margines do 0.25 od 1 każdego.Ustawianie układu strony dla przeglądarki raportów w Visual Studio 2010

Nie chcę tego robić za każdym razem, gdy przeglądam i drukuję raport. Czy istnieje sposób, aby zmienić te ustawienia programowo w C# lub zmienić domyślny układ strony?

Odpowiedz

19

możesz skorzystać z poniższego kodu:

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

co gdybym chciał użyć niestandardowego rozmiaru papieru? – Smith

+0

@smith Ten link może ci pomóc. http://stackoverflow.com/questions/2013630/how-to-get-predefined-paper-size-by-paperkind –

3

Zastosowanie pg.LandScape = true ze sobą istniejących,

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 });