Ext.data.Store 方法介紹

來源:互聯網
上載者:User

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

方法:
Store( Object config )
構造,config定義為{
autoLoad : Boolean/Object,    //自動載入
baseParams : Object,    //只有使用httpproxy時才有意義
data : Array,        //資料
proxy : Ext.data.DataProxy,//資料代理
pruneModifiedRecords : boolean,//清除修改資訊
reader : Ext.data.Reader,    //資料讀取器
remoteSort : boolean,    //遠程排序?
sortInfo : Object,    //{field: "fieldName", direction: "ASC|DESC"}這樣的排序對象
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一樣的結構{field: "fieldName", direction: "ASC|DESC"}

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定義為
{
    params :Object,    //請求url需要附加的參數
    callback :Function//回叫方法,接收三個參數
      //r : Ext.data.Record[] //返回的record數組
      //options: Options load方法傳入的options
      //success: Boolean //成功
    scope :Object, //範圍.預設是store本身
    add :Boolean 追加還是更新
}

loadData( Object data, [Boolean append] ) : void
用法比load簡單一點,目的是一樣的,只是這次資料由本地讀取

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 )

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.