2012-10-31 12 views
5

sto implementando il progetto in extjs. Sono molto nuovo per gli extjs. ho creato la vista con due domande e opzioni di Textfields e ho anche creato due pulsanti come ok e annulla.Come inserire valori nell'archivio in extjs

Il mio codice vista:

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'} 
] 
}); 

Sul tasto OK Fare clic voglio aggiungere questi dati TextField in negozio.

Quindi puoi suggerirmi come scrivere evento buttonclick per aggiungere tutti questi dati di campi di testo nello store.

+0

per favore qualcuno può aiutarmi? –

risposta

5

Prendete questo negozio come ad esempio:

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 
} 

È possibile ottenere i dati del modulo e quindi aggiungere questi dati al negozio.

Cyaz

+0

Grazie per la tua risposta. E se voglio aggiungere anche le domande e le opzioni inserite in gridview e ho bisogno di rendere quell'opzione campo di input come textbox vuoto per aggiungere più opzioni per la stessa domanda.E visualizzare tutte queste opzioni inserite in griglia . Quindi in che modo dovrei fare questo? –

+1

Basta collegare il negozio a un pannello della griglia. Ad esempio: Ext.create ('Ext.grid.Panel', {title: 'MyGrid', larghezza: 300, altezza: 300, archivio: archivio, colonne: [{nome: 'Domanda', dataIndex: 'Domanda' }, {nome: 'Opzione', dataIndex: 'Opzione'}]}); Se hai trovato questa risposta corretta, per favore fallo;) – Wilk

+0

quando sto inserendo l'evento onbuttonclick sopra, la vista non sta ricevendo il codice display.controller is-Ext.define ('AM.controller.Users', { \t estendono: 'Ext.app.Controller', viste: [ 'user.List'] \t negozio: [ 'utenti'] modello: [ 'User'], init: function() { \t this.control ({ "pulsante": { \t fare clic su: Ext.msg.alert ("Heloo")}});} onButtonClick: function (pulsante) {var form = button.up ('form'). GetForm() ; if (form.isValid()) { \t var values ​​= form.getFieldValues ​​(); \t store.add ({ \t Domanda: values.Question, \t Opzione: values.Option \t}); \t} \t}}); –

Problemi correlati