公用方法Store

2021-07-04 09:25:46 字數 1497 閱讀 8256

一、頁面有太多的store

使用ext中,combo下拉框是常用的元素,一般情況下,每個combo都對應有store為其載入下拉資料。

如果這些store都顯示地宣告、定義在用例的js指令碼中,這樣指令碼顯得有點亂。

一般情況下,store需要載入的下拉資料都存放在資料庫共同的字典表中,store需要通過後台方法取得字典資料轉換為record。

可見,combo的store所要做的動作都基本一致,所以看到有人寫乙個生成store的公用方法,我覺得這樣做挺好的,既規範了取字典下拉資料的流程(避免每個開發人員各寫一套),也避免了乙個頁面宣告十幾個store,令指令碼非常臃腫。

二、公用方法返回store

此方法返回乙個store,此store已指定對應的後台方法取得下拉資料,只需開發人員傳入下拉字典的code就行。

/*

* * 下拉框資料來源,從公用字典表取數

* @param {} code 字典編碼(data_code)

* @return {} 字典項store */

ext.ui.diccomboxstore = function

(code) ),

reader :

newext.data.jsonreader(),

autoload :

}});

}

如果需要使用store的callback函式(即保證store已成功載入完資料),就重新呼叫一次load方法,這樣store重新從資料來源獲取資料。這樣做的話,這個store就需要載入兩次,如果資料量很小倒無所謂,如果資料較大就不好了,這樣做還有個不好的地方,就是如果reload方法和load方法幾乎同時執行,而且重疊了,出現了覆蓋的情況,會導致load的callback不呼叫(我有一次用這樣的方法構造store,然後再onready方法中執行load方法,結果該callbak函式偶爾不呼叫)。

三、公用方法返回不自動執行的store

在頁面中經常碰到store未載入完成就使用setvalue方法為其設定值,由於store尚未載入完,故無法自動轉換顯示字面值。這時,我們需要乙個還沒有load的store,因為我們需要callback函式。

/*

* * 下拉框資料來源,從公用字典表取數

* @param {} code 字典編碼(data_code)

* @param {} autoloadflag 是否自動load

* @return {} */

ext.ui.diccomboxstore = function

(code, autoloadflag) ),

reader :

newext.data.jsonreader(),

listeners : }},

autoload : (autoloadflag === false ? false : true

) })

};

Ext中使用提取的公用Store

一 頁面有太多的store 使用ext中,combo下拉框是常用的元素,一般情況下,每個combo都對應有store為其載入下拉資料。如果這些store都顯示地宣告 定義在用例的js指令碼中,這樣指令碼顯得有點亂。一般情況下,store需要載入的下拉資料都存放在資料庫共同的字典表中,store需要通...

Ext中使用提取的公用Store

一 頁面有太多的store 使用ext中,combo下拉框是常用的元素,一般情況下,每個combo都對應有store為其載入下拉資料。如果這些store都顯示地宣告 定義在用例的js指令碼中,這樣指令碼顯得有點亂。一般情況下,store需要載入的下拉資料都存放在資料庫共同的字典表中,store需要通...

C 報表公用方法

using system namespace zxreport public static string blankstring int len 獲得日期時間 public static datetime getdatetime string str 得到當前月的第一天 public static ...