Nella mia applicazione Extjs4 ho una griglia e un modulo.Extjs 4, moduli con caselle di controllo e loadRecord
Il modello utente:
Ext.define('TestApplication.model.User', {
extend: 'Ext.data.Model',
fields: [
{ name: 'id', type: 'int', useNull: true },
{ name: 'email', type: 'string'},
{ name: 'name', type: 'string'},
{ name: 'surname', type: 'string'}
],
hasMany: { model: 'Agency', name: 'agencies' },
});
e l'Agenzia:
Ext.define('Magellano.model.Agency', {
extend: 'Ext.data.Model',
fields: [
{name: 'id', type: 'int', useNull: true},
{name: 'name', type: 'string'}
]
});
Poi nella mia forma Sto creando le caselle:
[...]
initComponent: function() {
var store = Ext.getStore('Agencies');
var checkbox_values = {xtype: 'checkboxfield', name: 'agencies[]'};
var checkboxes = []
store.each(function(record){
var checkbox = {xtype: 'checkboxfield', name: 'agency_ids',
boxLabel: record.get('name'), inputValue: record.get('id')};
checkbox.checked = true;
checkboxes.push(checkbox)
});
this.items = [{
title: 'User',
xtype: 'fieldset',
flex: 1,
margin: '0 5 0 0',
items: [{
{ xtype: 'textfield', name: 'email', fieldLabel: 'Email' },
{ xtype: 'textfield', name: 'name', fieldLabel: 'Nome' },
}, {
title: 'Agencies',
xtype: 'fieldset',
flex: 1,
items: checkboxes
}];
[...]
tutto funziona bene per l'invio di modulo Ricevo tutti i dati e posso salvarli nel database.
Quando utente clicca sulla griglia il record viene caricato nella forma alla norma:
form.loadRecord(record);
Il problema è che le caselle non sono controllati. Esistono convenzioni di denominazione per gli elementi casella di controllo in modo che Extjs possa rilevare cosa impostare? Come posso impostare le relazioni in modo che il modulo comprenda cosa controllare? O dovrei fare tutto a mano?
ho aggiunto questo params a Casella di controllo ma niente cambia ... qual è esattamente il problema con le caselle di controllo sul modulo? – efirat
il mio problema era che stavo usando xtype: 'textfield' con inputType: 'checkbox' che appariva funzionale ma non funzionava correttamente fino a quando non ho cambiato il xtype. grazie –