ext.data.store 属性
时间: 2024-03-09 21:51:33 浏览: 113
Extjs 继承Ext.data.Store不起作用原因分析及解决
在 ExtJS 中,`store` 是一个非常重要的概念,它是用于存储数据的容器,通常用于存储从后台获取的数据或者本地静态数据。`store` 有以下几个常用属性:
1. `model`:指定存储在 `store` 中的数据模型。
2. `proxy`:指定从后台获取数据的方式,可以是 `ajax`、`jsonp`、`rest` 等方式。
3. `reader`:指定解析后台返回数据的方式,通常与 `model` 配合使用。
4. `writer`:指定将 `model` 中的数据保存到后台的方式。
5. `fields`:指定存储在 `store` 中的数据模型的字段。
6. `listeners`:指定 `store` 的事件监听器。
7. `autoLoad`:指定是否在创建 `store` 时自动加载数据。
8. `pageSize`:指定 `store` 分页时每页显示的记录数。
9. `sorters`:指定对 `store` 中的数据进行排序的方式。
10. `filters`:指定对 `store` 中的数据进行过滤的方式。
11. `groupField`:指定对 `store` 中的数据进行分组的字段。
12. `groupDir`:指定对 `store` 中的数据进行分组的顺序。
13. `groupers`:指定对 `store` 中的数据进行多级分组的方式。
14. `remoteFilter`:指定是否在后台进行数据过滤。
15. `remoteSort`:指定是否在后台进行数据排序。
16. `remoteGroup`:指定是否在后台进行数据分组。
17. `storeId`:指定 `store` 的唯一标识符。
使用这些属性可以方便地配置 `store`,实现对数据的存储、获取、排序、过滤和分组等各种需求。例如,以下代码演示了如何使用 `store` 存储本地静态数据,并对数据进行排序和分组:
```
Ext.create('Ext.data.Store', {
fields: ['name', 'age', 'gender'],
data: [
{ name: 'Tom', age: 18, gender: 'male' },
{ name: 'Mary', age: 20, gender: 'female' },
{ name: 'John', age: 22, gender: 'male' },
{ name: 'Lucy', age: 19, gender: 'female' }
],
sorters: [
{ property: 'age', direction: 'DESC' }
],
groupField: 'gender',
autoLoad: true
});
```
上面的代码中,`fields` 属性指定了存储在 `store` 中的数据模型的字段,`data` 属性指定了存储在 `store` 中的本地静态数据,`sorters` 属性指定了对数据进行排序的方式,`groupField` 属性指定了对数据进行分组的字段。当 `store` 加载数据时,数据会根据 `sorters` 和 `groupField` 属性进行排序和分组,方便数据展示和处理。
阅读全文