【问题标题】:Print Invoice C# Winforms打印发票 C# Winforms
【发布时间】:2010-12-06 20:46:47
【问题描述】:

我已经用 c# 编写了一个应用程序,现在我想以发票的形式打印其内容,如图所示,我只想打印一次客户数据,但他要求在 datagrid 视图中显示的汽车上执行的作业应该在发票末尾以劳动力和总劳动力的清单形式出现。 有些人建议使用水晶报告,我从未使用过它们,因此寻找更简单的解决方案 简而言之,我们如何从 form 打印所需的值

【问题讨论】:

  • Crystal Reports 之类的可能是您最好的选择。还有其他报告工具。 Telerik 有一些(但价格昂贵)。
  • 但是 vs 2010 没有水晶报告,当在没有 vs 2010 的客户端机器上发布这个软件时,可能需要安装水晶报告,所以这有点......你知道
  • Google 'print datagridview',抢占先机。

标签: c# printing invoice


【解决方案1】:

最简单快捷的解决方案是使用 Visual Basic PowerPack 的 PrintForm 控件(您也可以在 C# 项目中使用它)。

http://msdn.microsoft.com/en-us/vbasic/bb735936.aspx

只需将控件拖到表单上,然后从代码调用中进行

printForm1.Print();

这将打印表单上的任何内容,因此只需在表单上设计您的报告,然后调用该代码,您就完成了。

【讨论】:

  • 重新分发我的应用程序怎么样?剂量需要安装
  • 您可以使用应用程序部署 dll,也可以使用包含的引导程序包在 clickonce 或设置项目中轻松地重新分发它们。它非常小而且简单,有关更多信息,请参阅我的答案中的链接。
  • 这个会直接打印,不显示预览,怎么给这个加个预览控件?!!
  • 找到答案把它放在这里给其他人在 printForm1 的属性窗口中,将 PrintAction 属性设置为 PrintToPreview .
【解决方案2】:

上次我需要从 C# 表单中打印几个字段时,我只是使用“Bitmap”和“Graphics”对象创建了一个位图图像,并使用“PrintDocument”来打印它。

打印报表的布局是通过指定要打印的元素的坐标在代码中完成的。它既便宜又脏,但很管用。

【讨论】:

    【解决方案3】:

    您可以使用本地 SSRS 报告(.rdlc 扩展名)。在“报告”下应该有一个用于创建报告的新项目模板。报表使用报表查看器控件显示在 Winforms 中(该控件也可以在使用 WindowsFormsHost 的 WPF 应用程序中使用)。唯一的缺点是必须与您的应用程序一起安装的必需依赖项。 Here is the redistributable package for the 2010 report viewer.

    如果/当需要从浏览器查看报告时,可以轻松地将报告托管在 SSRS 实例中。查看器还可以在本地呈现托管在 SSRS 实例中的报告。

    根据用于填充报表的数据源,有大量使用报表查看器的在线指南。以下示例使用通用列表作为数据源。新 ReportDataSource 行中的“标签”必须与报表定义中的数据集名称相同。通用对象的属性也必须与数据集的列名匹配。

        public ReportViewer(IEnumerable<UnprocessedLabel> labels)
        {
            InitializeComponent();
    
            var reportViewer = new Microsoft.Reporting.WinForms.ReportViewer { ProcessingMode = ProcessingMode.Local };
            reportViewer.LocalReport.ReportPath = System.IO.Path.GetDirectoryName(Application.ResourceAssembly.Location) + "\\UnprocessedPalletLabel.rdlc";
            var ds = new ReportDataSource("labels", labels);
            reportViewer.LocalReport.DataSources.Add(ds);
            reportViewer.RefreshReport();
        }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-09-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多