0

いくつかのデータを表示する form.Panel があります。サーバーからデータを XML として受け取り、それを直接フィールドにロードします。

podform.getForm().load({url:url_servlet+'kadastr_zemform.jsp' ...

XMLReader とともに。

ここで、データを 3 つの個別のフォームで表示したいと考えています。しかし、パネルにロードする前にデータを一度ロードしたくありません。その場合、 form.load() は機能しなくなったと思います。

データを複数のパネルにロードするにはどうすればよいですか? データを編集して返送できるようにする必要があるため、ストアを使用する必要がありますか?

4

2 に答える 2

0

store で 2 つの解決策を見つけました。

var store = new Ext.data.Store({                
            url: url_servlet+"kadastr_zemform.jsp",
            reader: new Ext.data.XmlReader({
            totalProperty: "results", 
            record: "contact",
                            fields: [
                                    ]})
});
store.load();
  1. 使用できます

     podform.getForm().setValues(store.getRange(0)[0].data);
    
  2. またはこれ:

    var record = store.getAt(0);
    podform.getForm().loadRecord(record);
    

この回答は、senchaフォーラムから取得されました。http://www.sencha.com/forum/showthread.php?248760-データをロードする方法-from-store-to-FormPanel&p=912235#post912235

于 2012-11-16T05:16:19.203 に答える
0

必要なフィールドを持つ 3 つのサブパネルを含む 1 つのメイン フォーム パネルで作業できます。次に、フォームで load() を呼び出すと、フィールドが異なるサブパネルにある場合もフィールドが初期化されます (要素がメイン フォームに含まれているため)。

Ext.create('Ext.form.Panel',{
   layout: 'vbox',
   items: [
   {itemId: 'panel1', xtype: 'panel', layout: 'form', items: [{xtype: 'textfield', name: 'text1'}
   ]},
   {itemId: 'panel2', xtype: 'panel', layout: 'form', items: [{xtype: 'textfield', name: 'text2'},
   {itemId: 'panel3', xtype: 'panel', layout: 'form', items: [{xtype: 'textfield', name: 'text3'}]
});

それ以外の場合、サブパネルを持つフォーム パネルを 1 つだけ管理できない場合は、(Ext.Ajax.request を使用して) Ajax 呼び出しを直接管理し、結果のオブジェクトを使用して各フォームを初期化することを検討する必要があります。

于 2012-11-12T14:00:05.983 に答える