Comment faire pour imprimer directement rdlc rapport sans montrer PrintDialog() en C#?
J'ai une application dans laquelle je dois imprimer un RDLC
rapport sans montrer la printDialog et à l'aide de la valeur par défaut de l'imprimante spécifiée définis dans l'application. Ci-dessous mon test implementaion code.
Microsoft.Reporting.WinForms.ReportViewer reportViewerSales = new Microsoft.Reporting.WinForms.ReportViewer();
Microsoft.Reporting.WinForms.ReportDataSource reportDataSourceSales = new Microsoft.Reporting.WinForms.ReportDataSource();
reportViewerSales.Reset();
reportViewerSales.LocalReport.ReportPath = @"Sales.rdlc";
reportDataSourceSales.Name = "SalesTableDataSet";
int i = 1;
foreach (Product item in ProductSalesList)
{
dataset.CurrentSales.AddCurrentSalesRow(i, item.Name, item.Quantity.ToString(), item.Price.ToString(), item.Price.ToString());
i++;
}
reportDataSourceSales.Value = dataset.CurrentSales;
reportViewerSales.LocalReport.DataSources.Add(reportDataSourceSales);
dataset.EndInit();
reportViewerSales.RefreshReport();
reportViewerSales.RenderingComplete += new RenderingCompleteEventHandler(PrintSales);
Et voici mon Rendu Complet de la Méthode
public void PrintSales(object sender, RenderingCompleteEventArgs e)
{
try
{
reportViewerSales.PrintDialog();
reportViewerSales.Clear();
reportViewerSales.LocalReport.ReleaseSandboxAppDomain();
}
catch (Exception ex)
{
}
}
OriginalL'auteur Redone | 2013-07-18
Vous devez vous connecter pour publier un commentaire.
J'ai juste donné un coup d'oeil rapide à une classe que j'ai créée à imprimer directement et je pense que j'ai pris quelques idées de cette procédure pas à pas:
Impression d'un Rapport Local sans Prévisualisation
oui, Microsoft.La production de rapports.WinForms.ReportViewer et .LocalReport.
OriginalL'auteur tezzo
j'ai fait une classe d'extension de @tezzos réponse. qui peut rendre plus facile.
utiliser cette Gist Ici pour obtenir l'extension de la classe que j'ai écrit. l'inclure à votre projet. ne pas obtenir de l'espace de noms 😀
PrintToPrinter
Méthode sera disponible surLocalReport
. Pourrait Aider quelqu'undeviceInfo
. Est-il vraiment nécessaire de nettoyer la toile avec un blanc opaque rectangle?je vous remercie monsieur. Qui m'a sauvé beaucoup d'efforts.
OriginalL'auteur shakee93
Je ne pense pas.
PageSetupDialog
, il s'écrit comme cela, serait d'ouvrir un dialogue interactif qui est à l'opposé de l'OP de l'intention (sans montrer...)OriginalL'auteur Sunil Motwani