在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字段]
});
上面是我正在使用的网格
提前谢谢嘿,我有一个类似的要求,你能做到吗?