EXT核心API詳解 十一 Store

2021-04-19 03:30:18 字數 3382 閱讀 5459

ext.data.store

store是乙個為ext器件提供record物件的儲存容器,行為和屬性都很象資料表

方法:不列舉繼承來的方法

store( object config )

構造,config定義為這樣的排序物件

url : string,        //利用url構造httpproxy

}add( ext.data.record records ) : void

增加記錄records 到store

addsorted( ext.data.record record ) : void

增加record到store並排序(僅本地排序時有用)

clearfilter( boolean suppressevent ) : void

清除過濾器

collect( string dataindex, [boolean allownull], [boolean bypassfilter] ) : array

收集由dataindex指定欄位的惟一值

commitchanges() : void

提交store所有的變更,會引發update事件

filter( string field, string/regexp value, [boolean anymatch], [boolean casesensitive] ) : void

設定過濾器

field:string    //欄位名

value:string    //regexp 如果是字元器,檢查field是否以value開始,如果是正則,檢查是否匹配

anymatch:boolean //匹配任何部分而不僅令是開始

casesensitive:boolean //大小寫敏感?

filterby( function fn, [object scope] ) : void

更強悍的過濾方法.fn接收兩個引數record和id

find( string property, string/regexp value, [number startindex], [boolean anymatch], [boolean casesensitive] ) : number

找到符合條件的第一條記錄,引數同filter

findby( function fn, [object scope], [number startindex] ) : number

參見filterby

getat( number index ) : ext.data.record

getbyid( string id ) : ext.data.record

依充號/id得到record物件

getcount() : void

得到記錄數

getmodifiedrecords() : ext.data.record

得到修改過的記錄集

getrange( [number startindex], [number endindex] ) : ext.data.record

得到指定範圍的記錄集合

getsortstate() : void

得到排序狀態:顯然不是void而是返回乙個排序物件,同sortinfo一樣的結構

gettotalcount() : void

這個對於翻頁資訊還是很有用的

indexof( ext.data.record record ) : number

indexofid( string id ) : number

由記錄或id得到序號

insert( number index, ext.data.record records ) : void

在指定的位置插入記錄,並引發add事件

isfiltered() : boolean

當前設定了過濾器則返回真

load( object options ) : void

由指定的proxy使用指定的reader讀取遠端資料

options定義為

query( string field, string/regexp value, [boolean anymatch], [boolean casesensitive] ) : mixedcollection

queryby( function fn, [object scope] ) : mixedcollection

查詢,引數和find類似,但返回所有符合條件的record,而不是第乙個符合條件記錄的序號

rejectchanges() : void

放棄所有的變更

reload( [object options] ) : void

重新載入,相當於 load(options,false),如果連options都沒有傳入,則取最後一次load時使用的引數

remove( ext.data.record record ) : void

移除指定記錄

removeall() : void

移除所有記錄

setdefaultsort( string fieldname, [string dir] ) : void

設定預設排序規則

sort( string fieldname, [string dir] ) : void

排序sum( string property, number start, number end ) : number

對property欄位由start開始到end求和

事件列表

add : ( store this, ext.data.record records, number index )

beforeload : ( store this, object options )

clear : ( store this )

datachanged : ( store this )

load : ( store this, ext.data.record records, object options )

loadexception : ()

metachange : ( store this, object meta. )

remove : ( store this, ext.data.record record, number index )

update : ( store this, ext.data.record record, string operation )

看名字都很簡單,引數也不複雜,略過

示例2//得到遠端xml檔案

//其中xml檔案內容為

<?xml version="1.0" encoding="utf-8" ?>21

bill

gardener

2ben

horticulturalist

EXT核心API詳解 五

ext.eventmanager eventobject compositeelement compositeelementlite ext.eventmanager 事件管理者中的大部分方法都在ext中有定義,主要用於事件管理 addlistener string htmlelement el,s...

EXT核心API詳解 五

eventmanager eventobject compositeelement compositeelementlite類 ext.eventmanager 事件管理者中的大部分方法都在ext中有定義,主要用於事件管理 addlistener string htmlelement el,stri...

Ext核心API詳解(四)

ext.domquery類 selector語法詳見ext類 compile string selector,string type function 編寫乙個選擇器或xpath查詢到乙個方法以方便重用,type取select 預設 或 值之一 filter array el,string sele...