我已经在C#写了一个应用程序,现在我想以发票的形式打印其内容,如图所示,我只想打印一次codumer数据,但是他要求在DataGrid视图中显示在他的汽车上执行的工作,应该在此处发票结束时,劳动和总劳动的名单形式。有人建议使用水晶报告我从未使用过它们alt text

有帮助吗?

解决方案

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

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

只需将控件拖到您的表单,然后从代码调用

printForm1.Print();

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

其他提示

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

打印报告的布局是通过指定要打印元素的坐标来完成的。它便宜又脏,但是有效。

您可以使用本地SSRS报告(.RDLC扩展名)。 “报告”下应该有一个新项目模板来创建报告。该报告使用报告查看器控件在Winforms中显示(该控件也可以在WPF应用程序中使用WindowsFormshost使用)。唯一的缺点是您的应用程序必须安装的所需依赖项。 这是2010年报告查看器的可重新分布软件包。

如果需要/何时需要从浏览器查看,则可以轻松地在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();
    }
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top