如何查找表并将新记录添加到其商店?

问题描述:

我需要根据我拥有的一些信息更新商店。如何查找表并将新记录添加到其商店?

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

  1. 需要指定表配置中的哪个属性以便稍后查找表?
  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和组件查询:比上述两种更好的方法;您可以使用itemId config和ComponentQuery。 ComponentQuery类为类似于DOM查询的Sencha组件提供了基于选择器的搜索。例如:

var myGrid = Ext.create('Ext.grid.Panel', { 
     itemId: 'myGrid', 
    // All other configs... 
}); 

并得到一个参考,你可以从一个容器调用query()方法或使用Ext.ComponentManager(这是全球性的)。

访问MVC控制器:如果您正在使用MVC开发您的应用程序,则可以使用此方法。一个控制器有参考数组,即:refs。 (在内部,该方法使用ComponentQuery和选择器来访问组件)。 getStore():参考MVC指南和例子来看看它是如何工作..


2.一旦你获得与上述任何技术的网格,你可以简单地通过调用方法拿到店里。这会返回商店对象( Ext.data.Store)。例如:

myStore = myGrid.getStore(); 


3.参阅的 Ext.data.Store文档。你可以使用像 add(), load(), remove()等方法来操纵你的网格商店...

FYI。 这不是

Ext.Cmp() 

Ext.getCmp('myGrid')