| Defined In: | JsonStore.js |
| Class: | Ext.data.JsonStore |
| Extends: | Ext.data.Store |
var store = new Ext.data.JsonStore({
url: 'get-images.php',
root: 'images',
fields: ['name', 'url', {name:'size', type: 'float'}, {name:'lastmod', type:'date'}]
});
形成这种形式的对象:
{
images: [
{name: 'Image one', url:'/GetImage.php?id=1', size:46.5, lastmod: new Date(2007, 10, 29)},
{name: 'Image Two', url:'/GetImage.php?id=2', size:43.2, lastmod: new Date(2007, 10, 30)}
]
}
这种形式的数据(对象实字,object literal)会用在 #data配置项上。
注意:尽管未有列出,该类继承了Store对象、JsonReader对象的所有的配置项。
@cf
| 配置项 | 定义者 | |
|---|---|---|
|
url
: String
如果有值传入,会为该URL创建一个HttpProxy对象。
如果有值传入,会为该URL创建一个HttpProxy对象。
|
Store | |
|
fields
: Array
既可以是字段的定义对象组成的数组,会作为Ext.data.Record...
既可以是字段的定义对象组成的数组,会作为Ext.data.Record#create方法的参数用途,也可以是一个
{@link Ext.data.Record Record}构造器,来给Ext.data.Record#create创建的Ext.data.Record对象
|
JsonStore | |
|
storeId
: String
如果有值传入,该ID用于在StoreMgr登记时用。
如果有值传入,该ID用于在StoreMgr登记时用。
|
Store | |
|
autoLoad
: Boolean/Object
如果有值传入,那么store的load会自动调用,发生在autoLoa...
如果有值传入,那么store的load会自动调用,发生在autoLoaded对象创建之后。
|
Store | |
|
proxy
: Ext.data.DataProxy
Proxy对象,用于访问数据对象。
Proxy对象,用于访问数据对象。
|
Store | |
|
data
: Array
表示store初始化后,要加载的内联数据。
表示store初始化后,要加载的内联数据。
|
Store | |
|
reader
: Ext.data.DataReader
处理数据对象的DataReader会返回一个Ext.data.Reco...
处理数据对象的DataReader会返回一个Ext.data.Record对象的数组。其中的id属性会是一个缓冲了的键。
(原文:The DataReader object which processes the data object and returns an Array of Ext.data.Record objects which are cached keyed by their property.)
|
Store | |
|
baseParams
: Object
每次HTTP请求都会带上这个参数,本来它是一个对象的形式,请求时会转化...
每次HTTP请求都会带上这个参数,本来它是一个对象的形式,请求时会转化为参数的字符串。
|
Store | |
|
sortInfo
: Object
如何排序的对象,格式如下:{field: "fieldName", d...
如何排序的对象,格式如下:{field: "fieldName", direction: "ASC|DESC"}。排序方向的大小写敏感的。
|
Store | |
|
remoteSort
: boolean
True表示在roxy配合下,要求服务器提供一个更新版本的数据对象以便...
True表示在roxy配合下,要求服务器提供一个更新版本的数据对象以便排序,反之就是在Record缓存中排序(默认是false)。
如果开启远程排序,那么点击头部时就会使当前页面向服务器请求排序,会有以下的参数:
|
Store | |
|
pruneModifiedRecords
: boolean
True表示为,每次Store加载后,清除所有修改过的记录信息;rec...
True表示为,每次Store加载后,清除所有修改过的记录信息;record被移除时也会这样(默认为false)。
|
Store | |
|
listeners
: Object
一个配置项对象,可方便在该对象初始化时便加入多个事件处理函数。 这应该...
一个配置项对象,可方便在该对象初始化时便加入多个事件处理函数。 这应该是一个如#addListener有效的配置项对象,即可一次过加入多个事件处理函数。
|
Observable | |
| 属性 | 定义者 | |
|---|---|---|
|
*/: */
保存了上次load方法执行时,发出去的参数是什么。参阅#load了...
保存了上次load方法执行时,发出去的参数是什么。参阅#load了解这些是什么的参数。
加载当前的Record缓存的时候,清楚用了哪些的参数有时是非常有用的。
|
Store | |
| 方法 | 定义者 | |
|---|---|---|
JsonStore
(
Object config
)
: Ext.data.JsonStore
构造器
构造器
参数项:
|
JsonStore | |
Store
(
Object config
)
: Ext.data.Store
构造器
构造器
参数项:
|
Store | |
add
(
Ext.data.Record[] records
)
往Store对象添加Records,并触发{@link #add}...
往Store对象添加Records,并触发{@link #add}事件。
参数项:
|
Store | |
addSorted
(
Ext.data.Record record
)
(只限本地排序) 传入一个Record,按照队列(以固定的排序顺序...
(只限本地排序) 传入一个Record,按照队列(以固定的排序顺序)插入到Store对象中。
参数项:
|
Store | |
remove
(
Ext.data.Record record
)
从Store中移除一Record对象,并触发#remove移除事件。
从Store中移除一Record对象,并触发#remove移除事件。
参数项:
|
Store | |
|
removeAll
(
)
从Store中清空所有Record对象,并触发{@link #cl...
从Store中清空所有Record对象,并触发{@link #clear}事件。
参数项:
|
Store | |
insert
(
Number index,
Ext.data.Record[] records
)
触发添加事件时插入records到指定的store位置
触发添加事件时插入records到指定的store位置
参数项:
|
Store | |
indexOf
(
Ext.data.Record record
)
: Number
传入一个记录,根据记录在缓存里查询的匹配的记录,返回其索引。
传入一个记录,根据记录在缓存里查询的匹配的记录,返回其索引。
参数项:
|
Store | |
indexOfId
(
String id
)
: Number
传入一个id,根据id查询缓存里的Record,返回其索引。
传入一个id,根据id查询缓存里的Record,返回其索引。
参数项:
|
Store | |
getById
(
String id
)
: Ext.data.Record
根据指定的id找到Record。
根据指定的id找到Record。
参数项:
|
Store | |
getAt
(
Number index
)
: Ext.data.Record
根据指定的索引找到Record。
根据指定的索引找到Record。
参数项:
|
Store | |
getRange
(
[Number startIndex],
[Number endIndex]
)
: Ext.data.Record[]
查找指定范围里的Records。
查找指定范围里的Records。
参数项:
|
Store | |
load
(
Object options
)
: Boolean
采用配置好的Reader格式去加载Record缓存,具体请求的任务...
采用配置好的Reader格式去加载Record缓存,具体请求的任务由配置好的Proxy对象完成。
如果使用服务器分页,那么必须指定在options.params中start和limit两个参数。 start参数表明了从记录集(dataset)的哪一个位置开始读取,limit是读取多少笔的记录。Proxy负责送出参数。 由于采用了异步加载,因此该方法执行完毕后,数据不是按照load()方法下一个语句的顺序可以获取得到的。 应该登记一个回调函数,或者“load”的事件,登记一个处理函数 送出的HTTP参数,格式是JS对象 回调函数,这个函数会有以下的参数传入:
回调函数的作用域(默认为Store对象) 表示到底是追加数据,还是替换数据
参数项:
|
Store | |
reload
(
[Object options]
)
依据上一次的load操作的参数的Reader制订的格式,再一次向P...
依据上一次的load操作的参数的Reader制订的格式,再一次向Proxy对象要求施以加载(Reload)Record缓存的操作。
参数项:
|
Store | |
loadData
(
Object data,
Boolean add
)
从传入的数据块中装载数据,并触发{@link #load}事件。传...
从传入的数据块中装载数据,并触发{@link #load}事件。传入的数据格式是Reader必须能够读取理解的,Reader是在构造器
中配置好的。
切记Store中的Record是按照{@link Ext.data.Record#id id}记录的,所以新加的Records如果id一样的话就会替换Stroe里面原有的,新的就会追加。
参数项:
|
Store | |
|
getCount
(
)
: Number
如果使用了分页,那么这就是当前分页的总数,而不是全部记录的总数。
...
如果使用了分页,那么这就是当前分页的总数,而不是全部记录的总数。 要获取记录总数应使用#getTotalCount方法,才能从Reader身上获取正确的全部记录数。
参数项:
|
Store | |
|
getTotalCount
(
)
: Number
获取作为服务端返回的数据集中记录的总数。
如果分页,该值必须...
获取作为服务端返回的数据集中记录的总数。
如果分页,该值必须声明存在才能成功分页。Reader对象处理数据对象该值不能或缺。 对于远程数据而言,这是有服务器查询的结果。 如果是在本地更新Store的内容,那么该值是不会发生变化的。
参数项:
|
Store | |
|
getSortState
(
)
: Object
以对象的形式返回当前排序的状态。
field : String ...
以对象的形式返回当前排序的状态。
一个是排序字段 一个是排序方向,"ASC"或"DESC" (一定要大写)
参数项:
|
Store | |
setDefaultSort
(
String fieldName,
[String dir]
)
设置默认的列排序,以便下次load操作时使用
设置默认的列排序,以便下次load操作时使用
参数项:
|
Store | |
sort
(
String fieldName,
String dir
)
对记录排序。
如果使用远程排序,排序是在服务端中进行的,缓存就会...
对记录排序。
如果使用远程排序,排序是在服务端中进行的,缓存就会重新加载;如果使用本地排序,缓存就会内部排序。
参数项:
|
Store | |
each
(
Function fn,
[Object scope]
)
对缓存中每个记录调用特点的函数。
对缓存中每个记录调用特点的函数。
参数项:
|
Store | |
|
getModifiedRecords
(
)
: Ext.data.Record[]
距离上次提交之后,把所有修改过的、变化的记录收集起来。
通过加载...
距离上次提交之后,把所有修改过的、变化的记录收集起来。
通过加载(load)的操作来持久化这些修改的记录。(例如在分页期间)
参数项:
|
Store | |
sum
(
String property,
Number start,
Number end
)
: Number
Sums the value of property for ea...
Sums the value of property for each record between start and end and returns the result.
参数项:
|
Store | |
filter
(
String field,
String/RegExp value,
[Boolean anyMatch],
[Boolean caseSensitive]
)
由指定的属性筛选记录。
由指定的属性筛选记录。
参数项:
|
Store | |
filterBy
(
Function fn,
[Object scope]
)
由外部函数进行筛选。Store里面的每个记录都经过这个函数内部使用...
由外部函数进行筛选。Store里面的每个记录都经过这个函数内部使用。
如果函数返回true的话,就引入(included)到匹配的结果集中,否则就会被过滤掉。
{@link Ext.data.Record record} 对象用来测试过滤结果的。访问字段值就用Ext.data.Record#get方法。 所传入的Record的ID
参数项:
|
Store | |
query
(
String field,
String/RegExp value,
[Boolean anyMatch],
[Boolean caseSensitive]
)
: MixedCollection
由指定的属性查询记录。
由指定的属性查询记录。
参数项:
|
Store | |
queryBy
(
Function fn,
[Object scope]
)
: MixedCollection
由外部函数进行该Store缓存记录的筛选。Store里面的每个记录...
由外部函数进行该Store缓存记录的筛选。Store里面的每个记录都经过这个函数内部使用。
如果函数返回true的话,就引入(included)到匹配的结果集中。
{@link Ext.data.Record record} 对象用来测试过滤结果的。访问字段值就用Ext.data.Record#get方法。 所传入的Record的ID
参数项:
|
Store | |
find
(
String property,
String/RegExp value,
[Number startIndex],
[Boolean anyMatch],
[Boolean caseSensitive]
)
: Number
由指定的属性、值来查询记录,返回的是记录的索引值。只考虑第一次匹配...
由指定的属性、值来查询记录,返回的是记录的索引值。只考虑第一次匹配的结果。
参数项:
|
Store | |
findBy
(
Function fn,
[Object scope],
[Number startIndex]
)
: Number
由外部函数从某个索引开始进行筛选。只考虑第一次匹配的结果。
如果...
由外部函数从某个索引开始进行筛选。只考虑第一次匹配的结果。
如果函数返回true的话,就被认为是一个匹配的结果。
{@link Ext.data.Record record} 对象用来测试过滤结果的。访问字段值就用Ext.data.Record#get方法。 所传入的Record的ID
参数项:
|
Store | |
clearFilter
(
String dataIndex,
[Boolean allowNull],
[Boolean bypassFilter],
Boolean suppressEvent
)
: Array
从这个Store身上收集由dataIndex指定的惟一的值。
...
从这个Store身上收集由dataIndex指定的惟一的值。
collect : function(dataIndex, allowNull, bypassFilter){
var d = (bypassFilter === true && this.snapshot) ?
this.snapshot.items : this.data.items;
var v, sv, r = [], l = {};
for(var i = 0, len = d.length; i < len; i++){
v = d[i].data[dataIndex];
sv = String(v);
if((allowNull || !Ext.isEmpty(v)) && !l[sv]){
l[sv] = true;
r[r.length] = v;
}
}
return r;
},
恢复到Record缓存的视图,这是没有经过筛选的Record。
/
参数项:
|
Store | |
|
isFiltered
(
)
: Boolean
返回true表明这个store当前是在筛选的。
返回true表明这个store当前是在筛选的。
参数项:
|
Store | |
|
commitChanges
(
)
提交全部有变化的Record集。在实际处理这些更新的编码中,
应...
提交全部有变化的Record集。在实际处理这些更新的编码中,
应该登记Store的“update”事件,事件的处理函数中的第三个参数就是Ext.data.Record.COMMIT,用它来进行更新。
参数项:
|
Store | |
|
rejectChanges
(
)
放弃所有的变更。
放弃所有的变更。
参数项:
|
Store | |
fireEvent
(
String eventName,
Object... args
)
: Boolean
触发指定的事件,并将欲执行的处理函数的参数传入。(应该至少要有事件的...
触发指定的事件,并将欲执行的处理函数的参数传入。(应该至少要有事件的名称)
参数项:
|
Observable | |
addListener
(
String eventName,
Function handler,
[Object scope],
[Object options]
)
为该组件加入事件处理函数(event handler)
sc...
为该组件加入事件处理函数(event handler)
处理函数执行时所在的作用域。处理函数“this”的上下文。 触发事件后开始执行处理函数的延时时间(invocation:the act of making a particular function start),单位:毫秒 true代表为下次事件触发加入一个要处理的处理函数,然后再移除本身。 不同配搭方式的选项 一次调用加入上多个处理函数(handlers) 或者是以简写的方式书写,前提是只允许同一个的作用域对象传入到所有的处理函数中:
参数项:
|
Observable | |
removeListener
(
String eventName,
Function handler,
[Object scope]
)
移除侦听器
移除侦听器
参数项:
|
Observable | |
|
purgeListeners
(
)
从这个对象身上移除所有的侦听器
从这个对象身上移除所有的侦听器
参数项:
|
Observable | |
addEvents
(
Object object
)
定义观察者的事件。
定义观察者的事件。
参数项:
|
Observable | |
hasListener
(
String eventName
)
: Boolean
查询该对象是否有指定事件的侦听器
查询该对象是否有指定事件的侦听器
参数项:
|
Observable | |
|
suspendEvents
(
)
暂停触发所有的事件(参阅#resumeEvents)
暂停触发所有的事件(参阅#resumeEvents)
参数项:
|
Observable | |
|
resumeEvents
(
)
重新触发事件(参阅{@link #suspendEvents})
重新触发事件(参阅{@link #suspendEvents})
参数项:
|
Observable | |
on
(
String eventName,
[Object scope],
Function handler,
[Object options]
)
为该元素添加事件处理函数(event handler),addLis...
为该元素添加事件处理函数(event handler),addListener的简写方式 @param {String} eventName 侦听事件的类型 @param {Object} scope (可选的) 执行处理函数的作用域 @param {Function} handler 事件涉及的方法 @param {Object} options (可选的)
参数项:
|
Observable | |
un
(
String eventName,
Function handler,
[Object scope]
)
移除侦听器 @param {String} eventName ...
移除侦听器 @param {String} eventName 侦听事件的类型 @param {Function} handler 事件涉及的方法 @param {Object} scope (可选的)处理函数的作用域
参数项:
|
Observable | |
capture
(
Observable o,
Function fn,
[Object scope]
)
开始捕捉特定的观察者。 在事件触发之前,所有的事件会以“事件名称+标...
开始捕捉特定的观察者。 在事件触发之前,所有的事件会以“事件名称+标准签名”的形式传入到函数(传入的参数是function类型)。 如果传入的函数执行后返回false,则接下的事件将不会触发。 @param {Observable} o 要捕捉的观察者 @param {Function} fn 要调用的函数 @param {Object} scope (可选的)函数作用域
参数项:
|
Observable | |
releaseCapture
(
Observable o
)
从Observable身上移除所有已加入的捕捉captures。 @...
从Observable身上移除所有已加入的捕捉captures。 @param {Observable} o 要释放的观察者
参数项:
|
Observable | |
| 事件 | 定义者 | |
|---|---|---|
datachanged
(
Store this
)
Fires when the data cache has ...
Fires when the data cache has changed in a bulk manner (e.g., it has been sorted, filtered, etc.) and a
widget that is using this Store as a Record cache should refresh its view.
参数项:
|
Store | |
metachange
(
Store this,
Object meta
)
当store的reader 提供新的元数据字段时触发。这目前仅支...
当store的reader 提供新的元数据字段时触发。这目前仅支持jsonReader。
参数项:
|
Store | |
add
(
Store this,
Ext.data.Record[] records,
Number index
)
当Records被添加到store时触发。
当Records被添加到store时触发。
参数项:
|
Store | |
remove
(
Store this,
Ext.data.Record record,
Number index
)
当一个record被从store里移出时触发。
当一个record被从store里移出时触发。
参数项:
|
Store | |
update
(
Store this,
Ext.data.Record record,
String operation
)
当有record被更新时触发。
Ext.da...
当有record被更新时触发。
参数项:
|
Store | |
clear
(
Store this
)
当数据缓存被清除时触发。
当数据缓存被清除时触发。
参数项:
|
Store | |
beforeload
(
Store this,
Object options
)
在一个新的数据请求发起之前触发,如果beforeload事件处理...
在一个新的数据请求发起之前触发,如果beforeload事件处理函数返回false。加载动作将会被取消。
参数项:
|
Store | |
load
(
Store this,
Ext.data.Record[] records,
Object options
)
在一个新的数据集被加载之后触发该事件
在一个新的数据集被加载之后触发该事件
参数项:
|
Store | |
|
loadexception
(
)
到Proxy对象进行加载的时候,遇到异常随即会触发该事件。这是与...
到Proxy对象进行加载的时候,遇到异常随即会触发该事件。这是与Proxy的“loadexception”事件一起联动的。
参数项:
|
Store | |