2012-05-09 4 views
0

У меня есть модель и хранилище, и мне нужно присвоить значение скрытому полю из магазина.Как назначить значение хранилища скрытому полю

Ext.define('loginUser', { 
      extend: 'Ext.data.Model', 
      fields: [    
       { name: 'id', mapping: 'Provider.id' }, 
       { name: 'name', mapping: 'Provider.name' } 
      ] 
     }); 


loggedUser = Ext.create('Ext.data.Store', { 
      model: 'loginUser', 
      autoLoad: true, 
      proxy: { 
       type: 'ajax', 
       url : url+'/lochweb/loch/users/getLoggedUser', 
       reader: { 
       type: 'json', 
       root: 'Users' 
       }     
      } 

     }); 

Мне нужно присвоить значение магазина для скрытого поля следующим образом,

CProvider = new Ext.create('Ext.ux.form', { 
    items: [{ 
     xtype:'hidden',      
     name:'clearingHouseID',      
     store:loggedUser 
     value:id 
    }] 
}); 

но значение не присваивается скрытой стоимости. Есть ли способ присвоить значение хранилища скрытому полю?

Благодаря

ответ

1

Вы можете связать запись в форме с помощью функции loadRecord формы. Что-то вдоль этих линий:

loggedUser.on('load', function (store, records, success) { 
    if (success && records.length === 1) { 
     CProvider.loadRecord(records[0]); 
    }  
}); 

Затем измените поле формы, чтобы иметь имя поля в модели, которую следует хранить в скрытом поле.

CProvider = new Ext.create('Ext.ux.form', { 
    items: [{ 
     xtype:'hidden',      
     name:'name',      
     store:loggedUser 
     value:id 
    }] 
}); 

В скрытом поле хранится только одно поле для модели, загружаемой в форму.

Смежные вопросы