專利名稱:一種條形碼顯示方法
技術(shù)領(lǐng)域:
本發(fā)明實施例涉及計算機技術(shù)領(lǐng)域,尤其涉及一種條形碼顯示方法。
背景技術(shù):
條形碼(barcode)是將寬度不等的多個黑條(Bar)和空白(Space),按照一定的編碼規(guī)則排列,用以表達一組信息的圖形標識符。條形碼可以標出物品的生產(chǎn)國、制造廠家、商品名稱、生產(chǎn)日期、圖書分類號、郵件起止地點、類別、日期等許多信息。目前,在所有基于條形碼的管理系統(tǒng)中,每個條形碼對應(yīng)一個數(shù)據(jù)條目,數(shù)據(jù)條目的內(nèi)容可以包括如,編號、工序、作業(yè)員、生產(chǎn)線、生產(chǎn)班次等信息。使用管理系統(tǒng)管理條形碼時,往往單頁顯示的數(shù)據(jù)條目的個數(shù)僅僅能達到幾十條,用戶查找需要的數(shù)據(jù)條目時會頻繁的翻頁,存在顯示數(shù)據(jù)條目的個數(shù)不能滿足用戶需要以及用戶無法自行設(shè)置顯示數(shù)據(jù)·條目的個數(shù)的缺陷。
發(fā)明內(nèi)容
本發(fā)明實施例的目的是提供一種條形碼顯示方法,實現(xiàn)用戶可自行設(shè)置并提高單頁顯示的數(shù)據(jù)條目數(shù)。本發(fā)明實施例的目的是通過以下技術(shù)方案實現(xiàn)的一種條形碼顯示方法,包括設(shè)置Asp. Net平臺網(wǎng)格GridView控件的分頁的頁大??;根據(jù)所述分頁的頁大小對所述GridView控件綁定的數(shù)據(jù)庫中的數(shù)據(jù)進行顯示,所述數(shù)據(jù)庫中的數(shù)據(jù)為與條形碼對應(yīng)的數(shù)據(jù)條目。由上述本發(fā)明提供的技術(shù)方案可以看出,通過設(shè)置GridView控件的分頁的頁大小,用戶可自行設(shè)置并提高單頁的數(shù)據(jù)條目數(shù),方便用戶對數(shù)據(jù)條目查詢,編輯等操作。
為了更清楚地說明本發(fā)明實施例的技術(shù)方案,下面將對實施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域的普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他附圖。圖I為本發(fā)明實施例提供的條形碼顯示方法的流程示意圖。圖2為本發(fā)明實施例提供的條形碼標簽的示意圖。圖3為本發(fā)明實施例提供的條形碼顯示的應(yīng)用流程示意圖。圖4為本發(fā)明實施例提供的條形碼打印的應(yīng)用示流程意圖。
具體實施例方式下面結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明的保護范圍。如圖I所示,本發(fā)明實施例提供一種條形碼顯示方法,包括步驟11、設(shè)置Asp. Net平臺GridView (網(wǎng)格)控件的分頁的頁大小。步驟12、根據(jù)所述分頁的頁大小對所述GridView控件綁定的數(shù)據(jù)庫中的數(shù)據(jù)進行顯示,所述數(shù)據(jù)庫中的數(shù)據(jù)為與條形碼對應(yīng)的數(shù)據(jù)條目。由上述本發(fā)明提供的技術(shù)方案可以看出,通過設(shè)置GridView控件的分頁的頁大小,用戶可自行設(shè)置并提高單頁的數(shù)據(jù)條目數(shù),方便用戶對數(shù)據(jù)條目查詢,編輯等操作。
GridView控件是Asp. Net2003中DataGrid控件的升級版本,GridView控件使用數(shù)據(jù)綁定技術(shù),在數(shù)據(jù)初始化的時候綁定一個數(shù)據(jù)源,數(shù)據(jù)源可以是數(shù)據(jù)庫表、數(shù)組、集合等。GridView控件采用表格形式顯示從數(shù)據(jù)庫中獲取的數(shù)據(jù)集合。GridView控件的屬性總體上可以分為分頁、數(shù)據(jù)、行為、樣式等幾類。I)分頁主要是設(shè)置是否分頁、分頁標簽的顯示樣式、頁的大小等。2)數(shù)據(jù)設(shè)置控件的數(shù)據(jù)源。3)行為主要進行一些功能性的設(shè)置,如是否排序、是否自動產(chǎn)生列、是否自動產(chǎn)生選擇刪除修改按鈕等。4)樣式設(shè)置GridView控件的外觀,包括選擇行的樣式、用于交替的行的樣式、編輯行的樣式、分頁界面樣式、腳注樣式、標頭樣式等。GridView控件的分頁實現(xiàn)將數(shù)據(jù)庫中的數(shù)據(jù)記錄分割成若干段“分屏顯示”,避免數(shù)據(jù)記錄巨大,用戶瀏覽、查找或編輯數(shù)據(jù)條目時需頻繁翻頁??蛇x的,所述分頁的頁大小為分頁包含的數(shù)據(jù)條目的行數(shù),所述行數(shù)為大于30且小于50000,遠遠優(yōu)越于現(xiàn)有條形碼顯示系統(tǒng),克服了單頁顯示的數(shù)據(jù)條目的個數(shù)僅僅能達到幾十條,用戶查找需要的數(shù)據(jù)條目時會頻繁的翻頁的缺陷。另外,針對目前條形碼最小尺寸通常為26. 0*34. 7mm(毫米),例如小到粘在螺絲上的條形碼,通常稱為微型條形碼,由于微型條形碼尺寸過小而出現(xiàn)模糊,導(dǎo)致無法準確的掃描,從而無法得到條形碼對應(yīng)的信息,因此,需要打印出清晰的微型條形碼,本發(fā)明實施例的條形碼顯示方法,還可以包括確定所述數(shù)據(jù)庫中需要打印的數(shù)據(jù)對應(yīng)條形碼的標簽,所述條形碼標簽包括編碼值和條形碼的對應(yīng)關(guān)系;以及,以Codel28C格式打印輸出所述條形碼標簽。具體的,條形碼都以圖片樣式打印在標簽紙或紙張上。打印的內(nèi)容在程序開發(fā)時,可自行規(guī)定需要打印條形碼的內(nèi)容。比如,在圖2中所示,條形碼的內(nèi)容為工具編號SASB0301PA005。條形碼的字體大小可以在系統(tǒng)的設(shè)置選項中設(shè)置,通??梢越o出三種尺寸,用戶可根據(jù)便簽紙的大小,以及掃描設(shè)備的識別能力對字體的尺寸進行設(shè)置。示例性的,如圖2所示,條形碼標簽21,其包括條形碼22以及編碼值23,可選的,條形碼標簽21還可以包括物品描述24以及串號25,串號可以由字母和數(shù)字構(gòu)成。仍如圖2所示,條形碼22對應(yīng)的數(shù)據(jù)條目可以包括編碼值23、物品描述24、串號25以及相關(guān)信息,相關(guān)信息如物品存放位置,物品出借時間,物品歸還時間等倉庫管理信
肩、O對于20mm以內(nèi)的微型條形碼,打印可實現(xiàn)字體清晰、系統(tǒng)穩(wěn)定、掃描快速等功能,改善了條形碼打印只可在規(guī)范格式下進行,且不支持較小字體打印的尷尬局面。示例性的,如圖3所示,以查詢數(shù)據(jù)為例,說明本發(fā)明實施例的條形碼顯示方法,包括31、根據(jù)分頁組件,定義組件實例。選擇分頁的GridView控件,在GridView控件的屬性中設(shè)置每頁顯示的數(shù)據(jù)條目的行數(shù),該數(shù)據(jù)條目的行數(shù)通??梢源笥?0且小于50000,該數(shù)據(jù)條目的行數(shù)可以由用戶 根據(jù)需要確定,用戶并可以根據(jù)需要進行修改。32、設(shè)置查詢條件并從配置文件中獲取查詢條件值。具體的,可以預(yù)先存儲配置文件,并可以使用另一個進程從配置文件中獲取查詢條件值,查詢條件是根據(jù)用戶需要的查詢內(nèi)容在開發(fā)過程中進行定義,并在用戶查詢數(shù)據(jù)的時候進行選取或條件的設(shè)置。33、加載Datafresh事件,來更新分頁組件(Gridview控件)中的數(shù)據(jù)。具體的,Datafresh事件是委托事件,在分頁的時候觸發(fā)此事件,用于分頁后數(shù)據(jù)的加載,Datafresh事件更新后GridView控件的樣式不會發(fā)生改變,改變的是GridView控件中的數(shù)據(jù)。34、生成查詢數(shù)據(jù)的SQL (Structured Query Language,結(jié)構(gòu)化查詢語言)腳本。具體的,根據(jù)當前頁碼、每頁多少行以及需要顯示的數(shù)據(jù)自動生成SQL腳本。35、加載SQL語句,并從數(shù)據(jù)庫后臺獲取需要顯示的數(shù)據(jù)條目。具體的,用戶點擊查詢后,觸發(fā)后臺事件,生成SQL腳本,執(zhí)行后,向前臺返回查詢得到的數(shù)據(jù)條目。36、調(diào)用Gridview控件,裝載需要顯示的數(shù)據(jù)條目。示例性的,以代碼說明分頁組件調(diào)用I、首先在From窗體上拖入分頁組件,并且命名,選擇對應(yīng)的分頁的GridView。2、在構(gòu)造函數(shù)中設(shè)置參數(shù),如下public MaintainTool()
{
InitializeComponent();
//ngtMaster. ConfigPath = Global. Navi—ConfigPath;
//根據(jù)登錄時候的系統(tǒng)配置,加載導(dǎo)航控 的界面展示張曉斌20〗1年11
月7円add
ngtMaster. SetNavigationText(Global. SystemLanguage, ToString O);ngtMaster. ISAutoGenerateRowNum = true;
//設(shè)置多語言added by Idb on 20111109
ttregion動態(tài)設(shè)置表格樣式需要設(shè)置的部分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事件,用于對列表中的數(shù)據(jù)進行刷新,如下
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) ; //聲明數(shù)
據(jù)字典對象
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:具創(chuàng)建的開始和結(jié)束時間
dicPars. Add (〃AssetNo〃,txtAssetNo. Text) ; /7加載工具資產(chǎn)編號 dicPars. Add(〃BsasNo〃,txtBsasNo. Text) ; /7加載序列號 dicPars. Add ("DocumentNo' txtDocumentNo. Text) ; //加載文件編號 dicPars. Add (,,EquipmentNo,,,txtEquipmentNo. Text) ; //加載設(shè)備編號 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 加載工具狀態(tài)
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) ; //加載工具錄入結(jié)束時間dicPars. Add("tms_Type",tms_Type); //
dicPars· Add(〃_ToolMaintainMode〃,NowToolMaintainMode); //
ZXB. Data. GridView. PagingCondition pagingCondition =·ClassFactory. CreateTool(false). getPagingCondition(dicPars); //
pagingCondition. SortDrive = sortDriver; //賦值排序_函數(shù) pagingCondition. SortField = sortField; //賦值排序區(qū)域 ngtMaster. PageIndex = I; //默認顯示第一頁
ngtMaster. PagingCondition = pagingCondition; //加載列表配置項 ngtMaster. InitDataO ; /7初始化數(shù)據(jù)
}具體可參閱MaintainTool. cs,在此不作贊述??梢?,條形碼顯示方法實現(xiàn)用戶可以設(shè)定單頁顯示的條數(shù),單頁可以顯示數(shù)萬條,從而用戶不用點擊下一頁,即可實現(xiàn)單頁瀏覽、查詢、掃描等系統(tǒng)自帶功能。示例性的,如圖4所示,條形碼打印方法,包括41、加載 printspecimenlable. cs 文件。具體的,printspecimenlable. cs 文件中的代碼包含了可實現(xiàn)條形碼打印的具體功能,如可以根據(jù)數(shù)字、英文生成條形碼,并且打?。豢梢圆捎脳l碼打印機實現(xiàn)對條形碼的打??;可以通過有線、無線的條碼掃描槍對條碼進行掃描識別,具體可以參見現(xiàn)有技術(shù),在此不作贅述。42、聲明一個數(shù)組,用來存儲需要打印條形碼的內(nèi)容。具體的,如圖2所示,打印條形碼的內(nèi)容包括條形碼22以及編碼值23,可選的,還可以包括物品描述24以及串號25。43、獲取需要打印條形碼的數(shù)字或字符,并賦值給之前聲明的數(shù)組。具體的,獲取條形碼22以及編碼值23,可選的,還可以包括物品描述24以及串號25,并賦值給之前聲明的數(shù)組。44、調(diào)用用戶設(shè)置的字號,以及用于條形碼打印的Codel28C條形碼字體。用戶可根據(jù)便簽紙的大小,以及掃描設(shè)備的識別能力對字體的尺寸進行設(shè)置。45、根據(jù)默認打印機的設(shè)置,虛擬化打印的頁面規(guī)格及邊距。46、生成條形碼。47、尋找連接的打印機設(shè)備。48、打印條形碼,從打印機設(shè)備輸出。上述條形碼打印方法可以單獨應(yīng)用,也可以結(jié)合在條形碼的顯示方法中實現(xiàn)條形碼打印,不受限制。示例性的,以代碼說明條形碼打印方法實現(xiàn)I、首先將 PrintSpecimenLabel. cs 加載到系統(tǒng)中。2、調(diào)用方法
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);//設(shè)取打印.數(shù)制源
PrintSpecimenLabeI psi = new PrintSpecimenLabe丨(); //.;丨〖叨打印!小簽psi.ModeIName = "T_Too!";//為標簽氈 ι1!: psl.data = dtwo//將數(shù)據(jù)源賦值到打印工具類中
psi.DoPrint();//執(zhí)行打印操作具體的不例代碼可以參閱“MaintainTool. cs”,aToolStripMenultem_Click 方法,在此不作贅述??梢?,采用Codel28C條形碼字體,打印出小,且短的條形碼,并且具有較高的掃描識別率。針對較小工具的條形碼打印可實現(xiàn)字體清晰、系統(tǒng)穩(wěn)定、掃描快速等功能。改善了條形碼打印只可在規(guī)范格式下進行,且不支持較小工具的小字體打印的尷尬局面,適用于建筑構(gòu)件,例如小到粘在螺絲上的條形碼打印。以上所述,僅為本發(fā)明較佳的具體實施方式
,但本發(fā)明的保護范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明披露的技術(shù)范圍內(nèi),可輕易想到的變化或替換,都應(yīng)涵蓋在本發(fā)明的保護范圍之內(nèi)。因此,本發(fā)明的保護范圍應(yīng)該以權(quán)利要求書的保護范圍為準。本領(lǐng)域普通技術(shù)人員可以理解實現(xiàn)上述實施例方法中的全部或部分流程,是可以通過計算機程序來指令相關(guān)的硬件來完成,所述的程序可存儲于一計算機可讀取存儲介質(zhì)中,該程序在執(zhí)行時,可包括如上述各方法的實施例的流程。其中,所述的存儲介質(zhì)可為磁碟、光盤、只讀存儲記憶體(Read-Only Memory, ROM)或隨機存儲記憶體(Random AccessMemory, RAM)等。
權(quán)利要求
1.一種條形碼顯示方法,其特征在于,包括 設(shè)置Asp. Net平臺網(wǎng)格GridView控件的分頁的頁大小; 根據(jù)所述分頁的頁大小對所述GridView控件綁定的數(shù)據(jù)庫中的數(shù)據(jù)進行顯示,所述數(shù)據(jù)庫中的數(shù)據(jù)為與條形碼對應(yīng)的數(shù)據(jù)條目。
2.根據(jù)權(quán)利要求I所述的條形碼顯示方法,其特征在于,所述分頁的頁大小為分頁包含的數(shù)據(jù)條目的行數(shù),所述行數(shù)為大于30且小于50000。
3.根據(jù)權(quán)利要求I或2所述的條形碼顯示方法,其特征在于,所述設(shè)置GridView控件的分頁的頁大小包括 選擇分頁的GridView控件,在GridView控件的屬性中設(shè)置每頁顯示的數(shù)據(jù)條目的行 數(shù); 所述根據(jù)所述分頁的頁大小對所述GridView控件綁定的數(shù)據(jù)庫中的數(shù)據(jù)進行顯示,包括 設(shè)置查詢條件并從配置文件中獲取查詢條件值; 加載Datafresh事件,來更新所述Gridview控件中的數(shù)據(jù); 生成查詢數(shù)據(jù)的結(jié)構(gòu)化查詢語言SQL腳本; 加載SQL語句,并從數(shù)據(jù)庫后臺獲取需要顯示的數(shù)據(jù)條目; 調(diào)用所述Gridview控件,裝載需要顯示的數(shù)據(jù)條目。
4.根據(jù)權(quán)利要求I所述的條形碼顯示方法,其特征在于,所述方法還包括 確定所述數(shù)據(jù)庫中需要打印的數(shù)據(jù)對應(yīng)的條形碼標簽,所述條形碼標簽包括編碼值和條形碼的對應(yīng)關(guān)系; 以Codel28C格式打印輸出所述條形碼標簽。
5.根據(jù)權(quán)利要求4所述的條形碼顯示方法,其特征在于,所述確定所述數(shù)據(jù)庫中需要打印的數(shù)據(jù)對應(yīng)的條形碼標簽包括力口載 printspecimenlable. cs 文件; 聲明一個數(shù)組,用來存儲需要打印條形碼的內(nèi)容,打印條形碼的內(nèi)容包括條形碼以及編碼值; 獲取需要打印條形碼的數(shù)字或字符,并賦值給所述聲明的數(shù)組; 所述以Codel28C格式打印輸出所述條形碼標簽,包括 調(diào)用用戶設(shè)置的字號,以及用于條形碼打印的Codel28C條形碼字體; 根據(jù)默認打印機的設(shè)置,虛擬化打印的頁面規(guī)格及邊距,生成條形碼,尋找連接的打印機設(shè)備打印條形碼。
全文摘要
本發(fā)明實施例公開了一種條形碼顯示方法,包括設(shè)置Asp.Net平臺網(wǎng)格GridView控件的分頁的頁大?。桓鶕?jù)所述分頁的頁大小對所述GridView控件綁定的數(shù)據(jù)庫中的數(shù)據(jù)進行顯示,所述數(shù)據(jù)庫中的數(shù)據(jù)為與條形碼對應(yīng)的數(shù)據(jù)條目。本發(fā)明實施例的條形碼顯示方法,通過設(shè)置GridView控件的分頁的頁大小,用戶可自行設(shè)置并提高單頁的數(shù)據(jù)條目數(shù),方便用戶對數(shù)據(jù)條目查詢,編輯等操作。
文檔編號G06K19/06GK102880893SQ201210362250
公開日2013年1月16日 申請日期2012年9月25日 優(yōu)先權(quán)日2012年9月25日
發(fā)明者唐皓, 張昱, 孫緒華, 付錚, 張曉斌 申請人:北京建筑工程學(xué)院