在企业开发中经常用到二纬码标签,本文详细介绍.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整体效果
3.2报表属性
报表数据绑定设置
删除报表头与尾栏,Detail栏属性设置,
注意Detail的设计时大小不影响最后的标签打印大小(会按比例缩放到报表设计大小),因此在设计时可以将Detail栏搞大点方便设计
Detail数据绑定与列数设置
绑定图片框数据
注意,这里将需要的二纬码图片生成到硬盘,标签上使用文件引用地址,当然你也可以直接使用二进制数据(比较消耗内存)
预览效果
实际效果(标签是100 x 30 毫米的)
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栏