在ExtJS4中,从树拖放到编辑器网格的单元格

在ExtJS4中,从树拖放到编辑器网格的单元格,extjs,extjs4,Extjs,Extjs4,我想从树中拖动一个叶节点,并将其放到编辑器网格单元中,以便该单元将叶的文本作为数据 我正在使用编辑器网格,在其中动态添加行 下面是我的代码 Ext.define('Field_model', {<br> extend: 'Ext.data.Model',<br> fields: [<br> {name: 'select_field'},

我想从树中拖动一个叶节点,并将其放到编辑器网格单元中,以便该单元将叶的文本作为数据

我正在使用编辑器网格,在其中动态添加行

下面是我的代码

        Ext.define('Field_model', {<br>
            extend: 'Ext.data.Model',<br>
            fields: [<br>

                        {name: 'select_field'},
                        {name: 'select_function'},
                        {name: 'symbolic_name'}
                ]
        });<br>
        `var cellEditing_field = Ext.create('Ext.grid.plugin.CellEditing', {clicksToEdit: 1});`

        `var field_store = Ext.create('Ext.data.JsonStore', {
                    model: 'Field_model',
                    data:[
                                         {
                                           "select_field":"click toedit...",
                                           "select_function":"click to select...",
                                           "symbolic_name":"click to edit..."
                                         }
                                        ]
                    });`

        var Field_grid = Ext.create('ListGrid', {<br>
            store: field_store,<br>
            columns: [{<br>
                header: 'Add/Delete',<br>
                xtype: 'actioncolumn',<br>
                width:130,<br>
                sortable: false,<br>
                items: [{<br>
                        icon: 'add.png',<br>
                        tooltip: 'Add',<br>
                         handler : function(){<br>
                                                var r = Ext.create('Field_model', {<br>
                                                    select_field: 'click to edit...',<br>
                                                    select_function: 'click to select...',<br>
                                                    symbolic_name: 'click to edit...'<br>
                                                });<br>                             field_store.insert(0, r);<br>
                                                cellEditing_field.startEditByPosition({row: 0, column: 0});<br>
            }<br>
                        },{<br>
                        icon: 'delete.png',<br>
                        tooltip: 'Delete',<br>
                        handler: function(grid, rowIndex, colIndex) {<br>
                            if(grid.getStore().data.length==1)<br>
                            {<br>
                            alert('cannot delete this record');<br>
                            }
                            else<br>
                            {<br>
                            field_store.removeAt(rowIndex);<br>
                            }<br>
                            }<br>
                    }]<br>
            },{<br>
                header: 'Select Field',<br>
                dataIndex: 'select_field',<br>
                width:130,<br>
                editor: {<br>
                        xtype:'textfield'<br>

                    }
            }, {
                header: 'Function',
                dataIndex: 'select_function',
                width: 130,
                editor: {
                            xtype:'combobox',
                            triggerAction:'all',
                            mode:'local', 
                            store: ['Distinct','Sum','Count']
                          }
            }, {
                header: 'Symbolic Name',
                dataIndex: 'symbolic_name',
                width: 130,
                editor: {
                        xtype:'textfield'

                    }
            }],
            selModel: {
                selType: 'cellmodel'
            },
            plugins: [cellEditing_field]
        });
Ext.define('Field_model',{
扩展:“Ext.data.Model”,
字段:[
{name:'选择_字段'}, {name:'选择函数'}, {name:'symbolic_name'} ] });
`var celleediting_field=Ext.create('Ext.grid.plugin.celleediting',{clicksToEdit:1})` `var field_store=Ext.create('Ext.data.JsonStore'{ 模型:“场_模型”, 数据:[ { “选择字段”:“单击编辑…”, “选择功能”:“单击以选择…”, “符号名称”:“单击以编辑…” } ] });` var Field_grid=Ext.create('ListGrid',{
存储:字段存储,
列:[{
标题:“添加/删除”,
xtype:'actioncolumn',
宽度:130,
可排序:false,
项目:[{
图标:“add.png”,
工具提示:“添加”,
处理程序:函数(){
var r=Ext.create('Field_model',{
选择_字段:“单击以编辑…”,
选择功能:“单击以选择…”,
符号名称:“单击以编辑…”
})
字段存储。插入(0,r);
cellEditing_field.startEditByPosition({行:0,列:0});
}
},{
图标:“delete.png”,
工具提示:“删除”,
处理程序:函数(网格、行索引、colIndex){
if(grid.getStore().data.length==1)
{
警报(“无法删除此记录”);
} 否则
{
field_store.removeAt(行索引);
}
}
}]
},{
标题:“选择字段”,
数据索引:“选择_字段”,
宽度:130,
编辑:{
xtype:'textfield'
} }, { 标题:“函数”, dataIndex:“选择函数”, 宽度:130, 编辑:{ xtype:“组合框”, 触发操作:'all', 模式:'本地', 存储:['Distinct'、'Sum'、'Count'] } }, { 标题:“符号名”, dataIndex:'符号名称', 宽度:130, 编辑:{ xtype:'textfield' } }], selModel:{ selType:'cellmodel' }, 插件:[cellEditing\u字段] });
上面是我正在使用的网格


提前谢谢

嘿,我有一个类似的要求,你能做到吗?