本發(fā)明涉及軟件工程領(lǐng)域,具體涉及一種表單自定義的方法和裝置。
背景技術(shù):
隨著信息系統(tǒng)業(yè)務(wù)的發(fā)展和需要,用戶通常都會有個性化的電子表單需求,而且隨著用戶業(yè)務(wù)的不斷發(fā)展,先前使用的電子表單有時需要變動才能適合業(yè)務(wù)的發(fā)展。這些電子表單的實現(xiàn)和變動,從軟件開發(fā)的角度,需要編寫和重新編寫代碼。每個不同的電子表單都需要不同的編碼實現(xiàn),不僅加重開發(fā)人員的工作量,也使用戶承擔(dān)更多的研發(fā)費用和更長的表單投入實施時間。因此能夠靈活高效進(jìn)行電子表單自定義的方法和裝置已經(jīng)成為開發(fā)人員和業(yè)務(wù)人員的共同需求。
中國已授權(quán)專利201210209275.7公布了一種生成自定義表單的方法和裝置:新建表單模板信息,所述表單模板信息包括表單信息表、字段信息表、表單字段關(guān)系表、字段類型信息表、字段類型子項信息表,根據(jù)用戶定義設(shè)置表單信息表并創(chuàng)建表單包含字段的字段信息表獲得表單模板信息,根據(jù)表單模板信息生成并呈現(xiàn)自定義表單。
上述已授權(quán)專利公布的方法事實上只能繪制呈現(xiàn)比較簡單的規(guī)律性的自定義表單,對于復(fù)雜無規(guī)則的表單需求則無能為力,離實際運用尚有距離。
技術(shù)實現(xiàn)要素:
為了解決上述實際問題,本發(fā)明提供了一種表單自定義方法和裝置,實現(xiàn)了用戶自定義表單時無需任何編程知識,卻能方便快捷高效的自定義各種復(fù)雜多樣的電子表單。
本發(fā)明公開了一種表單自定義的方法和裝置,包括:建立表單模板信息:表單模板信息包括表單信息表、表單字段信息表(簡稱字段信息表)、表單字段選項信息表(簡稱選項信息表),在數(shù)據(jù)庫中建立所述三張表。
其中,所述表單信息表包含表單編號id、表單名稱及有關(guān)信息,并和字段信息表通過“外鍵-主鍵”關(guān)聯(lián);字段信息表包含字段編號id、字段名稱、字段類型、字段名稱所在行數(shù)與列數(shù),字段標(biāo)題寬度、字段內(nèi)容寬度等字段信息,字段信息表與選項信息表通過“外鍵-主鍵”關(guān)聯(lián);選項信息表用于存儲特殊字段的選項信息,包含特殊字段主鍵值、選項名稱、選項值等相關(guān)信息。本發(fā)明中字段名稱和字段內(nèi)容又可分別稱為字段標(biāo)題、標(biāo)題內(nèi)容。
其中,表單信息表中的表單編號id在表單信息表中具有唯一性,并作為表單主鍵;字段信息表中字段編號id在表中具有唯一性并作為主鍵,字段信息表中還包含一個外鍵:即表單編號id;選項信息表中除具有唯一性的編號id為主鍵外,還包含字段編號id作為一個外鍵。
特殊字段類型,是指對應(yīng)字段內(nèi)容的值可以是多個設(shè)定選項值中的一個或多個,即字段標(biāo)題對應(yīng)標(biāo)題內(nèi)容的值需從兩個或兩個以上的設(shè)定選項值中選取,可選取一個選項值或多個選項值。
根據(jù)字段信息表中字段的字段類型判別,如果是特殊字段類型,需要在字段信息表中保存該字段的信息后,保存該字段的主鍵值、各個選項名稱、選項值到選項信息表。
表單模板數(shù)據(jù)獲?。夯诒韱涡畔⒈?、字段信息表、選項信息表的“外鍵-主鍵”關(guān)聯(lián)性,可以根據(jù)表單編號id從各表獲取該表單的所有表單模板數(shù)據(jù)。
字段信息表中的行數(shù)、列數(shù)、字段標(biāo)題列寬以及標(biāo)題內(nèi)容列寬等4個表字段是必須的,在表單的生成繪制中,不僅css樣式不可或缺,更重要的是,如果不是拖拽式可視化定位配置字段類型控件,不計算每個字段包括字段標(biāo)題和標(biāo)題內(nèi)容在表單中的位置和寬度,表頭單元和表格單元就很難準(zhǔn)確繪制,也就難以實現(xiàn)復(fù)雜多樣的自定義表單。
列寬是按百分比來計算的,即該字段標(biāo)題或標(biāo)題內(nèi)容的列寬是指占據(jù)整個表單行寬的百分比,依據(jù)這4個表字段,每個表頭單元格和表格單元格才能準(zhǔn)確的在表單中繪制。根據(jù)表單模板數(shù)據(jù),在表單繪制呈現(xiàn)過程中,表單字段類型的值將決定相應(yīng)表格單元格生成的控件類型,如果是特殊字段類型,還要加載相應(yīng)控件的各選項值,通過css樣式,繪制呈現(xiàn)復(fù)雜多樣的自定義表單。
修改或刪除表單模板信息:包括對表單信息表的修改或刪除、對字段信息表的修改或刪除、對選項信息表的修改或刪除。
本發(fā)明還公開了一種表單自定義裝置,包括:
1)表單模板創(chuàng)建模塊:用戶根據(jù)業(yè)務(wù)需求,輸入表單名稱等表單信息,保存表單信息表,數(shù)據(jù)庫自動為該表單信息生成唯一性的表單編號id;再輸入表單的各個字段,包括字段名稱、所在行列、字段標(biāo)題和字段內(nèi)容列寬等信息,并和表單編號id(表單信息表主鍵)一起保存到字段信息表,數(shù)據(jù)庫自動為該字段信息生成唯一性的字段編號id;如果所建字段為特殊字段,則需要為該字段創(chuàng)建選項名稱和選項值,并和該字段編號id(字段信息表主鍵)一起插入選項信息表;
2)表單模板生成及呈現(xiàn)模塊:根據(jù)表單編號及“外鍵-主鍵”關(guān)聯(lián)查詢表單信息表、字段信息表、選項信息表獲得表單模板信息,并依據(jù)字段類型生成相應(yīng)的html控件,根據(jù)字段所在表單中的行列位置及字段標(biāo)題和標(biāo)題內(nèi)容列寬,以及已加載的css樣式,在界面中繪制并呈現(xiàn)一個表單實例;
3)表單模板修改模塊:根據(jù)表單編號進(jìn)入表單模板編輯界面,每個表單字段和字段選項都有相應(yīng)的編輯、刪除按鈕,用戶可對需要的信息進(jìn)行修改、刪除。
本發(fā)明具有以下有益效果:本發(fā)明設(shè)計面向?qū)ο笫菢I(yè)務(wù)人員而非開發(fā)人員,用戶無須具有任何html、css等編程技術(shù),即可根據(jù)業(yè)務(wù)需求自行定義設(shè)計所需表單,只需給出字段名稱、字段所在行列數(shù)、選擇字段類型、字段標(biāo)題及標(biāo)題內(nèi)容列寬,即可生成所需業(yè)務(wù)表單并編輯修改,維護(hù)簡單,節(jié)省開發(fā)時間和人力資源,用較低的成本滿足用戶更多的電子表單應(yīng)用需求。
附圖說明
圖1是本發(fā)明實施例的生成自定義表單的方法的流程圖。
圖2是本發(fā)明實施例中數(shù)據(jù)庫表的關(guān)系圖。
具體實施方式
以下結(jié)合附圖對本發(fā)明的實施例進(jìn)行具體說明,圖1是本發(fā)明實施例表單自定義方法的流程圖。如圖1所示,所述方法包括:
建立表單信息表、表單字段信息表(簡稱字段信息表)、表單字段選項信息表(簡稱選項信息表),在數(shù)據(jù)庫中建立所述三張表,如附圖2所示,由此構(gòu)成表單模板信息;
其中,所述表單信息表包含表單編號id和表單名稱,表單編號id作為主鍵在插入表單信息時由數(shù)據(jù)庫自動生成,并和字段信息表通過“外鍵-主鍵”關(guān)聯(lián);字段信息表包含字段編號id、字段名稱、字段類型、所在行數(shù)、所在列數(shù),字段標(biāo)題寬度、字段內(nèi)容寬度等字段信息,字段編號id作為主鍵在插入字段信息表時由數(shù)據(jù)庫自動生成,字段信息表與選項信息表通過“外鍵-主鍵”關(guān)聯(lián);選項信息表包含數(shù)據(jù)庫自動生成的編號id、特殊字段編號id(外鍵)、選項名稱、選項值等相關(guān)信息。
根據(jù)字段信息表中字段的字段類型判別,如果是特殊字段類型,需要在字段信息表中保存該字段的信息后,另外再保存該字段的字段編號id、各個選項名稱、選項值到選項信息表。
表單模板數(shù)據(jù)獲取和表單呈現(xiàn):基于表單信息表、字段信息、選項信息表的“外鍵-主鍵”關(guān)聯(lián)性,可以根據(jù)表單編號id從各表獲取該表單的所有表單模板數(shù)據(jù)。根據(jù)字段信息表中的行數(shù)、列數(shù)、字段標(biāo)題列寬以及標(biāo)題內(nèi)容列寬等4個表字段在表單實例中計算各個表單字段的位置空間,表單字段類型的值還將決定相應(yīng)表格單元格生成的控件類型,如果是特殊字段類型,還要加載相應(yīng)控件的各選項值,并通過加載css樣式對表單布局,從而呈現(xiàn)自定義表單的一個實例。
以上所述,僅為本發(fā)明的較佳實施例而已,并非用于限定本發(fā)明的保護(hù)范圍。基于本發(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護(hù)的范圍。