//这是我的基础BaseStore
Ext.define("Base.store.BaseStore", {
extend: "Ext.data.Store",
proxy: {
type: 'ajax',
reader: {
type: 'json',
root: 'data',
idProperty: "id",
successProperty: "success",
messageProperty: "msg",
totalProperty: "total"
}
},
sorters: [{
property: 'id',
direction: 'DESC'
}]
});
//第一个model
Ext.define("Script.model.system.SystemMenuModel", {
extend: 'Ext.data.Model',
fields: ["id", "name", "icon1", "icon2", "fatherId", "modelClass", "children"]
});
//第二个model
Ext.define("Script.model.system.SystemRoleModel", {
extend: 'Ext.data.Model',
fields: ["id", "roleName"]
});
//俩个sotre
Ext.define("Script.store.system.SystemMenuStore", {
extend: "Base.store.BaseStore",
model: 'Script.model.system.SystemMenuModel'
});
Ext.define("Script.store.system.SystemRoleStore", {
extend: "Base.store.BaseStore",
model: 'Script.model.system.SystemRoleModel'
});
Ext.define("Script.view.system.SystemRoleGird", {
extend: 'Ext.grid.Panel',
store: null,
columns: [
{ text: 'id', dataIndex: 'id'},
{ text: 'roleName', dataIndex: 'roleName', flex: 1 }
]
});
//问题的关键就在这了,如果不创建store1 ,则表格可以正确绑定数据,如果create了sotre1就不能绑定数据,但数据可以从服务器端正确返回都没问题 就是帮不上,百思不得其解
var store1 = Ext.create('Script.store.system.SystemMenuStore');
var store2 = Ext.create("Script.store.system.SystemRoleStore");
store2.proxy.url = "systemRoleController.do?method=queryRoleList";
Ext.create("Script.view.system.SystemRoleGird",{
store: store2,
renderTo : Ext.getBody()
});
store2.load();
//但是如果在SystemMenuStore与SystemRoleStore中定义自己的proxy也就是不用继承BaseStore的proxy就好使 真不知道为什么了
分享到:
相关推荐
- **add**:布尔值,指示是否将新加载的数据添加到现有Store数据的末尾,而不是替换它。 通过以上方法,开发者可以在ExtJS中有效地管理Store的加载过程,提供良好的用户反馈机制,增强应用程序的交互性和可用性。...
3. 绑定`Store`到`Toolbar`:使用`bind`或`mon`方法监听`Store`的数据变更事件,当`Store`加载或更新数据时,动态生成并添加相应的组件到`Toolbar`的容器中。 ```javascript myStore.mon(myStore, 'load', function...
根据提供的文件信息,本文将详细解析ExtJS 4中如何处理不同类型的Store及与之相关的数据操作、模型定义以及前端展示等内容。 ### ExtJS 4中的Store与数据管理 #### Store概念简介 在ExtJS 4中,Store是用于存储...
EXTJS4自学手册——EXT数据结构组件(store) 三、Extjs布局 EXTJS4自学手册——EXT容器布局(Auto,Anchor,Absolute,Hbox) EXTJS4自学手册——EXT容器布局(Vbox,Accordion,Table,Column) EXTJS4自学手册——EXT...
extjs动态生成model、store、panel;sql拼接等多种技术难点
在ExtJS 4中,STOREMENU 是一种特定的功能,它将数据存储(Store)与菜单(Menu)相结合,提供了一种动态创建菜单项的方法,这些菜单项可以根据存储的数据进行更新。这种功能在需要根据用户权限或实时数据动态展示...
4. **创建并写入工作簿**:利用SheetJS创建一个新的工作簿对象,然后将转换后的数据添加到新的工作表中。 5. **生成Excel文件**:最后,使用SheetJS的`writeFile`或`createWriteStream`方法将工作簿写入到一个二...
Store是ExtJS中管理数据的容器,它可以连接到各种数据源,包括本地数据、JSON、XML等,或者通过Ajax请求从服务器获取数据。在Combox中,我们通常会配置一个与服务器交互的Store,并设置它的proxy属性为AjaxSource,...
在EXTJS4中,Store是数据管理的核心组件,它负责管理数据集,包括加载、更新和缓存数据。本文将详细讲解如何处理Store的加载、回调以及如何在两个Store之间添加符合条件的记录。 1. **加载与回调问题** EXTJS4的...
4. 通过`store.load()`方法加载数据到表格,如果数据源发生变化,只需重新加载即可更新表格。 在实际应用中,我们还可能遇到以下问题和解决方案: - 数据绑定:使用`Ext.data.Model`定义数据模型,通过`bind`属性...
可以看到,ExtJS4 需要动态类定义,这样可以访问父类和定义 store 模型。 此外,ExtJS4 也改变了 Record 的定义。例如,在 ExtJS3 中,我们可以使用以下代码来定义一个 Record: ```javascript var PostStatus = ...
在本篇文章中,我们将深入探讨如何使用Extjs4中的FormPanel组件从后台加载JSON数据,并将其映射到表单的各个字段中进行显示。这是一项非常实用的技术,尤其是在需要动态填充表单的情况下。 ### 一、Extjs4 ...
Store的`load`方法用于从服务器加载数据,`store.load({params: {id: someId}})`。而`store.sync()`则用于将Store中的所有添加、修改和删除操作提交到服务器。 8. 综合应用: 结合使用这些组件和方法,可以在用户...
在EXTJS这个强大的JavaScript框架中,`...理解这两个组件的工作原理和如何利用`Store`、`Ajax`、`TreeStore`进行数据加载,是EXTJS开发中的重要技能。同时,结合源码阅读和适当的工具使用,可以更好地掌握EXTJS的应用。
6. **Ajax和数据管理**:EXTJS4内置了强大的Ajax请求处理和数据管理机制,通过Ext.data.Proxy和Ext.data.Store可以轻松处理远程数据请求和本地数据存储。 7. **可访问性**:EXTJS4注重无障碍性,遵循WCAG 2.0标准,...
总结来说,"Extjs4 grid使用例子"是一个实践教程,展示了如何在MVC架构下利用ExtJS4的Grid组件处理数据,实现数据的增删改功能。通过这个例子,开发者可以学习到MVC的设计理念,以及如何有效利用Grid组件提升Web应用...
4. **Grid Panel**:实际的组件,`Ext.grid.Panel`,通过配置store和columnModel来创建Grid,还可以添加工具栏、分页条等附加功能。 5. **渲染器(Renderer)**:自定义单元格内容的显示方式,通过配置column的...
Model用于定义数据结构和验证规则,Store则作为数据容器,负责加载、存储和管理数据,而Proxy则是与服务器端进行通信的接口。这种数据层的设计极大地简化了数据操作,使前后端交互更为流畅。 在图表和可视化方面,...
`Store`对象是数据的核心,它可以加载和存储数据,与视图进行绑定。此外,`Model`定义了数据字段和验证规则,而`Proxy`则负责与服务器之间的数据交换。 2. **数据代理(proxy)** 数据代理是连接应用数据源与Store...
项目进行前端框架升级——extJS 4升级至extJS6.6所遇的一些问题及相对应的解决方案建议