Печать localReport только с выбором принтера в C # - PullRequest
0 голосов
/ 12 августа 2011

Как я могу напечатать LocalReport без предварительного просмотра, но с окном выбора принтера?

Thx.

1 Ответ

3 голосов
/ 15 августа 2011

Вы можете сделать свою собственную форму с выбором принтера.Свяжите установленные принтеры с выпадающим списком или чем-либо еще, используя System.Drawing.Printing.PrinterSettings класс

    foreach (string s in PrinterSettings.InstalledPrinters)
    {
      liste.Items.Add(s);
    }

. Затем вы можете создать свой отчет с помощью этого кода (убедитесь, что для действия по созданию отчетов установлено встроенный ресурс)

LocalReport report = new LocalReport();
report.DataSources.Add(new ReportDataSource("your data source name",DataTableGoesHere);
        report.ReportEmbeddedResource = "YourNameSpace.YourReportName.rdlc";

Затем следуйте этим инструкциям, чтобы напечатать локальный отчет: http://blogs.msdn.com/b/brianhartman/archive/2009/02/27/manually-printing-a-report.aspx

Убедитесь, что вы каким-то образом передаете переменную принтера для использования в класс печати.Имя принтера должно быть установлено:

printDoc.PrinterSettings.PrinterName = "installed printer chosen from combo goes here"; 
...