1

我想通过拖放将放置在容器 ( layout:hbox ) 内的新字段动态添加到 FormPanel。

在表单面板中放入时,我可以动态添加字段。但我想添加他们掉落的位置。

var dynamicField = Ext.create('Ext.container.Container',{
                            layout : 'hbox',

                             items: [{
                                                                xtype:'textfield',
                                                                fieldLable:'Test'

                                                           }, {
                                     xtype : 'image',
                                     src : 'images/cancel.png',
                                     hidden : true

                                  }]
                                      });


                          formPanel.add(dynamicField);

                               //   tried    dynamicField.showAt(e.getXY());

与 dynamicField.showAt(e.getXY()) 没有运气 //e 是事件对象

有人可以建议我如何实现吗?

问候网址

4

1 回答 1

0

sencha 提供了一个示例,http ://docs.sencha.com/extjs/4.1.3/#!/example/dd/dragdropzones.html 。在此我们正在创建一个自定义的可放置区域,我们可以添加任何东西。检查此示例的代码。

 onNodeDrop : function(target, dd, e, data){
        var rowBody = Ext.fly(target).findParent('.x-grid-rowbody-tr', null, false),
            mainRow = rowBody.previousSibling,
            h = gridView.getRecord(mainRow),
            targetEl = Ext.get(target);

        targetEl.insert(<your control>); // here we can add control directly into it.
        return true;
    }

为了理解拖放,有一个很好的指南:http ://docs.sencha.com/extjs/4.1.3/#!/guide/drag_and_drop

于 2013-04-22T05:29:42.437 回答