2013-11-27 2 views
1

Я создаю отчет в rdlc в winforms. Это работает правильно. Но после того, как я добавлю настройки страницы в средство просмотра отчетов, вид макета печати не отображается правильно. Отображаются только черные точки. Когда я прокомментирую настройки страницы, она работает правильно.Макет печати Не отображается должным образом после установки параметров страницы в rdlc

Мой отчет связывания кодирования ниже

  this.reportViewer1.Width = this.Width - 15; 
      this.reportViewer1.Height = this.Height - 15; 

      this.reportViewer1.LocalReport.DataSources.Clear(); 
      this.reportViewer1.LocalReport.ReportEmbeddedResource = "Report1.rdlc"; 

      ReportDataSource rds = new ReportDataSource("DataSet1", CustomerList); 
      rds.Value = _deliveryNote.CustomerList; 
      this.reportViewer1.LocalReport.DataSources.Add(rds); 

      System.Drawing.Printing.PageSettings pg = new System.Drawing.Printing.PageSettings(); 
      pg.Margins.Top = 100; 
      pg.Margins.Bottom = 100; 
      pg.Margins.Left = 100; 
      pg.Margins.Right = 100; 
      pg.Landscape = false; 
      System.Drawing.Printing.PaperSize size = new PaperSize(); 
      size.RawKind = (int)PaperKind.A4; 
      pg.PaperSize = size; 
      this.reportViewer1.SetPageSettings(pg); 

      this.reportViewer1.LocalReport.Refresh(); 
      this.reportViewer1.RefreshReport(); 
+0

Фактически, когда я настраиваю, используя графический интерфейс отчета, он работает. Способ кодирования только не работает – Akhil

ответ

0

Это потому, что вы не указали высоту и ширину бумаги. Изменение вашего кода следующим образом решит вашу проблему:

System.Drawing.Printing.PageSettings pg = new PageSettings(); 
// Set margins 
pg.Margins = new System.Drawing.Printing.Margins(100, 100, 100, 100); 

// Set paper size 
pg.PaperSize = new PaperSize("A4", 827, 1169); // 8.27 in x 11.69 in 
pg.RawKind = (int)PaperKind.A4; 

// Update report and refresh 
this.reportViewer1.SetPageSettings(pg); 
this.reportViewer1.RefreshReport(); 

// Switch to print Layout (optional) 
this.reportViewer1.SetDisplayMode(DisplayMode.PrintLayout); 

Надеюсь, это поможет кому-то в будущем.

+0

Для DotNet4.5 'pg.PaperSize.RawKind = (int) PaperKind.A4;' работал –

Смежные вопросы