7 Ext.define('DataObject', {
8 extend: 'Ext.data.Model',
9 fields: ['name', 'column1', 'column2']
12 Ext.onReady(function(){
15 { name : "Rec 0", column1 : "0", column2 : "0" },
16 { name : "Rec 1", column1 : "1", column2 : "1" },
17 { name : "Rec 2", column1 : "2", column2 : "2" },
18 { name : "Rec 3", column1 : "3", column2 : "3" },
19 { name : "Rec 4", column1 : "4", column2 : "4" },
20 { name : "Rec 5", column1 : "5", column2 : "5" },
21 { name : "Rec 6", column1 : "6", column2 : "6" },
22 { name : "Rec 7", column1 : "7", column2 : "7" },
23 { name : "Rec 8", column1 : "8", column2 : "8" },
24 { name : "Rec 9", column1 : "9", column2 : "9" }
27 // create the data store
28 var firstGridStore = Ext.create('Ext.data.Store', {
34 // Column Model shortcut array
36 {text: "Record Name", flex: 1, sortable: true, dataIndex: 'name'},
37 {text: "column1", width: 70, sortable: true, dataIndex: 'column1'},
38 {text: "column2", width: 70, sortable: true, dataIndex: 'column2'}
41 // declare the source Grid
42 var firstGrid = Ext.create('Ext.grid.Panel', {
46 ptype: 'gridviewdragdrop',
47 dragGroup: 'firstGridDDGroup',
48 dropGroup: 'secondGridDDGroup'
51 drop: function(node, data, dropRec, dropPosition) {
52 var dropOn = dropRec ? ' ' + dropPosition + ' ' + dropRec.get('name') : ' on empty view';
53 Ext.example.msg("Drag from right to left", 'Dropped ' + data.records[0].get('name') + dropOn);
57 store : firstGridStore,
64 var secondGridStore = Ext.create('Ext.data.Store', {
68 // create the destination Grid
69 var secondGrid = Ext.create('Ext.grid.Panel', {
72 ptype: 'gridviewdragdrop',
73 dragGroup: 'secondGridDDGroup',
74 dropGroup: 'firstGridDDGroup'
77 drop: function(node, data, dropRec, dropPosition) {
78 var dropOn = dropRec ? ' ' + dropPosition + ' ' + dropRec.get('name') : ' on empty view';
79 Ext.example.msg("Drag from left to right", 'Dropped ' + data.records[0].get('name') + dropOn);
83 store : secondGridStore,
86 title : 'Second Grid',
90 //Simple 'border layout' panel to house both grids
91 var displayPanel = Ext.create('Ext.Panel', {
100 defaults : { flex : 1 }, //auto stretch
108 items: ['->', // Fill
110 text: 'Reset both grids',
112 //refresh source grid
113 firstGridStore.loadData(myData);
115 //purge destination grid
116 secondGridStore.removeAll();