[DevExpress]程序中使用条形码二维码控件,以及进行报表打印处理
2018-01-20 12:15
721 查看
在很多业务系统里面,越来越多涉及到条形码、二维码的应用了,不管在Web界面还是WInform界面都需要处理很多物料相关的操作,甚至很多企业为了减少录入错误操作,为每个设备进行条形码、二维码的标签,直接在流程中进行扫描处理,仅仅在界面勾选一些处理选项即可,极大提高工作效率,降低出错的几率。本篇随笔介绍如何在基于WInform的DevExpress程序中对条形码、二维码的处理,包括界面展示,报表打印等常规的处理。
1、DevExpress的条形码操作及报表打印
在15.1以上的DevEpxress版本中,增加了BarCodeControl控件,该控件包含了条形码、二维码等的展示和处理,支持很多种编码。
在工具箱里面,我们可以找到这个控件,添加到界面后,设置属性就可以显示如下的效果。
![](https://oscdn.geek-share.com/Uploads/Images/Content/202009/14/03acf8240f41d12d06518b4fcd1b27bb.png)
对于条形码的控件显示,需要设置对应的编码,以及显示内容等信息。
![](https://oscdn.geek-share.com/Uploads/Images/Content/202009/14/e483545cbcfd268cef81fa133fee4e7a.png)
设置正确的格式显示,才能显示出条形码的内容,否则会处理得不到显示的内容。
![](https://oscdn.geek-share.com/Uploads/Images/Content/202009/14/8e2e81462897623bbdc9c7e3b9f9548c.png)
为了方便界面的处理,动态增加对应的条形码控件展示,我们独立出一个条形码控件,如下所示。
![](https://oscdn.geek-share.com/Uploads/Images/Content/202009/14/a51e7391145c1148ba38d625fd4fb7a2.png)
为了方便展示,我们在界面上添加一个FlowLayoutPanel流布局控件,用来动态添加条码内容的容器,界面代码如下所示。
![](https://oscdn.geek-share.com/Uploads/Images/Content/202009/14/c7c29ddb9dad5787bb6d5aef35e94bf4.png)
运行Demo程序,可以得到下面的测试界面效果。
![](https://oscdn.geek-share.com/Uploads/Images/Content/202009/14/992bca027ba1e5b46d7fcf6aa2694bc4.png)
对于条形码的打印操作,我们可以基于XtraReport的报表模板对内容进行展示的,因此需要设计一个报表的界面,如下所示是设计好的报表界面。
![](https://oscdn.geek-share.com/Uploads/Images/Content/202009/14/67a02af797ccad88cedd60cec8ad6d7b.png)
这个报表界面就是添加一个空白报表,然后加入对应的标签和二维码报表控件,和操作WInform界面一样,排版后就可以了。
然后增加对应的数据源信息,以及设定绑定控件的字段名称即可。
![](https://oscdn.geek-share.com/Uploads/Images/Content/202009/14/0232d8640eeeaa703e53a7b99c2bed2d.png)
最后绑定报表数据源,并打印报表的界面代码如下所示。
![](https://oscdn.geek-share.com/Uploads/Images/Content/202009/14/15f1c8ac1b7821d571b586a5243ae4a8.png)
得到界面效果如下所示。
![](https://oscdn.geek-share.com/Uploads/Images/Content/202009/14/9629e3c8ad0073c5d7639b7fb9361608.png)
2、二维码控件的处理
上面介绍的是条形码操作,其中BarCodeControl很有迷惑性,其实它也可以作为二维码的空间处理的,这是后来才发现,哈哈。
其实Github上也有很多开源的二维码控件,可以生成图片进行展示的。
如下界面所示,我们可以看到,这个二维码也是即看即所得的效果,设置界面后,马上可以看到效果的。
![](https://oscdn.geek-share.com/Uploads/Images/Content/202009/14/f6556053b82823420eb0210dde1ed57d.png)
使用内置控件,我们在后台代码赋值的时候,只需要设置它的内容即可,如下所示。
//使用内置控件
var url = this.txtContent.Text.Trim();
this.barCodeControl1.Text = url;
如果使用第三方二维码控件,如ThoughtWorks.QRCode(https://github.com/aaronogan/QR.NET),则创建的代码如下所示。
![](https://oscdn.geek-share.com/Uploads/Images/Content/202009/14/e75e826f16aca45708f6ef0e077e92e2.png)
最后得到两组界面的对比,如下所示。
1、DevExpress的条形码操作及报表打印
在15.1以上的DevEpxress版本中,增加了BarCodeControl控件,该控件包含了条形码、二维码等的展示和处理,支持很多种编码。
在工具箱里面,我们可以找到这个控件,添加到界面后,设置属性就可以显示如下的效果。
![](https://oscdn.geek-share.com/Uploads/Images/Content/202009/14/03acf8240f41d12d06518b4fcd1b27bb.png)
对于条形码的控件显示,需要设置对应的编码,以及显示内容等信息。
![](https://oscdn.geek-share.com/Uploads/Images/Content/202009/14/e483545cbcfd268cef81fa133fee4e7a.png)
设置正确的格式显示,才能显示出条形码的内容,否则会处理得不到显示的内容。
![](https://oscdn.geek-share.com/Uploads/Images/Content/202009/14/8e2e81462897623bbdc9c7e3b9f9548c.png)
为了方便界面的处理,动态增加对应的条形码控件展示,我们独立出一个条形码控件,如下所示。
![](https://oscdn.geek-share.com/Uploads/Images/Content/202009/14/a51e7391145c1148ba38d625fd4fb7a2.png)
为了方便展示,我们在界面上添加一个FlowLayoutPanel流布局控件,用来动态添加条码内容的容器,界面代码如下所示。
![](https://oscdn.geek-share.com/Uploads/Images/Content/202009/14/c7c29ddb9dad5787bb6d5aef35e94bf4.png)
运行Demo程序,可以得到下面的测试界面效果。
![](https://oscdn.geek-share.com/Uploads/Images/Content/202009/14/992bca027ba1e5b46d7fcf6aa2694bc4.png)
对于条形码的打印操作,我们可以基于XtraReport的报表模板对内容进行展示的,因此需要设计一个报表的界面,如下所示是设计好的报表界面。
![](https://oscdn.geek-share.com/Uploads/Images/Content/202009/14/67a02af797ccad88cedd60cec8ad6d7b.png)
这个报表界面就是添加一个空白报表,然后加入对应的标签和二维码报表控件,和操作WInform界面一样,排版后就可以了。
然后增加对应的数据源信息,以及设定绑定控件的字段名称即可。
![](https://oscdn.geek-share.com/Uploads/Images/Content/202009/14/0232d8640eeeaa703e53a7b99c2bed2d.png)
最后绑定报表数据源,并打印报表的界面代码如下所示。
![](https://oscdn.geek-share.com/Uploads/Images/Content/202009/14/15f1c8ac1b7821d571b586a5243ae4a8.png)
得到界面效果如下所示。
![](https://oscdn.geek-share.com/Uploads/Images/Content/202009/14/9629e3c8ad0073c5d7639b7fb9361608.png)
2、二维码控件的处理
上面介绍的是条形码操作,其中BarCodeControl很有迷惑性,其实它也可以作为二维码的空间处理的,这是后来才发现,哈哈。
其实Github上也有很多开源的二维码控件,可以生成图片进行展示的。
如下界面所示,我们可以看到,这个二维码也是即看即所得的效果,设置界面后,马上可以看到效果的。
![](https://oscdn.geek-share.com/Uploads/Images/Content/202009/14/f6556053b82823420eb0210dde1ed57d.png)
使用内置控件,我们在后台代码赋值的时候,只需要设置它的内容即可,如下所示。
//使用内置控件
var url = this.txtContent.Text.Trim();
this.barCodeControl1.Text = url;
如果使用第三方二维码控件,如ThoughtWorks.QRCode(https://github.com/aaronogan/QR.NET),则创建的代码如下所示。
![](https://oscdn.geek-share.com/Uploads/Images/Content/202009/14/e75e826f16aca45708f6ef0e077e92e2.png)
最后得到两组界面的对比,如下所示。
![](https://oscdn.geek-share.com/Uploads/Images/Content/202009/14/e83a266701f41de194b3afc714d26e3b.png)
相关文章推荐
- 在DevExpress程序中使用条形码二维码控件,以及进行报表打印处理
- 详解在DevExpress程序中使用TreeList控件以及节点查询的处理
- 在DevExpress程序中使用TeeList控件以及节点查询的处理
- 一个WinForm记事本程序(包含主/下拉/弹出菜单/打开文件/保存文件/打印/页面设置/字体/颜色对话框/剪切版操作等等控件用法以及记事本菜单事件/按键事件的具体代码)
- 一个WinForm记事本程序(包含主/下拉/弹出菜单/打开文件/保存文件/打印/页面设置/字体/颜色对话框/剪切版操作等等控件用法以及记事本菜单事件/按键事件的具体代码)
- 水晶报表问题汇总(水晶报表的使用与查询条件生成报表、注册码、打印问题、模式使用示例、C#.Net的WinForm中的使用、程序发布与部署)
- 使用C#和Excel进行报表开发(八)-用程序绑定数据源
- 使用DEVEXPRESS部件打印时标题的处理
- 使用FastReport进行基于富盛SBO程序开发框架的报表开发 推荐
- 使用Java程序控制Barone(Zebra)进行打印的代码
- 使用C#和Excel进行报表开发(八)-用程序绑定数据源
- 使用C#和Excel进行报表开发(八)-用程序绑定数据源
- 使用ScriptX控件进行Web打印总结
- 一个WinForm记事本程序(包含主/下拉/弹出菜单/打开文件/保存文件/打印/页面设置/字体/颜色对话框/剪切版操作等等控件用法以及记事本菜单事件/按键事件的具体代码)
- FCKeditor是使用非常广泛的HTML编辑器,本文从 ASP.NET 的使用场景对 FCKeditor 与 FCKeditor.NET 的配置、功能扩展(如自定义文件上传子目录、自定义文件名、上传图片的后期处理等)、以及安全性进行初步的阐述。
- Reporting Service Tips 101(#4) - 使用RS实现报表的自动生成以及在程序中调用RS
- 使用C#和Excel进行报表开发(八)-用程序绑定数据源
- 使用Devexpress組件打印时标题的处理
- 使用C#和Excel进行报表开发-用程序绑定数据源
- 在jasperreport中使用applet进行客户端打印以及jre在局域网中的自动安装