1

我需要根据我拥有的一些信息更新商店。

我在文档中有一个表格,它使用一些商店来保存数据,在页面的单独部分我有一个按钮,需要向商店(和表格)添加一些信息。我有点困惑,所以,我只是在这里问我需要知道的一切:

  1. 需要指定表配置中的哪个属性来稍后定位表?
  2. 我需要拨打哪个电话才能找到桌子并找到它的商店?
  3. 如何生成数据并将其附加到表的现有存储中?
4

2 回答 2

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:比上述两种更好的方法;您可以使用itemIdconfig 和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()...

于 2012-07-09T20:15:32.190 回答
1

供参考。它不是

Ext.Cmp()

它是

Ext.getCmp('myGrid')
于 2012-07-11T22:06:27.780 回答