我需要根据我拥有的一些信息更新商店。
我在文档中有一个表,它使用一些Store来保存数据, 在页面的单独部分,我有一个按钮,需要向Store(和表)添加一些信息。我有点困惑,所以,我只想问我需要知道的一切:
答案 0 :(得分:3)
你所指的“表格”是ExtJS术语中的Grid
1。要获取网格供以后使用,您需要对该对象的引用。 ExtJS有很多方法可以掌握这个参考。
使用Javascript变量:最简单的方法是使用一个包含引用的javascript变量。这通常在创建网格时完成。例如:
var myGrid = Ext.create('Ext.grid.Panel', {
// All the configs...
});
您可以使用myGrid
变量来访问网格。
使用ComponentManager :创建ExtJS组件时,它会向组件管理器注册。您始终可以从此寄存器中获取ExtJS组件。管理员使用唯一ID跟踪每个组件。要使用此方法,您必须为网格组件定义唯一ID,然后使用着名的Ext.getCmp()
方法。这是一个例子:
var myGrid = Ext.create('Ext.grid.Panel', {
id: 'myGrid', // Unique id for the grid
// All other configs...
});
使用此方法不是最佳做法。
使用itemId和Component Query :比上述两种方法更好的方法;您可以使用itemId
配置和ComponentQuery。 ComponentQuery类提供基于选择器的Sencha组件搜索,类似于DOM查询。例如:
var myGrid = Ext.create('Ext.grid.Panel', {
itemId: 'myGrid',
// All other configs...
});
要获得引用,您可以从容器中调用query()
方法或使用Ext.ComponentManager(这是全局的)。
在MVC控制器中访问:如果您正在使用MVC开发应用程序,则可以使用此方法。控制器具有参考数组,即:refs
。 (在内部,该方法使用ComponentQuery和选择器来访问组件)。请参阅MVC指南和示例,了解其工作原理..
<小时/> 2.使用上述任何技术获得网格后,只需调用方法
getStore()
即可获得商店。这将返回商店对象(Ext.data.Store
)。例如:
myStore = myGrid.getStore();
<小时/> 3.参考Ext.data.Store文档。您可以使用
add()
,load()
,remove()
等方法操纵网格商店...
答案 1 :(得分:1)
FYI。 它不是
Ext.Cmp()
它是
Ext.getCmp('myGrid')