一種表格生成方法及裝置的制造方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及計(jì)算機(jī)技術(shù)領(lǐng)域,尤其設(shè)計(jì)一種表格生成方法及裝置。
【背景技術(shù)】
[0002] 無線數(shù)讀(無線客戶端的數(shù)據(jù)統(tǒng)計(jì)和分析服務(wù))產(chǎn)品經(jīng)常需要開發(fā)大量的表格報(bào) 表。如圖1所示,為目前無線數(shù)讀中常用的表格展現(xiàn)形式,其中無線數(shù)讀產(chǎn)品常用的表格一 般還可能需要用于提供搜索、分頁和排序等功能。現(xiàn)有技術(shù)中的常用方法是使用前端表格 組件進(jìn)行開發(fā),開發(fā)的步驟包括:定義表格模板,編寫后臺獲取表格數(shù)據(jù)的Java代碼,編寫 創(chuàng)建組件的JavaScript (以下簡稱js)代碼,編寫前臺獲取表格數(shù)據(jù)的js代碼,編寫前臺 進(jìn)行分頁數(shù)據(jù)處理的代碼,編寫前臺進(jìn)行數(shù)據(jù)排序的js代碼及編寫前臺進(jìn)行搜索過濾的 j s代碼。
[0003] 然而,利用現(xiàn)有的前端表格組件進(jìn)行相關(guān)的表格報(bào)表開發(fā)時(shí),往往需要編寫大量 的js代碼,單實(shí)現(xiàn)搜索、排序和分頁功能的js代碼的平均行數(shù)就能達(dá)到500行。并且由于 編碼復(fù)雜,這種方法對開發(fā)人員的技能要求較高,開發(fā)效率、可讀性和可維護(hù)性較低。
【發(fā)明內(nèi)容】
[0004] 本發(fā)明實(shí)施例提供一種表格生成方法及裝置,用以解決現(xiàn)有技術(shù)中利用前端表格 組件開發(fā)表格報(bào)表時(shí)需要編寫大量js代碼,而開發(fā)難度大,開發(fā)效率、代碼可讀性、可維護(hù) 性低下的問題。
[0005] 本發(fā)明實(shí)施例提供的具體技術(shù)方案如下:
[0006] 一種表格生成方法,包括:
[0007] 根據(jù)指定的模板對象調(diào)用JavaScript表格組件創(chuàng)建組件對象實(shí)例,其中,所述組 件對象實(shí)例繼承所述JavaScript表格組件嵌入的預(yù)設(shè)功能;
[0008] 在創(chuàng)建組件對象實(shí)例的過程中,將指定的表格數(shù)據(jù)的URL插入所述組件對象實(shí)例 中的對應(yīng)位置并加載相關(guān)表格數(shù)據(jù),以及根據(jù)所述模板對象中包含的HTML描述信息調(diào)用 所述組件對象實(shí)例中包含的預(yù)設(shè)功能對所述表格數(shù)據(jù)進(jìn)行相應(yīng)處理,以完成組件對象實(shí)例 的創(chuàng)建。
[0009] 通過這樣的實(shí)現(xiàn)方式,采用JavaScript表格組件統(tǒng)一實(shí)現(xiàn)表格的排序、分頁和搜 索功能,從而大大減少了 js代碼的編寫量,同時(shí),提高了代碼的上手性、可讀性和可維護(hù) 性,并極大的提高了開發(fā)效率。
[0010] 較佳的,根據(jù)指定的模板對象調(diào)用JavaScript表格組件創(chuàng)建組件對象實(shí)例,包 括:
[0011] 獲取預(yù)設(shè)的html模板、配置項(xiàng)數(shù)組和http請求參數(shù);
[0012] 根據(jù)所述預(yù)設(shè)的html模板查找對應(yīng)的模板對象,根據(jù)所述對應(yīng)的模板對象創(chuàng)建 組件對象實(shí)例;
[0013] 根據(jù)所述預(yù)設(shè)的配置項(xiàng)數(shù)組中的配置信息對所述組件對象實(shí)例中的默認(rèn)配置項(xiàng) 進(jìn)行覆蓋;
[0014] 將所述模板對象和所述預(yù)設(shè)的http請求參數(shù)作為所述組件對象實(shí)例的緩存數(shù)據(jù) 進(jìn)行緩存;
[0015] 調(diào)用JavaScript表格組件實(shí)現(xiàn)所述組件對象實(shí)例的相關(guān)功能。
[0016] 通過這樣的實(shí)現(xiàn)方式,通過調(diào)用已有的模板對象和JavaScript表格組件即可快 速創(chuàng)建組件對象實(shí)例,無需再編寫大量的js代碼,減少了開發(fā)步驟。
[0017] 較佳的,所述配置項(xiàng)數(shù)組為空值;或者,
[0018] 所述配置項(xiàng)數(shù)據(jù)包括以下至少之一:頁尺寸,數(shù)據(jù)獲取方式,表格行數(shù)據(jù)迭代模 板,需要逐行迭代的數(shù)據(jù)返回值,總頁數(shù),總記錄數(shù),表格數(shù)據(jù)克隆版本,表格目標(biāo)數(shù)據(jù),當(dāng) 前頁碼,URL。
[0019] 這樣,通過config中的各個(gè)配置項(xiàng)控制表格的屬性,以及作為實(shí)現(xiàn)后續(xù)實(shí)現(xiàn)排序、 搜索和分頁功能中的關(guān)鍵參數(shù)。
[0020] 較佳的,所述JavaScript表格組件嵌入的預(yù)設(shè)功能包括:
[0021] 排序功能,分頁功能和搜索功能。
[0022] 這樣,通過預(yù)先在JavaScript表格組件中嵌入排序、分頁和搜索功能,在實(shí)現(xiàn)組 件對象實(shí)例的相關(guān)功能時(shí)直接調(diào)用即可,無需再次編寫大量的js代碼。
[0023] 較佳的,將指定的表格數(shù)據(jù)的統(tǒng)一資源定位符URL插入所述組件對象實(shí)例中的對 應(yīng)位置并加載相關(guān)表格數(shù)據(jù),包括:
[0024] 將指定的表格數(shù)據(jù)的URL插入所述組建對象實(shí)例中的對應(yīng)位置;
[0025] 根據(jù)所述指定的表格數(shù)據(jù)的URL,調(diào)用ajax請求獲取相關(guān)表格數(shù)據(jù)。
[0026] 這樣,即可異步獲取表格數(shù)據(jù)。
[0027] 較佳的,根據(jù)所述模板對象中包含的HTML描述信息調(diào)用所述組件對象實(shí)例中包 含的預(yù)設(shè)功能對所述表格數(shù)據(jù)進(jìn)行相應(yīng)處理,包括:
[0028] 根據(jù)所述模板對象中包含的HTML描述信息,確定指定的預(yù)設(shè)功能的標(biāo)識;
[0029] 根據(jù)預(yù)設(shè)功能的標(biāo)識,調(diào)用所述組件對象實(shí)例繼承的對應(yīng)的功能函數(shù),對已加載 的表格數(shù)據(jù)進(jìn)行相應(yīng)處理。
[0030] 通過這樣的實(shí)現(xiàn)方式,為表格數(shù)據(jù)添加排序響應(yīng)事件,添加分頁監(jiān)聽事件,綁定搜 索功能等。
[0031] -種表格生成裝置,包括:
[0032] 創(chuàng)建單元,用于根據(jù)指定的模板對象調(diào)用JavaScript表格組件創(chuàng)建組件對象實(shí) 例,其中,所述組件對象實(shí)例繼承所述JavaScript表格組件嵌入的預(yù)設(shè)功能;
[0033] 處理單元,用于在創(chuàng)建組件對象實(shí)例的過程中,將指定的表格數(shù)據(jù)的URL插入所 述組件對象實(shí)例中的對應(yīng)位置并加載相關(guān)表格數(shù)據(jù),以及根據(jù)所述模板對象中包含的HTML 描述信息調(diào)用所述組件對象實(shí)例中包含的預(yù)設(shè)功能對所述表格數(shù)據(jù)進(jìn)行相應(yīng)處理,以完成 組件對象實(shí)例的創(chuàng)建。
[0034] 通過這樣的實(shí)現(xiàn)方式,采用JavaScript表格組件統(tǒng)一實(shí)現(xiàn)表格的排序、分頁和搜 索功能,從而大大減少了 js代碼的編寫量,同時(shí),提高了代碼的上手性、可讀性和可維護(hù) 性,并極大的提高了開發(fā)效率。
[0035] 較佳的,所述創(chuàng)建單元具體用于:
[0036] 獲取預(yù)設(shè)的html模板、配置項(xiàng)數(shù)組和http請求參數(shù);
[0037] 根據(jù)所述預(yù)設(shè)的html模板查找對應(yīng)的模板對象,根據(jù)所述對應(yīng)的模板對象創(chuàng)建 組件對象實(shí)例;
[0038] 根據(jù)所述預(yù)設(shè)的配置項(xiàng)數(shù)組中的配置信息對所述組件對象實(shí)例中的默認(rèn)配置項(xiàng) 進(jìn)行覆蓋;
[0039] 將所述模板對象和所述預(yù)設(shè)的http請求參數(shù)作為所述組件對象實(shí)例的緩存數(shù)據(jù) 進(jìn)行緩存;
[0040] 調(diào)用JavaScript表格組件實(shí)現(xiàn)所述組件對象實(shí)例的相關(guān)功能。
[0041] 通過這樣的實(shí)現(xiàn)方式,通過調(diào)用已有的模板對象和JavaScript表格組件即可快 速創(chuàng)建組件對象實(shí)例,無需再編寫大量的js代碼,減少了開發(fā)步驟。
[0042] 較佳的,所述配置項(xiàng)數(shù)組為空值;或者,
[0043] 所述配置項(xiàng)數(shù)據(jù)包括以下至少之一:頁尺寸,數(shù)據(jù)獲取方式,表格行數(shù)據(jù)迭代模 板,需要逐行迭代的數(shù)據(jù)返回值,總頁數(shù),總記錄數(shù),表格數(shù)據(jù)克隆版本,表格目標(biāo)數(shù)據(jù),當(dāng) 前頁碼,URL。
[0044] 這樣,通過config中的各個(gè)配置項(xiàng)控制表格的屬性,以及作為實(shí)現(xiàn)后續(xù)實(shí)現(xiàn)排序、 搜索和分頁功能中的關(guān)鍵參數(shù)。
[0045] 較佳的,所述JavaScript表格組件嵌入的預(yù)設(shè)功能包括:
[0046] 排序功能,分頁功能和搜索功能。
[0047] 這樣,通過預(yù)先在JavaScript表格組件中嵌入排序、分頁和搜索功能,在實(shí)現(xiàn)組 件對象實(shí)例的相關(guān)功能時(shí)直接調(diào)用即可,無需再次編寫大量的js代碼。
[0048] 較佳的,所述處理單元具體用于:
[0049] 將指定的表格數(shù)據(jù)的URL插入所述組建對象實(shí)例中的對應(yīng)位置;
[0050] 根據(jù)所述指定的表格數(shù)據(jù)的URL,調(diào)用ajax請求獲取相關(guān)表格數(shù)據(jù)。
[0051] 這樣,即可異步獲取表格數(shù)據(jù)。
[0052] 較佳的,所述處理單元具體用于:
[0053] 根據(jù)所述模板對象中包含的HTML描述信息,確定指定的預(yù)設(shè)功能的