2012-03-20 2 views
0

는 엽차 팀은 한 많은 관계를 가지고하는 방법에 대해 설명합니다의 ExtJS, oneToMany 관계 여기에 중첩 테이블

http://docs.sencha.com/ext-js/4-0/#!/api/Ext.data.Store

을 그리고 당신은 여기에 자세히 좀 더 :

http://docs.sencha.com/ext-js/4-0/#!/api/Ext.data.reader.Reader

그들이 설명하는 곳

"이것은 b 취할 많은 것들 - 기본적으로 사용자는 많은 Order를 가지고 있으며, 각각 은 여러 OrderItem으로 구성됩니다. 마지막으로 각 OrderItem에 는 하나의 제품이있다. "

니스.

을 이제 사용자 정보 PLUS 사용자의 주문 그리드 (안 MVC 프레임 워크, 단지 AA 거기에 양식을 갖고 싶어 form.Panel의 파생 클래스).

어떻게 여기에만 필드가있는 곳. 난 그냥 그것에 Product와 연결되는 데이터 그리드를 추가 할 내 form.Panel 클래스의 시작인가?이 작업을 수행 할 수 있습니다.

그래서 나는 Sencha가 준 예제에서와 같이 상점을 만들고 MyFramework.form.Panel에 연결된 그리드를 만들고 모든 것이 잘 작동합니다. 나는 그 클래스의 일대 다 그리드 인 "중첩 테이블"과 같이 현재 사용자에게 속한 제품을 표시하려고합니다.

어떻게하면 좋을까요?

Ext.define('MyFramework.form.Panel', { 
    extend: 'Ext.form.Panel', 
    alias: 'widget.writerform', 

    requires: ['Ext.form.field.Text'], 

    initComponent: function(){ 
     this.addEvents('create'); 
     Ext.apply(this, { 
      activeRecord: null, 
      iconCls: 'icon-user', 
      frame: true, 
      title: 'User', 
      defaultType: 'textfield', 
      bodyPadding: 5, 
      fieldDefaults: { 
       anchor: '100%', 
       width: 500, 
       labelWidth: 200, 
       labelAlign: 'right' 
      }, 
      items: [{ 
       xtype:'tabpanel', 
       activeTab: 0, 
       defaults:{ 
        layout: 'fit', 
        bodyStyle:'padding:10px' 
       }, 
       items:[{ 
        title:'General information', 
        defaultType: 'textfield', 
        items: [{ 
         fieldLabel: 'Titre ', 
         name: 'titre', 
         allowBlank: false 
        },{ 
         fieldLabel: 'Image grande ', 
         name: 'imgGrande' 
        }] 
       },{ 
        title:'Products', 
        defaultType: 'textfield', 
        items: [ 
         /* 
         * Advices/example here! 
         * I'm stuck! 
         */ 
        ] 
       }] 
      }] 
     }); 
     this.callParent(); 
    } 
}); 

답변

0

Dynamic Form interacting with an embbed grid의 개념으로 작업 할 수 있습니다.

당연히 그것은 당신의 요구에 즉시 부합하지 않습니다. 내 충고는 거기에서부터 시작하여 엠블드 그리드와 관련된 필드를 구현하려고합니다. 귀하의 경우에는 제품 그리드입니다.

그런 식으로 엠 베드 그리드 선택으로 채워진 폼은 없지만 ComboBox처럼 채워지지만 그리드 선택으로 채워지는 단일 필드가 있습니다.

아마도 그 문제와 관련이있는 구성 요소 인 Ext.form.LookUp 필드를 사용해보십시오.

이 구성 요소는 one to one 관계와 같은 단일 레코드로 작동하므로 찾고있는 것과 정확히 일치하지 않습니다. 하지만 거기에서 뭔가를 구현하려고 할 수 있습니다.

+0

답변을 유효한 것으로 확인했지만 전체 솔루션을 답변으로 게시하여 수행 한 작업을 확인할 수 있습니다. –