2012-11-12 2 views
0

양식이 있습니다. 일부 데이터를 표시하는 패널. 서버에서 XML로 데이터를 받고 XMLReader와 함께상점에서 Form.Panel로 데이터를로드하는 방법은 무엇입니까?

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

을 사용하여 데이터를 직접 필드에로드합니다.

이제 3 가지 형식으로 데이터를 표시하고 싶습니다. 패널. 하지만 패널에 데이터를로드하기 전에 데이터를 한 번로드하는 것을 원치 않습니다. 이 경우 form.load()가 더 이상 작동하지 않는다고 생각합니다.

데이터를 여러 패널에로드하는 방법은 무엇입니까? 내가 데이터를 편집하고 다시 보낼 수 있어야하는 상점 원인을 사용해야합니까?

답변

0

나는 저장소가있는 두 가지 솔루션을 찾았습니다.

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); 
    

이 응답 takken을 엽차 포럼에서. http://www.sencha.com/forum/showthread.php?248760-How-to-load-data-from-store-to-FormPanel&p=912235#post912235

0

필요한 필드가있는 3 개의 하위 패널이있는 하나의 기본 양식 패널로 작업 할 수 있습니다. 당신이 하나를 관리 할 수없는 경우 그렇지 않으면

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

: 양식에 부하()를 호출하면 (기본 폼에 포함 된 요소이기 때문에) 서로 다른 하위 패널에있는 경우, 필드는 초기화됩니다 (Ext.Ajax.request를 사용하여) Ajax 호출을 직접 관리하고 결과 객체를 사용하여 각 양식을 초기화하는 것을 고려해야합니다.

관련 문제