2012-10-31 106 views
5

我正在用extjs實施項目。我對extjs很陌生。 我已經創建了兩個Textfields問題和選項的視圖,並創建了兩個按鈕,並確定並取消。如何在商店中插入值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'} 
] 
}); 

OK按鈕點擊我想將這些文本框的數據添加到存儲。

所以,你可以請我建議我如何寫buttonclick事件來將所有這些文本字段數據添加到商店。

+0

請問有人可以幫我嗎? –

回答

5

以這家店爲例:

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 
} 

你得到表單數據,然後將這些數據添加到存儲。

Cyaz

+0

Thanx爲您的reply.And如果我也想添加那些插入的問題和它在GridView中的選項,並需要使該選項輸入字段爲空白文本框,以便爲相同的問題添加更多的選項。並顯示所有這些插入的選項在gridview 。那麼我應該怎樣才能做到這一點? –

+1

只需將商店附加到網格面板即可。例如:Ext.create('Ext.grid.Panel',{title:'MyGrid',width:300,height:300,store:store,columns:[{name:'Question',dataIndex:'Question' },{name:'Option',dataIndex:'Option'}]}); 如果你找到這個答案是正確的,請使它;) – Wilk

+0

當我插入上面onbuttonclick事件,視圖沒有得到display.controller代碼是-Ext.define('AM.controller.Users',{ (''用戶'], init:function(){ \t this.control(''用戶'], {button}「:{ \t click:Ext.msg.alert(」Heloo「)}});} onButtonClick:function(button){var form = button.up('form')。getForm() ; if(form.isValid()){ \t var values = form.getFieldValues(); \t store.add({ \t問題:values.Question, \t選項:values.Option \t}); \t} \t}}); –