最新文章專題視頻專題問答1問答10問答100問答1000問答2000關(guān)鍵字專題1關(guān)鍵字專題50關(guān)鍵字專題500關(guān)鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關(guān)鍵字專題關(guān)鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
當前位置: 首頁 - 科技 - 知識百科 - 正文

深入淺析Extjs中store分組功能的使用方法_javascript技巧

來源:懂視網(wǎng) 責編:小采 時間:2020-11-27 20:53:40
文檔

深入淺析Extjs中store分組功能的使用方法_javascript技巧

深入淺析Extjs中store分組功能的使用方法_javascript技巧:在項目實踐的過程中,遇到需要將grid中數(shù)據(jù)根據(jù)某一字段分組的要求,當然,這個功能在api中有,在此列出來以供大家查找: 兩點需要注意的地方: 1、在創(chuàng)建store時,需要設(shè)置groupField屬性的值,即為需要分組的值 for example: JavaScript代碼
推薦度:
導(dǎo)讀深入淺析Extjs中store分組功能的使用方法_javascript技巧:在項目實踐的過程中,遇到需要將grid中數(shù)據(jù)根據(jù)某一字段分組的要求,當然,這個功能在api中有,在此列出來以供大家查找: 兩點需要注意的地方: 1、在創(chuàng)建store時,需要設(shè)置groupField屬性的值,即為需要分組的值 for example: JavaScript代碼
在項目實踐的過程中,遇到需要將grid中數(shù)據(jù)根據(jù)某一字段分組的要求,當然,這個功能在api中有,在此列出來以供大家查找:

兩點需要注意的地方:

1、在創(chuàng)建store時,需要設(shè)置groupField屬性的值,即為需要分組的值

for example:

JavaScript代碼

在這個數(shù)據(jù)模型中,我們需要以性別(sex)分組,那么請看下面的store

JavaScript代碼

接下來,我們需要定義分組顯示的tpl

JavaScript代碼

在gridPanel中,代碼如下:配置features為上述定義的groupingFeature

JavaScript代碼

效果圖如下:

當然實現(xiàn)分組后,在gridPanel中sex這一列就可以不用顯示。

需要注意的是store中的數(shù)據(jù)如果在變化的時候,分組是不是也可以正常顯示呢?

現(xiàn)在給grid增加一個itemclick事件,代碼如下:

JavaScript代碼

效果如下圖


可以看出來,界面并不是我們想要的,那么如何解決呢?(最開始愚笨的解決方案是我將此gridPanel移除并銷毀掉,重新加載)我將listeners監(jiān)聽事件的代碼做了一些變換

JavaScript代碼

再看效果:


這個就是我們想要的效果,在動態(tài)變化store中的數(shù)據(jù)時,分組也要實現(xiàn),而不是將數(shù)據(jù)追加在gridPanel的最后。對應(yīng)這兩段代碼的區(qū)分,主要在,store添加數(shù)據(jù)的方法,前者是add(record),后者是loadData(records,[append])

起初不能理解為什么同樣是store添加數(shù)據(jù),效果卻不一樣,看官方文檔的解釋,add(),The new Model instances will be added at the end of the existing collection.(將數(shù)據(jù)追加在集合的最后)恍然大悟,loadData是按照store的規(guī)則將數(shù)據(jù)加載進來。

另外,如何移除組中最舊一行,自己動手查了一下,文檔實現(xiàn)了,在這里與大家分享:

//將前面的listeners監(jiān)聽事件修改如下:

注意其中first([boolean group])方法,如果不傳參數(shù),獲取的是store中的第一條數(shù)據(jù),傳參為true時,返回的是store分組以組名為key,組內(nèi)第一條數(shù)據(jù)為value的多個對象,PersonStore.first(true).female獲取female組內(nèi)的第一條數(shù)據(jù),想獲取male中的,可以使用PersonStore.first(true).male

JavaScript代碼

為避免removedRecords占用內(nèi)存,進行了進一步的處理,功能可以實現(xiàn),但是方法有些笨,大家有好的辦法可以交流交流

看代碼:

結(jié)果為0 // console.log(PersonStore.getAt(0)); } }

聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文檔

深入淺析Extjs中store分組功能的使用方法_javascript技巧

深入淺析Extjs中store分組功能的使用方法_javascript技巧:在項目實踐的過程中,遇到需要將grid中數(shù)據(jù)根據(jù)某一字段分組的要求,當然,這個功能在api中有,在此列出來以供大家查找: 兩點需要注意的地方: 1、在創(chuàng)建store時,需要設(shè)置groupField屬性的值,即為需要分組的值 for example: JavaScript代碼
推薦度:
標簽: 分組 的方法 Store
  • 熱門焦點

最新推薦

猜你喜歡

熱門推薦

專題
Top