本發(fā)明涉及計(jì)算機(jī)技術(shù)領(lǐng)域,尤其涉及一種表單數(shù)據(jù)更新方法、裝置及計(jì)算機(jī)設(shè)備。
背景技術(shù):
隨著網(wǎng)絡(luò)和計(jì)算機(jī)技術(shù)的發(fā)展,電子表單逐漸代替?zhèn)鹘y(tǒng)的紙質(zhì)登記簿,被廣泛應(yīng)用于企業(yè)業(yè)務(wù)運(yùn)營中。
電子表單中,通常含有多個(gè)控件,且多個(gè)控件之間可能存在算數(shù)運(yùn)算關(guān)系,當(dāng)電子表單中某個(gè)控件的數(shù)據(jù)值發(fā)生變化時(shí),其數(shù)據(jù)值由該控件的數(shù)據(jù)值得到的控件則需要進(jìn)行數(shù)據(jù)更新。
現(xiàn)有的電子表單數(shù)據(jù)更新方法,在表單確定一個(gè)控件的數(shù)據(jù)值發(fā)生變化時(shí),需要首先遍歷后臺(tái)數(shù)據(jù)庫中各控件的算數(shù)運(yùn)算關(guān)系,當(dāng)根據(jù)運(yùn)算關(guān)系,確定另一控件是由上述控件運(yùn)算得到時(shí),即將該運(yùn)算關(guān)系取出,進(jìn)而根據(jù)運(yùn)算關(guān)系,對(duì)另一控件的數(shù)據(jù)進(jìn)行更新,之后,再遍歷后臺(tái)數(shù)據(jù)庫中各控件的算數(shù)運(yùn)算關(guān)系,依次獲取其它可由上述控件運(yùn)算得到各控件的運(yùn)算關(guān)系,并對(duì)其它各控件的數(shù)據(jù)進(jìn)行更新。
但是,若表單中控件較多,通過上述方式進(jìn)行數(shù)據(jù)更新,就需要反復(fù)對(duì)后臺(tái)數(shù)據(jù)庫中各控件的算數(shù)運(yùn)算關(guān)系進(jìn)行遍歷,并從數(shù)據(jù)庫中讀取數(shù)據(jù),處理過程繁瑣、速度慢、性能消耗大、影響工作效率,且由于需要在數(shù)據(jù)庫中存儲(chǔ)大量的算數(shù)運(yùn)算關(guān)系數(shù)據(jù),這就對(duì)數(shù)據(jù)庫的存儲(chǔ)空間造成了很大的浪費(fèi)。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明旨在至少在一定程度上解決相關(guān)技術(shù)中的技術(shù)問題之一。
為此,本發(fā)明的第一個(gè)目的在于提出一種表單數(shù)據(jù)更新方法,由于在控件的屬性信息中擴(kuò)展的控件之間的運(yùn)算關(guān)系,可以通過表單原碼實(shí)現(xiàn),無需在數(shù)據(jù)庫中存儲(chǔ)算數(shù)運(yùn)行關(guān)系到后臺(tái)數(shù)據(jù)庫,因此降低了數(shù)據(jù)庫的存儲(chǔ)量,且由于在某控件的數(shù)據(jù)值更新后,各個(gè)控件即可根據(jù)數(shù)據(jù)更新信息及各控件的屬性信息,同步對(duì)表單數(shù)據(jù)進(jìn)行更新,因此極大的提高了表單數(shù)據(jù)的更新速度和工作效率,減少了系統(tǒng)的性能消耗。
本發(fā)明的第二個(gè)目的在于提出一種表單數(shù)據(jù)更新裝置。
本發(fā)明的第三個(gè)目的在于提出一種計(jì)算機(jī)設(shè)備。
本發(fā)明的第四個(gè)目的在于提出一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)。
本發(fā)明的第五個(gè)目的在于提出一種計(jì)算機(jī)程序產(chǎn)品。
為達(dá)上述目的,本發(fā)明第一方面實(shí)施例提出了一種表單數(shù)據(jù)更新方法,包括:
確定第一控件的數(shù)據(jù)更新信息;
基于所述數(shù)據(jù)更新信息,根據(jù)所述第一控件的屬性信息,和/或第二控件的屬性信息,進(jìn)行表單數(shù)據(jù)更新,其中,所述第二控件為表單中除所述第一控件外的一個(gè)或多個(gè)控件,且第n控件的屬性信息中包含,第n控件的父控件標(biāo)識(shí)、和/或第n控件與第i控件的運(yùn)算關(guān)系,其中父控件是指其數(shù)據(jù)值由第n控件的數(shù)據(jù)值運(yùn)算得到的控件,n和i為大于0、不相等的正整數(shù)。
在本發(fā)明一種可能的實(shí)現(xiàn)形式中,所述方法應(yīng)用于所述第一控件;
所述根據(jù)所述第一控件的屬性信息,進(jìn)行表單數(shù)據(jù)更新,包括:
根據(jù)所述第一控件的屬性信息,確定第三控件的標(biāo)識(shí),其中,所述第一控件的屬性信息中包括所述第三控件的標(biāo)識(shí);
向所述第三控件的標(biāo)識(shí)對(duì)應(yīng)的第三控件,發(fā)送數(shù)據(jù)更新信息,以使所述第三控件根據(jù)所述數(shù)據(jù)更新信息進(jìn)行數(shù)據(jù)更新,所述數(shù)據(jù)更新信息中包括所述第一控件的標(biāo)識(shí)。
在本發(fā)明另一種可能的實(shí)現(xiàn)形式中,所述方法應(yīng)用于所述第一控件;
所述根據(jù)所述第一控件的屬性信息,進(jìn)行表單數(shù)據(jù)更新,包括:
根據(jù)所述第一控件的屬性信息,確定第三控件的標(biāo)識(shí),其中,所述第一控件的屬性信息中,包括所述第一控件與所述第三控件的運(yùn)算關(guān)系;
所述第一控件根據(jù)所述第一控件與所述第三控件的運(yùn)算關(guān)系、及第一控件更新后的數(shù)據(jù)值,確定所述數(shù)據(jù)更新信息,所述數(shù)據(jù)更新信息中包括第三控件更新后的數(shù)據(jù)值;
所述第一控件向所述第三控件的標(biāo)識(shí)對(duì)應(yīng)的第三控件,發(fā)送所述數(shù)據(jù)更新信息,以使所述第三控件根據(jù)所述數(shù)據(jù)更新信息進(jìn)行數(shù)據(jù)更新。
在本發(fā)明另一種可能的實(shí)現(xiàn)形式中,所述方法應(yīng)用于所述第一控件;
所述根據(jù)所述第二控件的屬性信息,進(jìn)行表單數(shù)據(jù)更新,包括:
向所述表單發(fā)送數(shù)據(jù)更新信息,以使所述表單將所述數(shù)據(jù)更新信息發(fā)送給所述第二控件,以使所述第二控件分別根據(jù)各自的屬性信息及所述數(shù)據(jù)更新信息進(jìn)行數(shù)據(jù)更新,所述數(shù)據(jù)更新信息中包括所述第一控件的標(biāo)識(shí)。
在本發(fā)明另一種可能的實(shí)現(xiàn)形式中,所述確定第一控件的數(shù)據(jù)更新信息,包括:
通過事件監(jiān)聽函數(shù),確定所述第一控件的數(shù)據(jù)更新信息。
在本發(fā)明另一種可能的實(shí)現(xiàn)形式中,所述方法應(yīng)用于表單,
所述確定第一控件的數(shù)據(jù)更新信息,包括:
接收所述第一控件發(fā)送的數(shù)據(jù)更新信息,所述數(shù)據(jù)更新信息中包括所述第一控件的標(biāo)識(shí);
所述進(jìn)行表單數(shù)據(jù)更新,包括:
向所述第二控件,發(fā)送所述數(shù)據(jù)更新信息,以使所述第二控件分別根據(jù)各自的屬性信息及所述數(shù)據(jù)更新信息進(jìn)行數(shù)據(jù)更新。
在本發(fā)明另一種可能的實(shí)現(xiàn)形式中,所述方法應(yīng)用于第三控件;
所述確定第一控件的數(shù)據(jù)更新信息,包括:
接收所述第一控件發(fā)送的數(shù)據(jù)更新信息,所述數(shù)據(jù)更新信息中包括所述第一控件的標(biāo)識(shí);
所述進(jìn)行表單數(shù)據(jù)更新,包括:
根據(jù)所述第三控件的屬性信息,確定所述第一控件與所述第三控件的運(yùn)算關(guān)系;
根據(jù)所述運(yùn)算關(guān)系及所述更新信息,對(duì)所述第三控件的數(shù)據(jù)進(jìn)行更新。
在本發(fā)明另一種可能的實(shí)現(xiàn)形式中,所述方法應(yīng)用于第三控件;
所述確定第一控件的數(shù)據(jù)更新信息,包括:
接收所述第一控件發(fā)送的數(shù)據(jù)更新信息,所述數(shù)據(jù)更新信息中包括所述第三控件更新后的數(shù)據(jù)值;
所述進(jìn)行表單數(shù)據(jù)更新,包括:
根據(jù)所述第三控件更新后的數(shù)據(jù)值,對(duì)所述第三控件的數(shù)據(jù)進(jìn)行更新。
在本發(fā)明另一種可能的實(shí)現(xiàn)形式中,所述方法應(yīng)用于第二控件;
所述確定第一控件的數(shù)據(jù)更新信息,包括:
接收所述表單發(fā)送的數(shù)據(jù)更新信息,所述數(shù)據(jù)更新信息中包括所述第一控件的標(biāo)識(shí);
所述進(jìn)行表單數(shù)據(jù)更新,包括:
判斷所述第二控件的屬性信息中是否包括所述第一控件的標(biāo)識(shí);
若包括,則根據(jù)所述第二控件的屬性信息中的第一控件與所述第二控件的運(yùn)算關(guān)系,對(duì)所述第二控件的數(shù)據(jù)進(jìn)行更新。
本發(fā)明實(shí)施例的表單數(shù)據(jù)更新方法,由于在控件的屬性信息中擴(kuò)展的控件之間的運(yùn)算關(guān)系,可以通過表單原碼實(shí)現(xiàn),無需在數(shù)據(jù)庫中存儲(chǔ)算數(shù)運(yùn)行關(guān)系到后臺(tái)數(shù)據(jù)庫,因此降低了數(shù)據(jù)庫的存儲(chǔ)量。且由于在某控件的數(shù)據(jù)值更新后,各個(gè)控件即可根據(jù)數(shù)據(jù)更新信息及各控件的屬性信息,同步對(duì)表單數(shù)據(jù)進(jìn)行更新,因此極大的提高了表單數(shù)據(jù)的更新速度和工作效率,減少了系統(tǒng)的性能消耗。
為達(dá)上述目的,本發(fā)明第二方面實(shí)施例提出了一種表單數(shù)據(jù)更新裝置,包括:
確定模塊,用于確定第一控件的數(shù)據(jù)更新信息;
更新模塊,用于基于所述數(shù)據(jù)更新信息,根據(jù)所述第一控件的屬性信息,和/或第二控件的屬性信息,進(jìn)行表單數(shù)據(jù)更新,其中,所述第二控件為表單中除所述第一控件外的一個(gè)或多個(gè)控件,且第n控件的屬性信息中包含,第n控件的父控件標(biāo)識(shí)、和/或第n控件與第i控件的運(yùn)算關(guān)系,其中父控件是指其數(shù)據(jù)值由第n控件的數(shù)據(jù)值運(yùn)算得到的控件,n和i為大于0、不相等的正整數(shù)。
在本發(fā)明一種可能的實(shí)現(xiàn)形式中,所述裝置應(yīng)用于所述第一控件;
所述更新模塊,具體用于:
根據(jù)所述第一控件的屬性信息,確定第三控件的標(biāo)識(shí),其中,所述第一控件的屬性信息中包括所述第三控件的標(biāo)識(shí);
向所述第三控件的標(biāo)識(shí)對(duì)應(yīng)的第三控件,發(fā)送數(shù)據(jù)更新信息,以使所述第三控件根據(jù)所述數(shù)據(jù)更新信息進(jìn)行數(shù)據(jù)更新,所述數(shù)據(jù)更新信息中包括所述第一控件的標(biāo)識(shí)。
在本發(fā)明另一種可能的實(shí)現(xiàn)形式中,所述裝置應(yīng)用于所述第一控件;
所述更新模塊,還用于:
根據(jù)所述第一控件的屬性信息,確定第三控件的標(biāo)識(shí),其中,所述第一控件的屬性信息中,包括所述第一控件與所述第三控件的運(yùn)算關(guān)系;
所述第一控件根據(jù)所述第一控件與所述第三控件的運(yùn)算關(guān)系、及第一控件更新后的數(shù)據(jù)值,確定所述數(shù)據(jù)更新信息,所述數(shù)據(jù)更新信息中包括第三控件更新后的數(shù)據(jù)值;
所述第一控件向所述第三控件的標(biāo)識(shí)對(duì)應(yīng)的第三控件,發(fā)送所述數(shù)據(jù)更新信息,以使所述第三控件根據(jù)所述數(shù)據(jù)更新信息進(jìn)行數(shù)據(jù)更新。
在本發(fā)明另一種可能的實(shí)現(xiàn)形式中,所述裝置應(yīng)用于所述第一控件;
所述更新模塊,還用于:
向所述表單發(fā)送數(shù)據(jù)更新信息,以使所述表單將所述數(shù)據(jù)更新信息發(fā)送給所述第二控件,以使所述第二控件分別根據(jù)各自的屬性信息及所述數(shù)據(jù)更新信息進(jìn)行數(shù)據(jù)更新,所述數(shù)據(jù)更新信息中包括所述第一控件的標(biāo)識(shí)。
在本發(fā)明另一種可能的實(shí)現(xiàn)形式中,所述確定模塊,具體用于:
通過事件監(jiān)聽函數(shù),確定所述第一控件的數(shù)據(jù)更新信息。
在本發(fā)明另一種可能的實(shí)現(xiàn)形式中,所述裝置應(yīng)用于表單,
所述確定模塊,具體用于:
接收所述第一控件發(fā)送的數(shù)據(jù)更新信息,所述數(shù)據(jù)更新信息中包括所述第一控件的標(biāo)識(shí);
所述更新模塊,具體用于:
向所述第二控件,發(fā)送所述數(shù)據(jù)更新信息,以使所述第二控件分別根據(jù)各自的屬性信息及所述數(shù)據(jù)更新信息進(jìn)行數(shù)據(jù)更新。
在本發(fā)明另一種可能的實(shí)現(xiàn)形式中,所述裝置應(yīng)用于第三控件;
所述確定模塊,具體用于:
接收所述第一控件發(fā)送的數(shù)據(jù)更新信息,所述數(shù)據(jù)更新信息中包括所述第一控件的標(biāo)識(shí);
所述更新模塊,具體用于:
根據(jù)所述第三控件的屬性信息,確定所述第一控件與所述第三控件的運(yùn)算關(guān)系;
根據(jù)所述運(yùn)算關(guān)系及所述更新信息,對(duì)所述第三控件的數(shù)據(jù)進(jìn)行更新。
在本發(fā)明另一種可能的實(shí)現(xiàn)形式中,所述裝置應(yīng)用于第三控件;
所述確定模塊,還用于:
接收所述第一控件發(fā)送的數(shù)據(jù)更新信息,所述數(shù)據(jù)更新信息中包括所述第三控件更新后的數(shù)據(jù)值;
所述更新模塊,還用于:
根據(jù)所述第三控件更新后的數(shù)據(jù)值,對(duì)所述第三控件的數(shù)據(jù)進(jìn)行更新。
在本發(fā)明另一種可能的實(shí)現(xiàn)形式中,所述裝置應(yīng)用于第二控件;
所述確定模塊,具體用于:
接收所述表單發(fā)送的數(shù)據(jù)更新信息,所述數(shù)據(jù)更新信息中包括所述第一控件的標(biāo)識(shí);
所述更新模塊,具體用于:
判斷所述第二控件的屬性信息中是否包括所述第一控件的標(biāo)識(shí);
若包括,則根據(jù)所述第二控件的屬性信息中的第一控件與所述第二控件的運(yùn)算關(guān)系,對(duì)所述第二控件的數(shù)據(jù)進(jìn)行更新。
本發(fā)明實(shí)施例的表單數(shù)據(jù)更新裝置,由于在控件的屬性信息中擴(kuò)展的控件之間的運(yùn)算關(guān)系,可以通過表單原碼實(shí)現(xiàn),無需在數(shù)據(jù)庫中存儲(chǔ)算數(shù)運(yùn)行關(guān)系到后臺(tái)數(shù)據(jù)庫,因此降低了數(shù)據(jù)庫的存儲(chǔ)量。且由于在某控件的數(shù)據(jù)值更新后,各個(gè)控件即可根據(jù)數(shù)據(jù)更新信息及各控件的屬性信息,同步對(duì)表單數(shù)據(jù)進(jìn)行更新,因此極大的提高了表單數(shù)據(jù)的更新速度和工作效率,減少了系統(tǒng)的性能消耗。
為達(dá)上述目的,本發(fā)明第三方面實(shí)施例提出了一種計(jì)算機(jī)設(shè)備,包括存儲(chǔ)器、處理器及存儲(chǔ)在存儲(chǔ)器上并可在處理器上運(yùn)行的計(jì)算機(jī)程序,所述處理器執(zhí)行所述程序時(shí),實(shí)現(xiàn)如第一方面實(shí)施例所述的表單數(shù)據(jù)更新方法。
為達(dá)上述目的,本發(fā)明第四方面實(shí)施例提出了一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其上存儲(chǔ)有計(jì)算機(jī)程序,該程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)如第一方面所述的表單數(shù)據(jù)更新方法。
為達(dá)上述目的,本發(fā)明第五方面實(shí)施例提出了一種計(jì)算機(jī)程序產(chǎn)品,當(dāng)所述計(jì)算機(jī)程序產(chǎn)品中的指令由處理器執(zhí)行時(shí),執(zhí)行第一方面實(shí)施例所述的表單數(shù)據(jù)更新方法。
附圖說明
本發(fā)明上述的和/或附加的方面和優(yōu)點(diǎn)從下面結(jié)合附圖對(duì)實(shí)施例的描述中將變得明顯和容易理解,其中:
圖1是本發(fā)明一個(gè)實(shí)施例的表單數(shù)據(jù)更新方法的流程圖;
圖2是本發(fā)明一個(gè)實(shí)施例的表單數(shù)據(jù)更新方法的信令交互圖;
圖3是本發(fā)明另一個(gè)實(shí)施例的表單數(shù)據(jù)更新方法的信令交互圖;
圖4是本發(fā)明另一個(gè)實(shí)施例的表單數(shù)據(jù)更新方法的信令交互圖;
圖5是本發(fā)明一個(gè)實(shí)施例的表單數(shù)據(jù)更新裝置的結(jié)構(gòu)示意圖;
圖6是本發(fā)明一個(gè)實(shí)施例的計(jì)算機(jī)設(shè)備的結(jié)構(gòu)示意圖。
具體實(shí)施方式
下面詳細(xì)描述本發(fā)明的實(shí)施例,所述實(shí)施例的示例在附圖中示出,其中自始至終相同或類似的標(biāo)號(hào)表示相同或類似的元件或具有相同或類似功能的元件。下面通過參考附圖描述的實(shí)施例是示例性的,旨在用于解釋本發(fā)明,而不能理解為對(duì)本發(fā)明的限制。
具體的,本發(fā)明各實(shí)施例針對(duì)通過現(xiàn)有的電子表單數(shù)據(jù)更新方法,進(jìn)行數(shù)據(jù)更新時(shí),需要反復(fù)對(duì)后臺(tái)數(shù)據(jù)庫中各控件的算數(shù)運(yùn)算關(guān)系進(jìn)行遍歷,并從數(shù)據(jù)庫中讀取數(shù)據(jù),處理過程繁瑣、速度慢、性能消耗大、影響工作效率,且由于需要在數(shù)據(jù)庫中存儲(chǔ)大量的算數(shù)運(yùn)算關(guān)系數(shù)據(jù),這就對(duì)數(shù)據(jù)庫的存儲(chǔ)空間造成了很大浪費(fèi)的問題,提出一種表單數(shù)據(jù)更新方法。
本發(fā)明實(shí)施例提供的表單數(shù)據(jù)更新方法,可以在控件的屬性信息中擴(kuò)展控件之間的算數(shù)運(yùn)算關(guān)系,從而在某控件的數(shù)據(jù)值更新后,可以根據(jù)各控件的屬性信息,進(jìn)行表單數(shù)據(jù)的更新。由于算數(shù)運(yùn)算關(guān)系可以通過表單原碼實(shí)現(xiàn),無需在數(shù)據(jù)庫中存儲(chǔ)算數(shù)運(yùn)行關(guān)系到后臺(tái)數(shù)據(jù)庫,降低了數(shù)據(jù)庫的存儲(chǔ)量,且由于無需對(duì)表單控件進(jìn)行遍歷處理,極大的提高了表單數(shù)據(jù)的更新速度和工作效率,減少了系統(tǒng)的性能消耗。
下面參考附圖描述本發(fā)明實(shí)施例的表單數(shù)據(jù)更新方法、裝置及計(jì)算機(jī)設(shè)備。
圖1是本發(fā)明一個(gè)實(shí)施例的表單數(shù)據(jù)更新方法的流程圖。
如圖1所示,該表單數(shù)據(jù)更新方法包括:
步驟101,確定第一控件的數(shù)據(jù)更新信息。
具體的,本發(fā)明實(shí)施例提供的表單數(shù)據(jù)更新方法,可以被配置在任意終端中執(zhí)行。其中,終端可以是手機(jī)、筆記本電腦等。
具體的,步驟101可以包括:
通過事件監(jiān)聽函數(shù),確定第一控件的數(shù)據(jù)更新信息。
具體實(shí)現(xiàn)時(shí),可以通過事件監(jiān)聽函數(shù),監(jiān)聽各控件的數(shù)據(jù)值是否發(fā)生變化,若第一控件的數(shù)據(jù)值變化,則可以確定第一控件的數(shù)據(jù)更新信息。
其中,第一控件的數(shù)據(jù)更新信息中,可以包括第一控件更新后的數(shù)據(jù)值。
步驟102,基于數(shù)據(jù)更新信息,根據(jù)第一控件的屬性信息,和/或第二控件的屬性信息,進(jìn)行表單數(shù)據(jù)更新。
其中,第二控件為表單中除第一控件外的一個(gè)或多個(gè)控件,且第n控件的屬性信息中包含,第n控件的父控件標(biāo)識(shí)、和/或第n控件與第i控件的運(yùn)算關(guān)系,其中父控件是指其數(shù)據(jù)值由第n控件的數(shù)據(jù)值運(yùn)算得到的控件,n和i為大于0、不相等的正整數(shù)。
舉例來說,假設(shè)為每個(gè)控件設(shè)置一個(gè)屬性信息defaultvalue,并利用控件的標(biāo)識(shí)作為狀態(tài)碼,從而根據(jù)各控件之間的運(yùn)算關(guān)系,可以將某一控件生成的狀態(tài)碼放入另一控件對(duì)應(yīng)的屬性信息中。
比如,控件“房租”的標(biāo)識(shí)為“rent”,控件“水電”的標(biāo)識(shí)為“waterele”,控件“月房租”的標(biāo)識(shí)為“rentmon”,控件“總費(fèi)用”的標(biāo)識(shí)為“totalfee”,控件“總費(fèi)用”的數(shù)據(jù)值等于控件“房租”和控件“水電”各自的數(shù)據(jù)值之和,控件“房租”的數(shù)據(jù)值等于控件“月房租”的數(shù)據(jù)值乘以12。
則控件“總費(fèi)用”的defaultvalue可以為:defaultvalue=(totalfee=rent+waterele)。
控件“房租”的defaultvalue可以為:defaultvalue=(totalfee);或者也可以為:defaultvalue=(rent=rentmon*12);或者還可以為:defaultvalue=(rent=rentmon*12,totalfee);或者還可以為:defaultvalue=(totalfee=rent+waterele);或者還可以為:defaultvalue=(totalfee=rent+waterele,rent=rentmon*12)。其中,“totalfee”為“房租”的父控件,及“totalfee”對(duì)應(yīng)的數(shù)據(jù)值可以由“totalfee=rent+waterele”得到,“rent”對(duì)應(yīng)的數(shù)據(jù)值可以由“rent=rentmon*12”得到。
控件“月房租”的defaultvalue可以為:defaultvalue=(rent);或者也可以為:defaultvalue=(rent=rentmon*12)。其中,“rent”為“月房租”的父控件,及“rent”對(duì)應(yīng)的數(shù)據(jù)值可以由“rent=rentmon*12”得到。
控件“水電”的defaultvalue可以為:defaultvalue=(totalfee);或者也可以為:defaultvalue=(totalfee=rent+waterele)。其中,“totalfee”為“月房租”的父控件,及“totalfee”對(duì)應(yīng)的數(shù)據(jù)值可以由“totalfee=rent+waterele”得到。
需要說明的是,“房租”、“水電”、“月房租”分別的標(biāo)識(shí)“rent”、“waterele”、“rentmon”,可以直接包含在屬性信息中,也可以由屬性信息中的運(yùn)算關(guān)系確定,此處不作限制。
需要說明的是,第n控件的屬性信息中包括的,第n控件與第i控件的運(yùn)算關(guān)系,可以是開發(fā)人員預(yù)先設(shè)置的,也可以是用戶設(shè)置的,此處不作限制。
具體的,確定了第一控件的數(shù)據(jù)更新信息后,可以通過多種方式,進(jìn)行表單數(shù)據(jù)更新,下面以其中一種方式為例進(jìn)行說明。
具體實(shí)現(xiàn)時(shí),確定第一控件的數(shù)據(jù)更新信息后,第一控件可以向表單發(fā)送第一控件的數(shù)據(jù)更新信息,數(shù)據(jù)更新信息中包括第一控件的標(biāo)識(shí)及第一控件更新后的數(shù)據(jù)值。
表單接收到第一控件發(fā)送的數(shù)據(jù)更新信息后,可以將數(shù)據(jù)更新信息發(fā)送給第二控件。
第二控件接收到數(shù)據(jù)更新信息后,可以根據(jù)各自的屬性信息及第一控件的標(biāo)識(shí),判斷第二控件的屬性信息中是否包括第一控件的標(biāo)識(shí),若包括,則可以根據(jù)第一控件與第二控件的運(yùn)算關(guān)系,判斷第二控件是否為第一控件的父控件,若是,則可以確定第一控件的數(shù)據(jù)值發(fā)生變化時(shí),第二控件的數(shù)據(jù)值需要進(jìn)行更新。從而第二控件可以根據(jù)第一控件與第二控件的運(yùn)算關(guān)系,及第一控件更新后的數(shù)據(jù)值,確定第二控件更新后的數(shù)據(jù)值,以對(duì)第二控件的數(shù)據(jù)進(jìn)行更新。
具體的,對(duì)第二控件的數(shù)據(jù)進(jìn)行更新時(shí),可以通過自渲染邏輯實(shí)現(xiàn)。
需要說明的是,在本發(fā)明各實(shí)施例中,若第二控件的數(shù)據(jù)值僅是由第一控件的數(shù)據(jù)值得到的,那么,第二控件在獲取到表單發(fā)送的數(shù)據(jù)更新信息后,可以直接根據(jù)第一控件更新后的數(shù)據(jù)值及第一控件與第二控件的運(yùn)算關(guān)系,對(duì)第二控件的數(shù)據(jù)進(jìn)行更新。
若第二控件的數(shù)據(jù)值是由第一控件的數(shù)據(jù)值和其它控件的數(shù)據(jù)值共同得到的,那么,第二控件還可以向其它控件發(fā)送數(shù)據(jù)值獲取消息,以使其它控件將各自對(duì)應(yīng)的數(shù)據(jù)值發(fā)送給第二控件。從而第二控件可以根據(jù)第二控件和第一控件及其它控件之間的運(yùn)算關(guān)系、第一控件的標(biāo)識(shí)及更新后的數(shù)據(jù)值、其它控件各自的標(biāo)識(shí)及對(duì)應(yīng)的數(shù)據(jù)值,實(shí)現(xiàn)對(duì)第二控件的數(shù)據(jù)的更新。
或者,第二控件也可以從數(shù)據(jù)庫中獲取其它控件的數(shù)據(jù)值,從而實(shí)現(xiàn)對(duì)第二控件的數(shù)據(jù)的更新。
舉例來說,假設(shè)表單中包括控件“總費(fèi)用”、“水費(fèi)”、“電費(fèi)”、“房租費(fèi)”,“總費(fèi)用”的屬性信息中包括運(yùn)算關(guān)系:“總費(fèi)用”=“水費(fèi)”+“電費(fèi)”+“房租費(fèi)”,“水電”、“房租費(fèi)”各控件的屬性信息中均包括“總費(fèi)用”?!八M(fèi)”、“電費(fèi)”、“房租費(fèi)”、“總費(fèi)用”的初始數(shù)據(jù)值分別為:50、70、500、620。
當(dāng)“水費(fèi)”的數(shù)據(jù)值由50變?yōu)?0、“電費(fèi)”和“房租費(fèi)”的數(shù)據(jù)值不變時(shí),“水費(fèi)”可以向表單發(fā)送數(shù)據(jù)更新信息,數(shù)據(jù)更新信息中包括“水費(fèi)”的標(biāo)識(shí)及“水費(fèi)”更新后的數(shù)據(jù)值60,從而表單即可將該數(shù)據(jù)更新信息發(fā)送給“電費(fèi)”、“房租費(fèi)”、“總費(fèi)用”。
“電費(fèi)”、“房租費(fèi)”、“總費(fèi)用”分別收到表單發(fā)送的數(shù)據(jù)更新信息后,“總費(fèi)用”根據(jù)自己的屬性信息,確定其屬性信息中包括“水費(fèi)”的標(biāo)識(shí),從而“總費(fèi)用”可以根據(jù)“總費(fèi)用”=“水費(fèi)”+“電費(fèi)”+“房租費(fèi)”,從數(shù)據(jù)庫中獲取“電費(fèi)”對(duì)應(yīng)的數(shù)據(jù)值70、“房租費(fèi)”對(duì)應(yīng)的數(shù)據(jù)值500,并根據(jù)“水費(fèi)”、“電費(fèi)”、“房租費(fèi)”各自的標(biāo)識(shí)及對(duì)應(yīng)的數(shù)據(jù)值60、70、500,確定“總費(fèi)用”更新后的數(shù)據(jù)值630,從而將“總費(fèi)用”的數(shù)據(jù)更新為630。
而“房租費(fèi)”,根據(jù)自己的屬性信息,確定“水電”與自己無關(guān),則可以不對(duì)各自的數(shù)據(jù)進(jìn)行更新。
需要說明的是,第二控件獲取的其它控件的數(shù)據(jù)值,可以是分別根據(jù)其它控件的標(biāo)識(shí),從數(shù)據(jù)庫中獲取的其它控件的數(shù)據(jù)值;也可以是根據(jù)表單分別發(fā)送的其它控件對(duì)應(yīng)的更新信息,確定的其它數(shù)據(jù)值,此處不作限制。
本發(fā)明實(shí)施例提供的表單數(shù)據(jù)更新方法,由于在控件的屬性信息中擴(kuò)展的控件之間的運(yùn)算關(guān)系,可以通過表單原碼實(shí)現(xiàn),無需在數(shù)據(jù)庫中存儲(chǔ)算數(shù)運(yùn)行關(guān)系到后臺(tái)數(shù)據(jù)庫,因此降低了數(shù)據(jù)庫的存儲(chǔ)量。且由于在某控件的數(shù)據(jù)值更新后,各個(gè)控件即可根據(jù)數(shù)據(jù)更新信息及各控件的屬性信息,同步對(duì)表單數(shù)據(jù)進(jìn)行更新,因此極大的提高了表單數(shù)據(jù)的更新速度和工作效率,減少了系統(tǒng)的性能消耗。
通過上述分析可知,在確定第一控件的數(shù)據(jù)更新信息后,可以基于數(shù)據(jù)更新信息中包括的第一控件更新后的數(shù)據(jù)值及第一控件的標(biāo)識(shí),根據(jù)第一控件的屬性信息,和/或第二控件的屬性信息,進(jìn)行表單數(shù)據(jù)更新。下面結(jié)合圖2-4中的信令交互圖,對(duì)本發(fā)明實(shí)施例提供的表單數(shù)據(jù)更新方法,進(jìn)行進(jìn)一步說明。
圖2是本發(fā)明一個(gè)實(shí)施例的表單數(shù)據(jù)更新方法的信令交互圖。
如圖2所示,該方法包括:
步驟201,第一控件確定其數(shù)據(jù)更新信息,數(shù)據(jù)更新信息中包括第一控件更新后的數(shù)據(jù)值。
步驟202,第一控件根據(jù)其屬性信息,確定第三控件的標(biāo)識(shí),其中,第一控件的屬性信息中包括第三控件的標(biāo)識(shí)。
其中,第三控件指表單中除第一控件外的,其數(shù)據(jù)值可以根據(jù)第一控件的數(shù)據(jù)值得到的一個(gè)或多個(gè)控件。
步驟203,第一控件向第三控件的標(biāo)識(shí)對(duì)應(yīng)的第三控件,發(fā)送數(shù)據(jù)更新信息。
其中,數(shù)據(jù)更新信息中可以包括第一控件的標(biāo)識(shí)。
步驟204,第三控件根據(jù)其屬性信息,確定第一控件與第三控件的運(yùn)算關(guān)系。
步驟205,第三控件根據(jù)運(yùn)算關(guān)系及更新信息,對(duì)第三控件的數(shù)據(jù)進(jìn)行更新。
具體的,由于第一控件的屬性信息中,可以包括其父控件標(biāo)識(shí),因此,第一控件可以根據(jù)其屬性信息,確定表單中其數(shù)據(jù)值可以由第一控件的數(shù)據(jù)值得到的控件,即第三控件,并向第三控件發(fā)送包括第一控件更新后的數(shù)據(jù)值的數(shù)據(jù)更新信息。
第三控件接收到第一控件發(fā)送的數(shù)據(jù)更新信息后,可以根據(jù)第三控件的屬性信息,確定第一控件與第三控件的運(yùn)算關(guān)系,并根據(jù)運(yùn)算關(guān)系及第一控件更新后的數(shù)據(jù)值,確定第三控件更新后的數(shù)據(jù)值,以對(duì)第三控件的數(shù)據(jù)進(jìn)行更新。
需要說明的是,第三控件的數(shù)據(jù)值可能是僅由第一控件的數(shù)據(jù)值得到的,也可能是由第一控件的數(shù)據(jù)值和其它控件的數(shù)據(jù)值得到的。那么,當(dāng)?shù)谌丶臄?shù)據(jù)值是由第一控件的數(shù)據(jù)值和其它控件的數(shù)據(jù)值得到的時(shí),第三控件在獲取到第一控件發(fā)送的數(shù)據(jù)更新信息后,還需要獲取其它各控件的數(shù)據(jù)值。
其中,對(duì)于第三控件在獲取其它各控件的數(shù)據(jù)值的獲取過程,可以參照上述實(shí)施例的詳細(xì)描述,此處不再贅述。
舉例來說,假設(shè)表單中包括控件“總費(fèi)用”、“水費(fèi)”、“電費(fèi)”、“房租費(fèi)”,“總費(fèi)用”的屬性信息中包括運(yùn)算關(guān)系:“總費(fèi)用”=“水費(fèi)”+“電費(fèi)”+“房租費(fèi)”,“水費(fèi)”、“電費(fèi)”、“房租”各自的屬性信息中分別包括“總費(fèi)用”的標(biāo)識(shí)?!八M(fèi)”、“電費(fèi)”、“房租費(fèi)”、“總費(fèi)用”的初始數(shù)據(jù)值分別為:50、70、500、620。
當(dāng)“水費(fèi)”的數(shù)據(jù)值由50變?yōu)?0、“電費(fèi)”和“房租費(fèi)”的數(shù)據(jù)值不變時(shí),由于“總費(fèi)用”的數(shù)據(jù)值可以由“水費(fèi)”的數(shù)據(jù)值得到,則“水費(fèi)”可以根據(jù)其屬性信息,確定“總費(fèi)用”的標(biāo)識(shí),并向“總費(fèi)用”發(fā)送數(shù)據(jù)更新信息。數(shù)據(jù)更新信息中包括“水費(fèi)”的標(biāo)識(shí)及“水費(fèi)”更新后的數(shù)據(jù)值60。
“總費(fèi)用”收到“水費(fèi)”發(fā)送的數(shù)據(jù)更新信息后,可以根據(jù)自己的屬性信息,確定運(yùn)算關(guān)系:“總費(fèi)用”=“水費(fèi)”+“電費(fèi)”+“房租費(fèi)”,并從數(shù)據(jù)庫中獲取“電費(fèi)”對(duì)應(yīng)的數(shù)據(jù)值70、“房租費(fèi)”對(duì)應(yīng)的數(shù)據(jù)值500,并根據(jù)“水費(fèi)”的標(biāo)識(shí)及更新后的數(shù)據(jù)值60、“電費(fèi)”和“房租費(fèi)”分別對(duì)應(yīng)的標(biāo)識(shí)及數(shù)據(jù)值70和500,確定“總費(fèi)用”更新后的數(shù)據(jù)值為630,從而將“總費(fèi)用”的數(shù)據(jù)更新為630。
本發(fā)明實(shí)施例的表單數(shù)據(jù)更新方法,由于在控件的屬性信息中擴(kuò)展的控件之間的運(yùn)算關(guān)系,可以通過表單原碼實(shí)現(xiàn),無需在數(shù)據(jù)庫中存儲(chǔ)算數(shù)運(yùn)行關(guān)系到后臺(tái)數(shù)據(jù)庫,因此降低了數(shù)據(jù)庫的存儲(chǔ)量。且由于在某控件的數(shù)據(jù)值更新后,可以僅向其父控件發(fā)送數(shù)據(jù)更新信息,以使其各父控件根據(jù)數(shù)據(jù)更新信息及其屬性信息,同步對(duì)表單數(shù)據(jù)進(jìn)行更新,因此極大的提高了表單數(shù)據(jù)的更新速度和工作效率,減少了系統(tǒng)的性能消耗。
圖3是本發(fā)明另一個(gè)實(shí)施例的表單數(shù)據(jù)更新方法的信令交互圖。
如圖3所示,該表單數(shù)據(jù)更新方法,包括:
步驟301,第一控件確定其數(shù)據(jù)更新信息,數(shù)據(jù)更新信息中包括第一控件更新后的數(shù)據(jù)值。
步驟302,第一控件根據(jù)其屬性信息,確定第三控件的標(biāo)識(shí),其中,第一控件的屬性信息中,包括第一控件與第三控件的運(yùn)算關(guān)系。
其中,第三控件指表單中除第一控件外的,其數(shù)據(jù)值可以根據(jù)第一控件的數(shù)據(jù)值得到的一個(gè)或多個(gè)控件。
步驟303,第一控件根據(jù)第一控件與所述第三控件的運(yùn)算關(guān)系、及第一控件更新后的數(shù)據(jù)值,確定數(shù)據(jù)更新信息,數(shù)據(jù)更新信息中還包括第三控件更新后的數(shù)據(jù)值。
步驟304,第一控件向第三控件發(fā)送數(shù)據(jù)更新信息。
步驟305,第三控件根據(jù)第三控件更新后的數(shù)據(jù)值,對(duì)第三控件的數(shù)據(jù)進(jìn)行更新。
具體的,第一控件可以根據(jù)第一控件與第三控件的運(yùn)算關(guān)系,確定第三控件的標(biāo)識(shí),從而在根據(jù)第一控件與第三控件的運(yùn)算關(guān)系及第一控件更新后的數(shù)據(jù)值,確定第三控件更新后的數(shù)據(jù)值后,可以向第三控件發(fā)送數(shù)據(jù)更新信息。
第三控件接收到第一控件發(fā)送的數(shù)據(jù)更新信息后,即可根據(jù)數(shù)據(jù)更新信息中包括的第三控件更新后的數(shù)據(jù)值,對(duì)第三控件的數(shù)據(jù)進(jìn)行更新。
需要說明的是,第三控件的數(shù)據(jù)值可能是僅由第一控件的數(shù)據(jù)值得到的,也可能是由第一控件的數(shù)據(jù)值和其它控件的數(shù)據(jù)值得到的。那么,當(dāng)?shù)谌丶臄?shù)據(jù)值是由第一控件的數(shù)據(jù)值和其它控件的數(shù)據(jù)值得到的時(shí),第三控件在獲取到第一控件發(fā)送的數(shù)據(jù)更新信息后,還需要獲取其它各控件的數(shù)據(jù)值。
其中,對(duì)于第三控件在獲取其它各控件的數(shù)據(jù)值的獲取過程,可以參照上述實(shí)施例的詳細(xì)描述,此處不再贅述。
舉例來說,假設(shè)表單中包括控件“總費(fèi)用”、“水費(fèi)”、“電費(fèi)”、“房租費(fèi)”,“水費(fèi)”、“電費(fèi)”、“房租費(fèi)”各自的屬性信息中分別包括運(yùn)算關(guān)系:“總費(fèi)用”=“水費(fèi)”+“電費(fèi)”+“房租費(fèi)”?!八M(fèi)”、“電費(fèi)”、“房租費(fèi)”、“總費(fèi)用”的初始數(shù)據(jù)值分別為:50、70、500、620。
當(dāng)“水費(fèi)”的數(shù)據(jù)值由50變?yōu)?0、“電費(fèi)”和“房租費(fèi)”的數(shù)據(jù)值不變時(shí),由于“總費(fèi)用”的數(shù)據(jù)值可以由“水費(fèi)”的數(shù)據(jù)值得到,則“水費(fèi)”可以根據(jù)其屬性信息,確定“總費(fèi)用”的標(biāo)識(shí)。并根據(jù)運(yùn)算關(guān)系“總費(fèi)用”=“水費(fèi)”+“電費(fèi)”+“房租費(fèi)”,從數(shù)據(jù)庫中獲取“電費(fèi)”對(duì)應(yīng)的數(shù)據(jù)值70、“房租費(fèi)”對(duì)應(yīng)的數(shù)據(jù)值500,進(jìn)而根據(jù)運(yùn)算關(guān)系、“水費(fèi)”的標(biāo)識(shí)及更新后的數(shù)據(jù)值60、“電費(fèi)”和“房租費(fèi)”各自的標(biāo)識(shí)及對(duì)應(yīng)的數(shù)據(jù)值,確定“總費(fèi)用”更新后的數(shù)據(jù)值630?!八M(fèi)”確定了“總費(fèi)用”更新后的數(shù)據(jù)值630后,即可向“總費(fèi)用”發(fā)送數(shù)據(jù)更新信息。
“總費(fèi)用”接收到“水費(fèi)”發(fā)送的數(shù)據(jù)更新信息后,即可根據(jù)數(shù)據(jù)更新信息中包括的“總費(fèi)用”更新后的數(shù)據(jù)值630,將“總費(fèi)用”的數(shù)據(jù)更新為630。
本發(fā)明實(shí)施例提供的表單數(shù)據(jù)更新方法,由于在控件的屬性信息中擴(kuò)展的控件之間的運(yùn)算關(guān)系,可以通過表單原碼實(shí)現(xiàn),無需在數(shù)據(jù)庫中存儲(chǔ)算數(shù)運(yùn)行關(guān)系到后臺(tái)數(shù)據(jù)庫,因此降低了數(shù)據(jù)庫的存儲(chǔ)量。且由于在某控件的數(shù)據(jù)值更新后,該控件可以根據(jù)其屬性信息及數(shù)據(jù)更新信息,確定其各父控件分別更新后的數(shù)據(jù)值,從而僅向其父控件發(fā)送數(shù)據(jù)更新信息,以使其各父控件根據(jù)數(shù)據(jù)更新信息,同步對(duì)表單數(shù)據(jù)進(jìn)行更新,因此極大的提高了表單數(shù)據(jù)的更新速度和工作效率,減少了系統(tǒng)的性能消耗。
圖4是本發(fā)明另一個(gè)實(shí)施例的表單數(shù)據(jù)更新方法的信令交互圖。
如圖4所示,該表單數(shù)據(jù)更新方法,包括:
步驟401,第一控件確定其數(shù)據(jù)更新信息,數(shù)據(jù)更新信息中包括第一控件更新后的數(shù)據(jù)值。
步驟402,第一控件向表單發(fā)送數(shù)據(jù)更新信息,數(shù)據(jù)更新信息中還包括第一控件的標(biāo)識(shí)。
步驟403,表單分別向第二控件a和第二控件b發(fā)送數(shù)據(jù)更新信息。
步驟404,第二控件a確定第二控件a的屬性信息中包括第一控件的標(biāo)識(shí)。
步驟405,第二控件a根據(jù)其屬性信息中的第一控件與第二控件a的運(yùn)算關(guān)系,對(duì)第二控件a的數(shù)據(jù)進(jìn)行更新。
步驟406,第二控件b確定第二控件b的屬性信息中未包括第一控件的標(biāo)識(shí)。
步驟407,結(jié)束。
其中,步驟401-步驟407的具體實(shí)現(xiàn)過程及原理,可以參照上述實(shí)施例一的詳細(xì)描述,此處不再贅述。
本發(fā)明實(shí)施例提供的表單數(shù)據(jù)更新方法,由于在控件的屬性信息中擴(kuò)展的控件之間的運(yùn)算關(guān)系,可以通過表單原碼實(shí)現(xiàn),無需在數(shù)據(jù)庫中存儲(chǔ)算數(shù)運(yùn)行關(guān)系到后臺(tái)數(shù)據(jù)庫,因此降低了數(shù)據(jù)庫的存儲(chǔ)量。且由于在某控件的數(shù)據(jù)值更新后,各個(gè)控件即可根據(jù)數(shù)據(jù)更新信息及各控件的屬性信息,同步對(duì)表單數(shù)據(jù)進(jìn)行更新,因此極大的提高了表單數(shù)據(jù)的更新速度和工作效率,減少了系統(tǒng)的性能消耗。
圖5是本發(fā)明一個(gè)實(shí)施例的表單數(shù)據(jù)更新裝置的結(jié)構(gòu)示意圖。
如圖5所示,該表單數(shù)據(jù)更新裝置,包括:
確定模塊51,用于確定第一控件的數(shù)據(jù)更新信息;
更新模塊52,用于基于所述數(shù)據(jù)更新信息,根據(jù)所述第一控件的屬性信息,和/或第二控件的屬性信息,進(jìn)行表單數(shù)據(jù)更新,其中,所述第二控件為表單中除所述第一控件外的一個(gè)或多個(gè)控件,且第n控件的屬性信息中包含,第n控件的父控件標(biāo)識(shí)、和/或第n控件與第i控件的運(yùn)算關(guān)系,其中父控件是指其數(shù)據(jù)值由第n控件的數(shù)據(jù)值運(yùn)算得到的控件,n和i為大于0、不相等的正整數(shù)。
具體的,本實(shí)施例提供的表單數(shù)據(jù)更新裝置,可以被配置在任意終端中,以執(zhí)行本發(fā)明實(shí)施例提供的表單數(shù)據(jù)更新方法。其中,終端可以是手機(jī)、電腦等。
在本發(fā)明實(shí)施例一種可能的實(shí)現(xiàn)形式中,上述裝置應(yīng)用于所述第一控件時(shí);
所述更新模塊52,具體用于:
根據(jù)所述第一控件的屬性信息,確定第三控件的標(biāo)識(shí),其中,所述第一控件的屬性信息中包括所述第三控件的標(biāo)識(shí);
向所述第三控件的標(biāo)識(shí)對(duì)應(yīng)的第三控件,發(fā)送數(shù)據(jù)更新信息,以使所述第三控件根據(jù)所述數(shù)據(jù)更新信息進(jìn)行數(shù)據(jù)更新,所述數(shù)據(jù)更新信息中包括所述第一控件的標(biāo)識(shí)。
在本發(fā)明實(shí)施例另一種可能的實(shí)現(xiàn)形式中,上述裝置應(yīng)用于所述第一控件時(shí);
所述更新模塊52,還用于:
根據(jù)所述第一控件的屬性信息,確定第三控件的標(biāo)識(shí),其中,所述第一控件的屬性信息中,包括所述第一控件與所述第三控件的運(yùn)算關(guān)系;
所述第一控件根據(jù)所述第一控件與所述第三控件的運(yùn)算關(guān)系、及第一控件更新后的數(shù)據(jù)值,確定所述數(shù)據(jù)更新信息,所述數(shù)據(jù)更新信息中包括第三控件更新后的數(shù)據(jù)值;
所述第一控件向所述第三控件的標(biāo)識(shí)對(duì)應(yīng)的第三控件,發(fā)送所述數(shù)據(jù)更新信息,以使所述第三控件根據(jù)所述數(shù)據(jù)更新信息進(jìn)行數(shù)據(jù)更新。
在本發(fā)明實(shí)施例另一種可能的實(shí)現(xiàn)形式中,上述裝置應(yīng)用于所述第一控件時(shí);
所述更新模塊52,還用于:
向所述表單發(fā)送數(shù)據(jù)更新信息,以使所述表單將所述數(shù)據(jù)更新信息發(fā)送給所述第二控件,以使所述第二控件分別根據(jù)各自的屬性信息及所述數(shù)據(jù)更新信息進(jìn)行數(shù)據(jù)更新,所述數(shù)據(jù)更新信息中包括所述第一控件的標(biāo)識(shí)。
在本發(fā)明實(shí)施例另一種可能的實(shí)現(xiàn)形式中,上述確定模塊51,具體用于:
通過事件監(jiān)聽函數(shù),確定所述第一控件的數(shù)據(jù)更新信息。
在本發(fā)明實(shí)施例另一種可能的實(shí)現(xiàn)形式中,上述裝置應(yīng)用于表單時(shí),
所述確定模塊51,具體用于:
接收所述第一控件發(fā)送的數(shù)據(jù)更新信息,所述數(shù)據(jù)更新信息中包括所述第一控件的標(biāo)識(shí);
所述更新模塊52,具體用于:
向所述第二控件,發(fā)送所述數(shù)據(jù)更新信息,以使所述第二控件分別根據(jù)各自的屬性信息及所述數(shù)據(jù)更新信息進(jìn)行數(shù)據(jù)更新。
在本發(fā)明實(shí)施例另一種可能的實(shí)現(xiàn)形式中,上述裝置應(yīng)用于第三控件時(shí);
所述確定模塊51,具體用于:
接收所述第一控件發(fā)送的數(shù)據(jù)更新信息,所述數(shù)據(jù)更新信息中包括所述第一控件的標(biāo)識(shí);
所述更新模塊52,具體用于:
根據(jù)所述第三控件的屬性信息,確定所述第一控件與所述第三控件的運(yùn)算關(guān)系;
根據(jù)所述運(yùn)算關(guān)系及所述更新信息,對(duì)所述第三控件的數(shù)據(jù)進(jìn)行更新。
在本發(fā)明實(shí)施例另一種可能的實(shí)現(xiàn)形式中,上述裝置應(yīng)用于第三控件時(shí);
所述確定模塊51,還用于:
接收所述第一控件發(fā)送的數(shù)據(jù)更新信息,所述數(shù)據(jù)更新信息中包括所述第三控件更新后的數(shù)據(jù)值;
所述更新模塊52,還用于:
根據(jù)所述第三控件更新后的數(shù)據(jù)值,對(duì)所述第三控件的數(shù)據(jù)進(jìn)行更新。
在本發(fā)明實(shí)施例另一種可能的實(shí)現(xiàn)形式中,上述裝置應(yīng)用于第二控件時(shí);
所述確定模塊51,具體用于:
接收所述表單發(fā)送的數(shù)據(jù)更新信息,所述數(shù)據(jù)更新信息中包括所述第一控件的標(biāo)識(shí);
所述更新模塊52,具體用于:
判斷所述第二控件的屬性信息中是否包括所述第一控件的標(biāo)識(shí);
若包括,則根據(jù)所述第二控件的屬性信息中的第一控件與所述第二控件的運(yùn)算關(guān)系,對(duì)所述第二控件的數(shù)據(jù)進(jìn)行更新。
需要說明的是,前述對(duì)表單數(shù)據(jù)更新方法實(shí)施例的解釋說明也適用于該實(shí)施例的表單數(shù)據(jù)更新裝置,此處不再贅述。
本發(fā)明實(shí)施例的表單數(shù)據(jù)更新裝置,由于在控件的屬性信息中擴(kuò)展的控件之間的運(yùn)算關(guān)系,可以通過表單原碼實(shí)現(xiàn),無需在數(shù)據(jù)庫中存儲(chǔ)算數(shù)運(yùn)行關(guān)系到后臺(tái)數(shù)據(jù)庫,因此降低了數(shù)據(jù)庫的存儲(chǔ)量。且由于在某控件的數(shù)據(jù)值更新后,各個(gè)控件即可根據(jù)數(shù)據(jù)更新信息及各控件的屬性信息,同步對(duì)表單數(shù)據(jù)進(jìn)行更新,因此極大的提高了表單數(shù)據(jù)的更新速度和工作效率,減少了系統(tǒng)的性能消耗。
為達(dá)上述目的,本發(fā)明實(shí)施例提出了一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其上存儲(chǔ)有計(jì)算機(jī)程序,該程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)如上述實(shí)施例中所示的表單數(shù)據(jù)更新方法。
本發(fā)明實(shí)施例的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),可設(shè)置在需要進(jìn)行表單數(shù)據(jù)更新的設(shè)備中,在設(shè)備進(jìn)行表單數(shù)據(jù)更新時(shí),通過執(zhí)行其上存儲(chǔ)的表單數(shù)據(jù)更新方法,能夠?qū)崿F(xiàn)表單中數(shù)據(jù)的更新。由于在控件的屬性信息中擴(kuò)展的控件之間的運(yùn)算關(guān)系,可以通過表單原碼實(shí)現(xiàn),無需在數(shù)據(jù)庫中存儲(chǔ)算數(shù)運(yùn)行關(guān)系到后臺(tái)數(shù)據(jù)庫,因此降低了數(shù)據(jù)庫的存儲(chǔ)量。且由于在某控件的數(shù)據(jù)值更新后,各個(gè)控件即可根據(jù)數(shù)據(jù)更新信息及各控件的屬性信息,同步對(duì)表單數(shù)據(jù)進(jìn)行更新,因此極大的提高了表單數(shù)據(jù)的更新速度和工作效率,減少了系統(tǒng)的性能消耗。
為達(dá)上述目的,本發(fā)明實(shí)施例提出了一種計(jì)算機(jī)程序產(chǎn)品,當(dāng)所述計(jì)算機(jī)程序產(chǎn)品中的指令處理器執(zhí)行時(shí),執(zhí)行如上述實(shí)施例中所示的表單數(shù)據(jù)更新方法。
本發(fā)明實(shí)施例的計(jì)算機(jī)程序產(chǎn)品,可寫入需要進(jìn)行表單數(shù)據(jù)更新的設(shè)備中,在設(shè)備進(jìn)行表單數(shù)據(jù)更新時(shí),通過執(zhí)行對(duì)應(yīng)表單數(shù)據(jù)更新方法的程序,能夠?qū)崿F(xiàn)表單中數(shù)據(jù)的更新。由于在控件的屬性信息中擴(kuò)展的控件之間的運(yùn)算關(guān)系,可以通過表單原碼實(shí)現(xiàn),無需在數(shù)據(jù)庫中存儲(chǔ)算數(shù)運(yùn)行關(guān)系到后臺(tái)數(shù)據(jù)庫,因此降低了數(shù)據(jù)庫的存儲(chǔ)量。且由于在某控件的數(shù)據(jù)值更新后,各個(gè)控件即可根據(jù)數(shù)據(jù)更新信息及各控件的屬性信息,同步對(duì)表單數(shù)據(jù)進(jìn)行更新,因此極大的提高了表單數(shù)據(jù)的更新速度和工作效率,減少了系統(tǒng)的性能消耗。
為了實(shí)現(xiàn)上述實(shí)施例,本發(fā)明還提出一種計(jì)算機(jī)設(shè)備,包括存儲(chǔ)器、處理器及存儲(chǔ)在存儲(chǔ)器上并可在處理器上運(yùn)行的計(jì)算機(jī)程序,所述處理器執(zhí)行所述程序時(shí),實(shí)現(xiàn)如第一方面實(shí)施例所述的表單數(shù)據(jù)更新方法。
圖6示出了適于用來實(shí)現(xiàn)本申請(qǐng)實(shí)施方式的示例性計(jì)算機(jī)設(shè)備的框圖。圖6顯示的計(jì)算機(jī)設(shè)備12僅僅是一個(gè)示例,不應(yīng)對(duì)本申請(qǐng)實(shí)施例的功能和使用范圍帶來任何限制。
如圖6所示,計(jì)算機(jī)設(shè)備12以通用計(jì)算設(shè)備的形式表現(xiàn)。計(jì)算機(jī)設(shè)備12的組件可以包括但不限于:一個(gè)或者多個(gè)處理器或者處理單元16,系統(tǒng)存儲(chǔ)器28,連接不同系統(tǒng)組件(包括系統(tǒng)存儲(chǔ)器28和處理單元16)的總線18。
總線18表示幾類總線結(jié)構(gòu)中的一種或多種,包括存儲(chǔ)器總線或者存儲(chǔ)器控制器,外圍總線,圖形加速端口,處理器或者使用多種總線結(jié)構(gòu)中的任意總線結(jié)構(gòu)的局域總線。舉例來說,這些體系結(jié)構(gòu)包括但不限于工業(yè)標(biāo)準(zhǔn)體系結(jié)構(gòu)(industrystandardarchitecture;以下簡稱:isa)總線,微通道體系結(jié)構(gòu)(microchannelarchitecture;以下簡稱:mca)總線,增強(qiáng)型isa總線、視頻電子標(biāo)準(zhǔn)協(xié)會(huì)(videoelectronicsstandardsassociation;以下簡稱:vesa)局域總線以及外圍組件互連(peripheralcomponentinterconnection;以下簡稱:pci)總線。
計(jì)算機(jī)設(shè)備12典型地包括多種計(jì)算機(jī)系統(tǒng)可讀介質(zhì)。這些介質(zhì)可以是任何能夠被計(jì)算機(jī)設(shè)備12訪問的可用介質(zhì),包括易失性和非易失性介質(zhì),可移動(dòng)的和不可移動(dòng)的介質(zhì)。
存儲(chǔ)器28可以包括易失性存儲(chǔ)器形式的計(jì)算機(jī)系統(tǒng)可讀介質(zhì),例如隨機(jī)存取存儲(chǔ)器(randomaccessmemory;以下簡稱:ram)30和/或高速緩存存儲(chǔ)器32。計(jì)算機(jī)設(shè)備12可以進(jìn)一步包括其它可移動(dòng)/不可移動(dòng)的、易失性/非易失性計(jì)算機(jī)系統(tǒng)存儲(chǔ)介質(zhì)。僅作為舉例,存儲(chǔ)系統(tǒng)34可以用于讀寫不可移動(dòng)的、非易失性磁介質(zhì)(圖6未顯示,通常稱為“硬盤驅(qū)動(dòng)器”)。盡管圖6中未示出,可以提供用于對(duì)可移動(dòng)非易失性磁盤(例如“軟盤”)讀寫的磁盤驅(qū)動(dòng)器,以及對(duì)可移動(dòng)非易失性光盤(例如:光盤只讀存儲(chǔ)器(compactdiscreadonlymemory;以下簡稱:cd-rom)、數(shù)字多功能只讀光盤(digitalvideodiscreadonlymemory;以下簡稱:dvd-rom)或者其它光介質(zhì))讀寫的光盤驅(qū)動(dòng)器。在這些情況下,每個(gè)驅(qū)動(dòng)器可以通過一個(gè)或者多個(gè)數(shù)據(jù)介質(zhì)接口與總線18相連。存儲(chǔ)器28可以包括至少一個(gè)程序產(chǎn)品,該程序產(chǎn)品具有一組(例如至少一個(gè))程序模塊,這些程序模塊被配置以執(zhí)行本申請(qǐng)各實(shí)施例的功能。
具有一組(至少一個(gè))程序模塊42的程序/實(shí)用工具40,可以存儲(chǔ)在例如存儲(chǔ)器28中,這樣的程序模塊42包括但不限于操作系統(tǒng)、一個(gè)或者多個(gè)應(yīng)用程序、其它程序模塊以及程序數(shù)據(jù),這些示例中的每一個(gè)或某種組合中可能包括網(wǎng)絡(luò)環(huán)境的實(shí)現(xiàn)。程序模塊42通常執(zhí)行本申請(qǐng)所描述的實(shí)施例中的功能和/或方法。
計(jì)算機(jī)設(shè)備12也可以與一個(gè)或多個(gè)外部設(shè)備14(例如鍵盤、指向設(shè)備、顯示器24等)通信,還可與一個(gè)或者多個(gè)使得用戶能與該計(jì)算機(jī)設(shè)備12交互的設(shè)備通信,和/或與使得該計(jì)算機(jī)設(shè)備12能與一個(gè)或多個(gè)其它計(jì)算設(shè)備進(jìn)行通信的任何設(shè)備(例如網(wǎng)卡,調(diào)制解調(diào)器等等)通信。這種通信可以通過輸入/輸出(i/o)接口22進(jìn)行。并且,計(jì)算機(jī)設(shè)備12還可以通過網(wǎng)絡(luò)適配器20與一個(gè)或者多個(gè)網(wǎng)絡(luò)(例如局域網(wǎng)(localareanetwork;以下簡稱:lan),廣域網(wǎng)(wideareanetwork;以下簡稱:wan)和/或公共網(wǎng)絡(luò),例如因特網(wǎng))通信。如圖所示,網(wǎng)絡(luò)適配器20通過總線18與計(jì)算機(jī)設(shè)備12的其它模塊通信。應(yīng)當(dāng)明白,盡管圖中未示出,可以結(jié)合計(jì)算機(jī)設(shè)備12使用其它硬件和/或軟件模塊,包括但不限于:微代碼、設(shè)備驅(qū)動(dòng)器、冗余處理單元、外部磁盤驅(qū)動(dòng)陣列、raid系統(tǒng)、磁帶驅(qū)動(dòng)器以及數(shù)據(jù)備份存儲(chǔ)系統(tǒng)等。
處理單元16通過運(yùn)行存儲(chǔ)在系統(tǒng)存儲(chǔ)器28中的程序,從而執(zhí)行各種功能應(yīng)用以及數(shù)據(jù)處理,例如實(shí)現(xiàn)前述實(shí)施例中提及的表單數(shù)據(jù)更新方法。
在本說明書的描述中,參考術(shù)語“一個(gè)實(shí)施例”、“一些實(shí)施例”、“示例”、“具體示例”、或“一些示例”等的描述意指結(jié)合該實(shí)施例或示例描述的具體特征、結(jié)構(gòu)、材料或者特點(diǎn)包含于本發(fā)明的至少一個(gè)實(shí)施例或示例中。在本說明書中,對(duì)上述術(shù)語的示意性表述不必須針對(duì)的是相同的實(shí)施例或示例。而且,描述的具體特征、結(jié)構(gòu)、材料或者特點(diǎn)可以在任一個(gè)或多個(gè)實(shí)施例或示例中以合適的方式結(jié)合。此外,在不相互矛盾的情況下,本領(lǐng)域的技術(shù)人員可以將本說明書中描述的不同實(shí)施例或示例以及不同實(shí)施例或示例的特征進(jìn)行結(jié)合和組合。
此外,術(shù)語“第一”、“第二”僅用于描述目的,而不能理解為指示或暗示相對(duì)重要性或者隱含指明所指示的技術(shù)特征的數(shù)量。由此,限定有“第一”、“第二”的特征可以明示或者隱含地包括至少一個(gè)該特征。在本發(fā)明的描述中,“多個(gè)”的含義是至少兩個(gè),例如兩個(gè),三個(gè)等,除非另有明確具體的限定。
流程圖中或在此以其他方式描述的任何過程或方法描述可以被理解為,表示包括一個(gè)或更多個(gè)用于實(shí)現(xiàn)定制邏輯功能或過程的步驟的可執(zhí)行指令的代碼的模塊、片段或部分,并且本發(fā)明的優(yōu)選實(shí)施方式的范圍包括另外的實(shí)現(xiàn),其中可以不按所示出或討論的順序,包括根據(jù)所涉及的功能按基本同時(shí)的方式或按相反的順序,來執(zhí)行功能,這應(yīng)被本發(fā)明的實(shí)施例所屬技術(shù)領(lǐng)域的技術(shù)人員所理解。
在流程圖中表示或在此以其他方式描述的邏輯和/或步驟,例如,可以被認(rèn)為是用于實(shí)現(xiàn)邏輯功能的可執(zhí)行指令的定序列表,可以具體實(shí)現(xiàn)在任何計(jì)算機(jī)可讀介質(zhì)中,以供指令執(zhí)行系統(tǒng)、裝置或設(shè)備(如基于計(jì)算機(jī)的系統(tǒng)、包括處理器的系統(tǒng)或其他可以從指令執(zhí)行系統(tǒng)、裝置或設(shè)備取指令并執(zhí)行指令的系統(tǒng))使用,或結(jié)合這些指令執(zhí)行系統(tǒng)、裝置或設(shè)備而使用。就本說明書而言,"計(jì)算機(jī)可讀介質(zhì)"可以是任何可以包含、存儲(chǔ)、通信、傳播或傳輸程序以供指令執(zhí)行系統(tǒng)、裝置或設(shè)備或結(jié)合這些指令執(zhí)行系統(tǒng)、裝置或設(shè)備而使用的裝置。計(jì)算機(jī)可讀介質(zhì)的更具體的示例(非窮盡性列表)包括以下:具有一個(gè)或多個(gè)布線的電連接部(電子裝置),便攜式計(jì)算機(jī)盤盒(磁裝置),隨機(jī)存取存儲(chǔ)器(ram),只讀存儲(chǔ)器(rom),可擦除可編輯只讀存儲(chǔ)器(eprom或閃速存儲(chǔ)器),光纖裝置,以及便攜式光盤只讀存儲(chǔ)器(cdrom)。另外,計(jì)算機(jī)可讀介質(zhì)甚至可以是可在其上打印所述程序的紙或其他合適的介質(zhì),因?yàn)榭梢岳缤ㄟ^對(duì)紙或其他介質(zhì)進(jìn)行光學(xué)掃描,接著進(jìn)行編輯、解譯或必要時(shí)以其他合適方式進(jìn)行處理來以電子方式獲得所述程序,然后將其存儲(chǔ)在計(jì)算機(jī)存儲(chǔ)器中。
應(yīng)當(dāng)理解,本發(fā)明的各部分可以用硬件、軟件、固件或它們的組合來實(shí)現(xiàn)。在上述實(shí)施方式中,多個(gè)步驟或方法可以用存儲(chǔ)在存儲(chǔ)器中且由合適的指令執(zhí)行系統(tǒng)執(zhí)行的軟件或固件來實(shí)現(xiàn)。例如,如果用硬件來實(shí)現(xiàn),和在另一實(shí)施方式中一樣,可用本領(lǐng)域公知的下列技術(shù)中的任一項(xiàng)或他們的組合來實(shí)現(xiàn):具有用于對(duì)數(shù)據(jù)信號(hào)實(shí)現(xiàn)邏輯功能的邏輯門電路的離散邏輯電路,具有合適的組合邏輯門電路的專用集成電路,可編程門陣列(pga),現(xiàn)場可編程門陣列(fpga)等。
本技術(shù)領(lǐng)域的普通技術(shù)人員可以理解實(shí)現(xiàn)上述實(shí)施例方法攜帶的全部或部分步驟是可以通過程序來指令相關(guān)的硬件完成,所述的程序可以存儲(chǔ)于一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中,該程序在執(zhí)行時(shí),包括方法實(shí)施例的步驟之一或其組合。
此外,在本發(fā)明各個(gè)實(shí)施例中的各功能單元可以集成在一個(gè)處理模塊中,也可以是各個(gè)單元單獨(dú)物理存在,也可以兩個(gè)或兩個(gè)以上單元集成在一個(gè)模塊中。上述集成的模塊既可以采用硬件的形式實(shí)現(xiàn),也可以采用軟件功能模塊的形式實(shí)現(xiàn)。所述集成的模塊如果以軟件功能模塊的形式實(shí)現(xiàn)并作為獨(dú)立的產(chǎn)品銷售或使用時(shí),也可以存儲(chǔ)在一個(gè)計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中。
上述提到的存儲(chǔ)介質(zhì)可以是只讀存儲(chǔ)器,磁盤或光盤等。盡管上面已經(jīng)示出和描述了本發(fā)明的實(shí)施例,可以理解的是,上述實(shí)施例是示例性的,不能理解為對(duì)本發(fā)明的限制,本領(lǐng)域的普通技術(shù)人員在本發(fā)明的范圍內(nèi)可以對(duì)上述實(shí)施例進(jìn)行變化、修改、替換和變型。