专利名称:一种条形码显示方法
技术领域:
本发明实施例涉及计算机技术领域,尤其涉及一种条形码显示方法。
背景技术:
条形码(barcode)是将宽度不等的多个黑条(Bar)和空白(Space),按照一定的编码规则排列,用以表达一组信息的图形标识符。条形码可以标出物品的生产国、制造厂家、商品名称、生产日期、图书分类号、邮件起止地点、类别、日期等许多信息。目前,在所有基于条形码的管理系统中,每个条形码对应一个数据条目,数据条目的内容可以包括如,编号、工序、作业员、生产线、生产班次等信息。使用管理系统管理条形码时,往往单页显示的数据条目的个数仅仅能达到几十条,用户查找需要的数据条目时会频繁的翻页,存在显示数据条目的个数不能满足用户需要以及用户无法自行设置显示数据·条目的个数的缺陷。
发明内容
本发明实施例的目的是提供一种条形码显示方法,实现用户可自行设置并提高单页显示的数据条目数。本发明实施例的目的是通过以下技术方案实现的一种条形码显示方法,包括设置Asp. Net平台网格GridView控件的分页的页大小;根据所述分页的页大小对所述GridView控件绑定的数据库中的数据进行显示,所述数据库中的数据为与条形码对应的数据条目。由上述本发明提供的技术方案可以看出,通过设置GridView控件的分页的页大小,用户可自行设置并提高单页的数据条目数,方便用户对数据条目查询,编辑等操作。
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他附图。图I为本发明实施例提供的条形码显示方法的流程示意图。图2为本发明实施例提供的条形码标签的示意图。图3为本发明实施例提供的条形码显示的应用流程示意图。图4为本发明实施例提供的条形码打印的应用示流程意图。
具体实施例方式下面结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明的保护范围。如图I所示,本发明实施例提供一种条形码显示方法,包括步骤11、设置Asp. Net平台GridView (网格)控件的分页的页大小。步骤12、根据所述分页的页大小对所述GridView控件绑定的数据库中的数据进行显示,所述数据库中的数据为与条形码对应的数据条目。由上述本发明提供的技术方案可以看出,通过设置GridView控件的分页的页大小,用户可自行设置并提高单页的数据条目数,方便用户对数据条目查询,编辑等操作。
GridView控件是Asp. Net2003中DataGrid控件的升级版本,GridView控件使用数据绑定技术,在数据初始化的时候绑定一个数据源,数据源可以是数据库表、数组、集合等。GridView控件采用表格形式显示从数据库中获取的数据集合。GridView控件的属性总体上可以分为分页、数据、行为、样式等几类。I)分页主要是设置是否分页、分页标签的显示样式、页的大小等。2)数据设置控件的数据源。3)行为主要进行一些功能性的设置,如是否排序、是否自动产生列、是否自动产生选择删除修改按钮等。4)样式设置GridView控件的外观,包括选择行的样式、用于交替的行的样式、编辑行的样式、分页界面样式、脚注样式、标头样式等。GridView控件的分页实现将数据库中的数据记录分割成若干段“分屏显示”,避免数据记录巨大,用户浏览、查找或编辑数据条目时需频繁翻页。可选的,所述分页的页大小为分页包含的数据条目的行数,所述行数为大于30且小于50000,远远优越于现有条形码显示系统,克服了单页显示的数据条目的个数仅仅能达到几十条,用户查找需要的数据条目时会频繁的翻页的缺陷。另外,针对目前条形码最小尺寸通常为26. 0*34. 7mm(毫米),例如小到粘在螺丝上的条形码,通常称为微型条形码,由于微型条形码尺寸过小而出现模糊,导致无法准确的扫描,从而无法得到条形码对应的信息,因此,需要打印出清晰的微型条形码,本发明实施例的条形码显示方法,还可以包括确定所述数据库中需要打印的数据对应条形码的标签,所述条形码标签包括编码值和条形码的对应关系;以及,以Codel28C格式打印输出所述条形码标签。具体的,条形码都以图片样式打印在标签纸或纸张上。打印的内容在程序开发时,可自行规定需要打印条形码的内容。比如,在图2中所示,条形码的内容为工具编号SASB0301PA005。条形码的字体大小可以在系统的设置选项中设置,通常可以给出三种尺寸,用户可根据便签纸的大小,以及扫描设备的识别能力对字体的尺寸进行设置。示例性的,如图2所示,条形码标签21,其包括条形码22以及编码值23,可选的,条形码标签21还可以包括物品描述24以及串号25,串号可以由字母和数字构成。仍如图2所示,条形码22对应的数据条目可以包括编码值23、物品描述24、串号25以及相关信息,相关信息如物品存放位置,物品出借时间,物品归还时间等仓库管理信
肩、O对于20mm以内的微型条形码,打印可实现字体清晰、系统稳定、扫描快速等功能,改善了条形码打印只可在规范格式下进行,且不支持较小字体打印的尴尬局面。示例性的,如图3所示,以查询数据为例,说明本发明实施例的条形码显示方法,包括31、根据分页组件,定义组件实例。选择分页的GridView控件,在GridView控件的属性中设置每页显示的数据条目的行数,该数据条目的行数通常可以大于30且小于50000,该数据条目的行数可以由用户 根据需要确定,用户并可以根据需要进行修改。32、设置查询条件并从配置文件中获取查询条件值。具体的,可以预先存储配置文件,并可以使用另一个进程从配置文件中获取查询条件值,查询条件是根据用户需要的查询内容在开发过程中进行定义,并在用户查询数据的时候进行选取或条件的设置。33、加载Datafresh事件,来更新分页组件(Gridview控件)中的数据。具体的,Datafresh事件是委托事件,在分页的时候触发此事件,用于分页后数据的加载,Datafresh事件更新后GridView控件的样式不会发生改变,改变的是GridView控件中的数据。34、生成查询数据的SQL (Structured Query Language,结构化查询语言)脚本。具体的,根据当前页码、每页多少行以及需要显示的数据自动生成SQL脚本。35、加载SQL语句,并从数据库后台获取需要显示的数据条目。具体的,用户点击查询后,触发后台事件,生成SQL脚本,执行后,向前台返回查询得到的数据条目。36、调用Gridview控件,装载需要显示的数据条目。示例性的,以代码说明分页组件调用I、首先在From窗体上拖入分页组件,并且命名,选择对应的分页的GridView。2、在构造函数中设置参数,如下public MaintainTool()
{
InitializeComponent();
//ngtMaster. ConfigPath = Global. Navi—ConfigPath;
//根据登录时候的系统配置,加载导航控 的界面展示张晓斌20〗1年11
月7円add
ngtMaster. SetNavigationText(Global. SystemLanguage, ToString O);ngtMaster. ISAutoGenerateRowNum = true;
//设置多语言added by Idb on 20111109
ttregion动态设置表格样式需要设置的部分2011年11月29日
ngtMaster. SystemAllGridViewStyle 二 Global. SystemAllGridViewStyle;
ngtMaster. GridViewStyleHelper = Global. GridViewStyleHelper;
ngtMaster. GridViewStyleSettingEditStatus 二UserBean. UserID. Equals("admin' StringComparison. OrdinalIgnoreCase)
ZXB*Controls· GridView. GridViewStyIeSettingStatus· Administrator :
ZXB. Controls. GridView. GridViewStyleSettingStatus. User; ttendregion
this. gdvList. AllowUserToOrderColumns = true;
ControlOperation. SetAl!Controls(this);
//TMS. Entity. ClassFactory. CreateT—SystemLanguage(false). SetModuleContentLangu
age (this. Name) ; zhangxb 2011-11-24 注销
}3、加载Datafresh事件,用于对列表中的数据进行刷新,如下
private void ngtMaster—DataRef*sh(ZXB· Data. GridView. PageModel PageModeIDataSource)
{
MasterTable = PageModelDataSource. datasource; gdvList.DataSource 二 MasterTable;
}4、编写Query (查询)方法,如下private void queryData(string sortField, string sortDriver)
i
IDictionary dicPars = new Dictionary<string, object) C) ; //声明数
据字典对象
if (NowToolMaintainMode == CPublic. ToolMaintainMode. ToolQuery | |NowToolMaintainMode 二二 CPublic. ToolMaintainMode. WarningMeasure ||
NowToolMaintainMode 二二 CPublic. ToolMaintainMode. MeasureToolMsg |[NowToolMaintainMode =- CPublic. ToolMaintainMode. BatchCheck)
{
DepartmentID = CoramonUI. GetComboBoxValue (cmbToolDept) ;//取当
前用户所在部门ID
}
DateTime datebegin = dpBeginDate. Checked
SafeConvert. ConvertToDateTime(dpBeginDate. Value,DateTime. MinValue):
DateTime, MinValue;
DateTime dateend = dpEndDate. Checked
SafeConvert. ConvertToDateTime(dpEndDate. Value, DateTime. MinValue);
DateTime, MinValue;
//声明:1:具创建的开始和结束时间
dicPars. Add (〃AssetNo〃,txtAssetNo. Text) ; /7加载工具资产编号 dicPars. Add(〃BsasNo〃,txtBsasNo. Text) ; /7加载序列号 dicPars. Add ("DocumentNo' txtDocumentNo. Text) ; //加载文件编号 dicPars. Add (,,EquipmentNo,,,txtEquipmentNo. Text) ; //加载设备编号 dicPars. Add (〃Location〃,txtLocation. Text) ; //加载所在位置 dicPars. Add (〃PieceNo〃,txtPieceNo. Text) ; //加载工具件号 dicPars, Add (〃PONo〃,txtPONo. Text) ; /7加载米购编号 dicPars. Add (〃ToolDesciption〃, txtToolDesciption. Text) ; //加载工具
描述
dicPars. Add ("ToolName〃,txtToolName. Text) ; //加载工具名称 dicPars. Add(〃toolstatus〃, CommonUL GetComboBoxValue (cmbToolStatus,
CommonUL ValueType. ID)); /7 加载工具状态
dicPars. Add (〃tooltype〃5 CommonUI. GetComboBoxValue (cmbToolType,CommonUI. ValueType. ID)) ; //加载工具类型dicPars. Add(〃warehouseID〃,
CommonUI. GetComboBoxValue (crabWarehouseID, CommonUI. ValueType. ID)); //加载所在库房ID
dicPars· Add ("Department ID〃,Department ID) ; //加载所属部门 IDdicPars. Add (〃datebegin〃,datebegin) ; //加载工具录入开始时间dicPars. Add (〃dateend〃,date end) ; //加载工具录入结束时间dicPars. Add("tms_Type",tms_Type); //
dicPars· Add(〃_ToolMaintainMode〃,NowToolMaintainMode); //
ZXB. Data. GridView. PagingCondition pagingCondition =·ClassFactory. CreateTool(false). getPagingCondition(dicPars); //
pagingCondition. SortDrive = sortDriver; //赋值排序_函数 pagingCondition. SortField = sortField; //赋值排序区域 ngtMaster. PageIndex = I; //默认显示第一页
ngtMaster. PagingCondition = pagingCondition; //加载列表配置项 ngtMaster. InitDataO ; /7初始化数据
}具体可参阅MaintainTool. cs,在此不作赞述。可见,条形码显示方法实现用户可以设定单页显示的条数,单页可以显示数万条,从而用户不用点击下一页,即可实现单页浏览、查询、扫描等系统自带功能。示例性的,如图4所示,条形码打印方法,包括41、加载 printspecimenlable. cs 文件。具体的,printspecimenlable. cs 文件中的代码包含了可实现条形码打印的具体功能,如可以根据数字、英文生成条形码,并且打印;可以采用条码打印机实现对条形码的打印;可以通过有线、无线的条码扫描枪对条码进行扫描识别,具体可以参见现有技术,在此不作赘述。42、声明一个数组,用来存储需要打印条形码的内容。具体的,如图2所示,打印条形码的内容包括条形码22以及编码值23,可选的,还可以包括物品描述24以及串号25。43、获取需要打印条形码的数字或字符,并赋值给之前声明的数组。具体的,获取条形码22以及编码值23,可选的,还可以包括物品描述24以及串号25,并赋值给之前声明的数组。44、调用用户设置的字号,以及用于条形码打印的Codel28C条形码字体。用户可根据便签纸的大小,以及扫描设备的识别能力对字体的尺寸进行设置。45、根据默认打印机的设置,虚拟化打印的页面规格及边距。46、生成条形码。47、寻找连接的打印机设备。48、打印条形码,从打印机设备输出。上述条形码打印方法可以单独应用,也可以结合在条形码的显示方法中实现条形码打印,不受限制。示例性的,以代码说明条形码打印方法实现I、首先将 PrintSpecimenLabel. cs 加载到系统中。2、调用方法
List<object> 1st = New List<object>{11,12,13,14};//使用泛型声明对象
TMS.Entity.Mantenance.Too! tool = new TMS.Entity.Mantenance.Tool(); //j-ijij 丨
具对象
DaiaTabIe dtwo = tool.GetTabIeFormTooI(Ist);//设取打印.数制源
PrintSpecimenLabeI psi = new PrintSpecimenLabe丨(); //.;丨〖叨打印!小签psi.ModeIName = "T_Too!";//为标签毡 ι1!: psl.data = dtwo//将数据源赋值到打印工具类中
psi.DoPrint();//执行打印操作具体的不例代码可以参阅“MaintainTool. cs”,aToolStripMenultem_Click 方法,在此不作赘述。可见,采用Codel28C条形码字体,打印出小,且短的条形码,并且具有较高的扫描识别率。针对较小工具的条形码打印可实现字体清晰、系统稳定、扫描快速等功能。改善了条形码打印只可在规范格式下进行,且不支持较小工具的小字体打印的尴尬局面,适用于建筑构件,例如小到粘在螺丝上的条形码打印。以上所述,仅为本发明较佳的具体实施方式
,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明披露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求书的保护范围为准。本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory, ROM)或随机存储记忆体(Random AccessMemory, RAM)等。
权利要求
1.一种条形码显示方法,其特征在于,包括 设置Asp. Net平台网格GridView控件的分页的页大小; 根据所述分页的页大小对所述GridView控件绑定的数据库中的数据进行显示,所述数据库中的数据为与条形码对应的数据条目。
2.根据权利要求I所述的条形码显示方法,其特征在于,所述分页的页大小为分页包含的数据条目的行数,所述行数为大于30且小于50000。
3.根据权利要求I或2所述的条形码显示方法,其特征在于,所述设置GridView控件的分页的页大小包括 选择分页的GridView控件,在GridView控件的属性中设置每页显示的数据条目的行 数; 所述根据所述分页的页大小对所述GridView控件绑定的数据库中的数据进行显示,包括 设置查询条件并从配置文件中获取查询条件值; 加载Datafresh事件,来更新所述Gridview控件中的数据; 生成查询数据的结构化查询语言SQL脚本; 加载SQL语句,并从数据库后台获取需要显示的数据条目; 调用所述Gridview控件,装载需要显示的数据条目。
4.根据权利要求I所述的条形码显示方法,其特征在于,所述方法还包括 确定所述数据库中需要打印的数据对应的条形码标签,所述条形码标签包括编码值和条形码的对应关系; 以Codel28C格式打印输出所述条形码标签。
5.根据权利要求4所述的条形码显示方法,其特征在于,所述确定所述数据库中需要打印的数据对应的条形码标签包括力口载 printspecimenlable. cs 文件; 声明一个数组,用来存储需要打印条形码的内容,打印条形码的内容包括条形码以及编码值; 获取需要打印条形码的数字或字符,并赋值给所述声明的数组; 所述以Codel28C格式打印输出所述条形码标签,包括 调用用户设置的字号,以及用于条形码打印的Codel28C条形码字体; 根据默认打印机的设置,虚拟化打印的页面规格及边距,生成条形码,寻找连接的打印机设备打印条形码。
全文摘要
本发明实施例公开了一种条形码显示方法,包括设置Asp.Net平台网格GridView控件的分页的页大小;根据所述分页的页大小对所述GridView控件绑定的数据库中的数据进行显示,所述数据库中的数据为与条形码对应的数据条目。本发明实施例的条形码显示方法,通过设置GridView控件的分页的页大小,用户可自行设置并提高单页的数据条目数,方便用户对数据条目查询,编辑等操作。
文档编号G06K19/06GK102880893SQ201210362250
公开日2013年1月16日 申请日期2012年9月25日 优先权日2012年9月25日
发明者唐皓, 张昱, 孙绪华, 付铮, 张晓斌 申请人:北京建筑工程学院