在Winforms中创建非数据绑定报告

时间:2010-05-12 19:19:12

标签: c# .net visual-studio-2008 .net-3.5 crystal-reports

我正在使用Visual Studio 2008及其附带的所有组件以及Infragisitics for Winforms。

我需要设计一个可以打印到标签打印机的标签。

没有一个控件是数据绑定的,很可能会在代码中设置,例如/ Label.Text = "My Heading";,因为标签上的信息很少。

一条信息是一个条形码所以我需要这样做的功能,我假设我可以将标签的字体设置为条形码,它会做它的事情。

我可以只将Crystal Report添加到表单设计中,在代码中设置标签文本属性,告诉它要打印到哪台打印机,然后调用report.Print();

我快走了,看起来并不像我想的那么容易。

由于

更新:我已向项目添加了Crystal报表,并使用以下代码访问报表上的标签/文本对象。

            CrystalReport2 d = new CrystalReport2();
            CrystalDecisions.CrystalReports.Engine.TextObject txtReportHeader;
            txtReportHeader = d.ReportDefinition.ReportObjects["Text1"] as CrystalDecisions.CrystalReports.Engine.TextObject;
            txtReportHeader.Text = "TESTING 123";

1 个答案:

答案 0 :(得分:1)

如果这是在繁重的使用环境(定期使用大量标签)中使用,可能值得花些时间计算打印机特定的转义码以打印标签并将代码直接发送到打印机端口

将Windows字体(包括条形码字体)发送到标签打印机可能非常慢。如果您偶尔打印几个标签,这种缓慢可能是可以接受的,但在工业环境中(想想快速移动的装配线)这可能是个问题。使用打印机特定代码和打印机的内部字体可使打印机以更高的速度运行。

这种方法的缺点是,如果您更改打印机型号,则可能还需要更新应用程序代码。