在企业开发中经常用到二纬码标签,本文详细介绍.net环境下整个二纬码解决方案.

开发环境
  vs2008
  DevExpress8.3
  ThoughtWorks.QRCode (二纬码生成组件,高版本的DevExpress自带二纬码就不需要这个了)
 
步骤
 1. 在项目中添加一XtraReport项,命名XtraReportEmpQRCode.cs
 2.建立打印用的数据实体类,并按此建立数据源

    [Serializable]
public class LblInfo
{
public int Id { get; set; }
public String Name { get; set; }
public String EmpNo { get; set; }
public String Machine { get; set; }
public String QRCodeUrl { get; set; }
}

3.设计报表

3.1整体效果
.net二纬码标签打印-LMLPHP
3.2报表属性

.net二纬码标签打印-LMLPHP

报表数据绑定设置
.net二纬码标签打印-LMLPHP
删除报表头与尾栏,Detail栏属性设置,
注意Detail的设计时大小不影响最后的标签打印大小(会按比例缩放到报表设计大小),因此在设计时可以将Detail栏搞大点方便设计

.net二纬码标签打印-LMLPHP

Detail数据绑定与列数设置

.net二纬码标签打印-LMLPHP

绑定图片框数据
注意,这里将需要的二纬码图片生成到硬盘,标签上使用文件引用地址,当然你也可以直接使用二进制数据(比较消耗内存)
.net二纬码标签打印-LMLPHP

预览效果

.net二纬码标签打印-LMLPHP
实际效果(标签是100 x 30 毫米的)

.net二纬码标签打印-LMLPHP

 4.绑定并显示预览

      private void button4_Click(object sender, EventArgs e)
{
var rpt = new XtraReportEmpQRCode();
rpt.DataSource = LoadData();
rpt.RequestParameters = false;
rpt.PrintingSystem.ShowMarginsWarning = false; rpt.PrintingSystem.ShowPrintStatusDialog = false;
rpt.ShowPreview();
}

一纬码设计类似,绑定时注意清空Text栏
.net二纬码标签打印-LMLPHP

04-14 03:59