2012-03-20 38 views
0

这里,煎茶团队解释如何有一个一对多的关系:ExtJS的,一对多的关系,嵌套表

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需要付出很多 - 基本上,用户有许多订单,其中每个订单都由多个订单项组成。最后,每个OrderItem的 有一个单一的产品。”

尼斯。

现在我想有一个表格,其中有用户信息以及用户的订单的网格(不MVC框架,只是AA派生类的form.Panel)。

我怎么能这样做呢?这是我的form.Panel类,那里只有领域。我只是想给它添加了与Product链接的DataGrid的开始。

因此,我创建了我的商店,例如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

我检查您的答案是否有效,但我会将整个解决方案作为答案发布,以便您可以检查我所做的工作。 – 2012-03-22 07:51:34