1.什么store?
Store类似于一个本地仓库(即数据存储器),包括有 ArrayStore,DirectStore,GroupingStore,JsonStore,XmlStore(都是store的子类)
最终主要用于提供给panel去显示.
Store由Proxy(数据源)和DataReader(解读数据)组成。
一.(Proxy)数据源:一般是后台的值,习惯性的把它转换成json对象给store(注:个人理解)
二.(DataReader)读取数据:获得了数据后需要解析数据,DataReader(fields属性其实是Record对象的)解析数据并指定格式.
三.store存储好的数据最后交给panel
2.store中重要的属性和方法
属性:data、proxy、reader、url、root ....
方法:load
1、如果配置了data,则proxy和url无效,且不需要调用load方法来生成Record集合
view sourceprint?1.var store=new Ext.data.ArrayStore({
2.
fields: ['DEPTNO', 'DNAME', 'LOC'],
3.
data:Ext.datas.mess //引用data.js 数据
4.
});
2、如果没有配置data,则必须设置proxy或url,或两者都设置。此时,如果没有将autoLoad设置为true,
那么需要手动进行load方法的调用。就是为了得到数组、Json或Xml等格式的数据。
view sourceprint?01.//JsonStore是负责后台返回json对象的处理http://
02.
var store1 = new Ext.data.JsonStore({
03.
autoDestroy: true,
04.
url: 'extjsTest/extjs_getEmpByDeptNo.action',
05.
storeId: 'myStore',
06.
root:"emp",//json对象组 类似这种对象:{emp:[{EMPNO:'xx',....}]}
07.
fields: [
08.
{name: 'EMPNO', mapping:'EMPNO', type: 'float'},
09.
{name: 'ENAME', mapping:'ENAME',type: 'string'},
10.
{name : 'HIREDATE', type : 'date', mapping : 'HIREDATE'},
11.
{name: 'DEPTNO', mapping:'DEPTNO', type: 'float'}
12.
]
13.
});
3、reader是必须的,用以指定数据解析器,
需要根据获得的数据格式指定相应类型的解析器。(上面简写了,其实fidlds是由DataReader对象创建Record实例的一个属性)
4、如果没有指定proxy,但指定了url,则会默认用HttpProxy作为数据源,并将url作为HttpProxy实例化时的参数。
view sourceprint?1.
2.
var myStore = new Ext.data.Store({
3.
reader: myReader,
4.
proxy : new Ext.data.HttpProxy({
5.
method: "POST",
6.
url: 'extjsTest/extjs_getEmpByDeptNo.action',
7.
})
8.});
5、root是指定json组(个人这样理解的),算了,看json传过来的对象应该清楚了
view sourceprint?1.{emp:[{"EMPNO":7369,"HIREDATE":"1980-12-17","ENAME":"SMITH"},{"EMPNO":7499,"HIREDATE":"1981-02-20","ENAME":"ALLEN"},{"EMPNO":7521,"HIREDATE":"1981-02-22","ENAME":"WARD"},{"EMPNO":7566,"HIREDATE":"1981-04-02","ENAME":"JONES"},{"EMPNO":7654,"HIREDATE":"1981-09-28","ENAME":"MARTIN"}]}
分享到:
相关推荐
以下是对如何在ExtJS中实现Store加载时显示提示信息的详细解析。 ### Store加载时显示提示信息 在ExtJS中,`Store`对象负责从服务器获取数据并存储到客户端,供应用程序使用。为了在加载数据时给用户提供反馈,...
在EXTJS这个强大的JavaScript框架中,`Store`和`Toolbar`是两个核心组件,它们分别用于数据管理和用户界面的交互。本篇文章将深入探讨如何利用`Store`来实现`Toolbar`的功能,即所谓的`Storebar`,这在EXTJS开发中是...
根据提供的文件信息,本文将详细解析ExtJS 4中如何处理不同类型的Store及与之相关的数据操作、模型定义以及前端展示等内容。 ### ExtJS 4中的Store与数据管理 #### Store概念简介 在ExtJS 4中,Store是用于存储...
extjs动态生成model、store、panel;sql拼接等多种技术难点
在使用过程中,要特别注意ExtJS的MVC(Model-View-Controller)架构,这是其设计的一大亮点。通过模型管理数据,视图展示数据,控制器协调两者,可以使代码结构清晰,易于维护。此外,利用Data Binding功能,可以...
在ExtJS 4中,STOREMENU 是一种特定的功能,它将数据存储(Store)与菜单(Menu)相结合,提供了一种动态创建菜单项的方法,这些菜单项可以根据存储的数据进行更新。这种功能在需要根据用户权限或实时数据动态展示...
在 ExtJS3 中,我们可以使用 Ext.extend 来定义类,而在 ExtJS4 中,我们需要使用 Ext.define 来定义类。例如,在 ExtJS3 中,我们可以使用以下代码来定义一个类: ```javascript Ext.ux.PostStore = Ext.extend...
1. **获取Grid数据**:在EXTJS中,Grid的数据存储在Store对象中。要导出数据,我们需要先从Store中获取所有的记录。这可以通过调用`store.getData()`方法来完成,返回的是一个包含所有记录的数据对象。 2. **构建...
在ExtJS中,Store是用来管理数据集的,它可以是从服务器获取的JSON或XML数据,也可以是本地数据。Store负责加载、缓存和处理数据,并与视图(View)如表格进行双向绑定,当数据发生变化时,视图会自动更新。在"ext...
本篇将深入探讨ExtJS Grid的过滤操作,以及如何动态地对本地store进行筛选。 1. **Grid过滤基础** - **Filter Model**:ExtJS Grid中的过滤功能基于Filter Model。每个列都可以有自己的过滤器,用户可以根据需要...
#### 一、ExtJs简介与环境搭建 **ExtJs**是一款基于JavaScript的企业级Web应用开发框架,它提供了丰富的UI组件和强大的功能,帮助开发者快速构建高性能的Web应用程序。本文档旨在引导初学者快速入门ExtJs,通过实例...
EXTJS4自学手册——EXT数据结构组件(store) 三、Extjs布局 EXTJS4自学手册——EXT容器布局(Auto,Anchor,Absolute,Hbox) EXTJS4自学手册——EXT容器布局(Vbox,Accordion,Table,Column) EXTJS4自学手册——EXT...
在EXTJS4中,Store是数据管理的核心组件,它负责管理数据集,包括加载、更新和缓存数据。本文将详细讲解如何处理Store的加载、回调以及如何在两个Store之间添加符合条件的记录。 1. **加载与回调问题** EXTJS4的...
布局管理器是ExtJs框架中非常有特色的一点,通过它可以让复杂的界面布局变得简单可控。 ExtJs2.0还提供了一些开发工具,比如脚手架工具,它们可以帮助快速生成应用的基础结构。手册中可能会有一些章节专门介绍如何...
在ExtJS中,API涵盖了所有可用的组件、布局、数据绑定、事件处理等。 在ExtJS 3.0中,核心知识点包括: 1. **组件系统**:ExtJS 3.0包含了大量的UI组件,如按钮(Button)、表格(Grid)、面板(Panel)、表单...
6. **Ajax和数据管理**:EXTJS4内置了强大的Ajax请求处理和数据管理机制,通过Ext.data.Proxy和Ext.data.Store可以轻松处理远程数据请求和本地数据存储。 7. **可访问性**:EXTJS4注重无障碍性,遵循WCAG 2.0标准,...
这是ExtJS中的核心类之一,用于定义和管理整个应用,包括启动、配置、管理组件树等关键任务。 #### 二、事件处理机制与代码示例 在ExtJS中,事件处理是非常重要的一个方面,它使得用户可以与页面元素进行交互。...
在ExtJs 3.0版本中,用户遇到一个与`Store`对象的`baseParams`相关的bug。`baseParams`是ExtJs中的一个重要属性,它用于设置在每次加载`Store`时都会附加到请求的参数。这些参数通常用于传递服务器端需要的固定信息...