2012-05-09 12 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 
    }] 
}); 

隠しフィールドには、フォームに読み込むモデルの1つのフィールドの値しか格納できません。

関連する問題