如何在 extjs 中的 store 中插入值

Posted

技术标签:

【中文标题】如何在 extjs 中的 store 中插入值【英文标题】:How to insert values in store in extjs 【发布时间】:2012-10-31 10:26:59 【问题描述】:

我正在用 extjs 实现项目。我对 extjs 很陌生。 我用两个文本字段问题和选项创建了视图,还创建了两个按钮作为确定和取消。

我的查看代码:

Ext.create('Ext.form.Panel', 
    title: 'Question-option',
    width: 300,
    bodyPadding: 10,
    renderTo: Ext.getBody(),        
    items: [
        xtype: 'textfield',
        name: 'Question',
        fieldLabel: 'Question',
        allowBlank: false  // requires a non-empty value
    , 
        xtype: 'textfield',
        name: 'Option',
        fieldLabel: 'Option',
        vtype: 'Option'  // requires value to be a valid email address format
    ,
    xtype: 'button', text: 'Ok', 
    xtype: 'button', text: 'Cancel'
 ]
);

在确定按钮上单击我想将这些文本字段数据添加到存储中。

那么您能否建议我如何编写 buttonclick 事件以将所有这些文本字段数据添加到存储中。

【问题讨论】:

【参考方案1】:

以本店为例:

Ext.define ('model', 
  extend: 'Ext.data.Model' ,
  fields: ['Question', 'Option']
);

var store = Ext.create ('Ext.data.Store', 
  model: 'model'
);

// Handler called on button click event
function handler (button) 
  var form = button.up('form').getForm ();

  // Validate the form
  if (form.isValid ()) 
    var values = form.getFieldValues ();
    store.add (
      Question: values.Question ,
      Option: values.Option
    );
  
  else  // do something else here

您获取表单数据,然后将这些数据添加到存储中。

齐亚兹

【讨论】:

感谢您的回复。如果我还想在 gridview 中添加那些插入的问题及其选项,并且需要将该选项输入字段设置为空白文本框,以便为同一问题添加更多选项。并且在 gridview 中显示所有这些插入的选项。那么我应该怎么做呢? 只需将商店附加到网格面板。例如:Ext.create ('Ext.grid.Panel', title: 'MyGrid', width: 300, height: 300, store: store, columns: [name: 'Question', dataIndex: 'Question' , name: 'Option', dataIndex: 'Option']);如果你发现这个答案是正确的,请回答;) 当我在 onbuttonclick 事件上方插入时,view 没有得到 display.controller 代码 is-Ext.define('AM.controller.Users', extend: 'Ext.app.Controller', views :['user.List'] 存储:['Users'] 模型:['User'],初始化:function() this.control( "button": click: Ext.msg.alert("Heloo" ) ); onButtonClick: function(button) v​​ar form =button.up('form').getForm (); if (form.isValid ()) var values = form.getFieldValues (); store.add ( 问题: values.Question , 选项: values.Option ); );

以上是关于如何在 extjs 中的 store 中插入值的主要内容,如果未能解决你的问题,请参考以下文章

如何从 Sencha extjs 获取存储价值

如何在 ExtJs 中的回调函数后更改隐藏值

ExtJS 4 - 如何加载带有来自表单的最新值的参数的网格存储?

如何从 TreeStore Extjs4.1 获取数据

Extjs中如何遍历grid的数据(正在显示的数据)

ExtJs分组中的clearfilter后如何获取特定组的所有记录