C# 条码标签打印程序,RDLC报表动态显示多条码标签的方法

 初学c#,因最近公司客户要求原出货标签需实现条码化,练手的机会来了,遂动手做这个程序,开始都是一些增删改查操作一直很顺利,但到RDLC报表将条码显示到报表上犯难了,因为初学未接触过报表,上网查资料均一无所获,折腾了一天带一晚上,偶然看到一篇文章的一个byte[]数组和image互转的方法来实现RDLC报表显示图片的方法。有了思路,开始想怎么做,贴上代码,第一次写能实现我自己都很欣慰了,大神勿喷。

客户要求标签模板

C# 条码标签打印程序,RDLC报表动态显示多条码标签的方法_第1张图片

 

我做的思路是:不使用数据库存储image的byte[]数据,而是首先将所有需要的条码数据保存到一个数据库表中,然后在需要将条码显示到RDLC报表中时,取得表中的条码数据,然后创建数据集(用于存储报表中需要用到的所有数据),再将每条条码数据用barcodelib.dll生成条码对象,返回image对象,再使用下面方法将返回的image对象转换为byte[]数组存入新建的数据集中。

 

其他代码就不贴了,因为好多东西都没封装都是码上去的,太长了。

1        //image对象转byte数组
2         public static byte[] ImageToBytes(Image img)
3         {
4             ImageConverter imgconv = new ImageConverter();
5             byte[] b = (byte[])imgconv.ConvertTo(img, typeof(byte[]));
6             return b;
7         }

 

然后在RDLC中创建模板,添加数据源为刚刚创建的数据集,插入图片对象,图像源选择数据库,”使用此字段“ 输入 System.Convert.ToBase64String(Fields!存储image对象的byte[]列名.Value)

 

C# 条码标签打印程序,RDLC报表动态显示多条码标签的方法_第2张图片

 

RDLC报表模板!

C# 条码标签打印程序,RDLC报表动态显示多条码标签的方法_第3张图片

 

看看实际效果

C# 条码标签打印程序,RDLC报表动态显示多条码标签的方法_第4张图片

 

你可能感兴趣的:(C#)