3
* Copyright(c) 2006-2009, Ext JS, LLC.
6
* http://extjs.com/license
11
* Copyright(c) 2006-2008, Ext JS, LLC.
14
* http://extjs.com/license
17
Ext.onReady(function(){
21
{ name : "Record 0", column1 : "0", column2 : "0" },
22
{ name : "Record 1", column1 : "1", column2 : "1" },
23
{ name : "Record 2", column1 : "2", column2 : "2" },
24
{ name : "Record 3", column1 : "3", column2 : "3" },
25
{ name : "Record 4", column1 : "4", column2 : "4" },
26
{ name : "Record 5", column1 : "5", column2 : "5" },
27
{ name : "Record 6", column1 : "6", column2 : "6" },
28
{ name : "Record 7", column1 : "7", column2 : "7" },
29
{ name : "Record 8", column1 : "8", column2 : "8" },
30
{ name : "Record 9", column1 : "9", column2 : "9" }
35
// Generic fields array to use in both store defs.
37
{name: 'name', mapping : 'name'},
38
{name: 'column1', mapping : 'column1'},
39
{name: 'column2', mapping : 'column2'}
42
// create the data store
43
var gridStore = new Ext.data.JsonStore({
50
// Column Model shortcut array
52
{ id : 'name', header: "Record Name", width: 160, sortable: true, dataIndex: 'name'},
53
{header: "column1", width: 50, sortable: true, dataIndex: 'column1'},
54
{header: "column2", width: 50, sortable: true, dataIndex: 'column2'}
57
// declare the source Grid
58
var grid = new Ext.grid.GridPanel({
59
ddGroup : 'gridDDGroup',
62
enableDragDrop : true,
64
autoExpandColumn : 'name',
68
selModel : new Ext.grid.RowSelectionModel({singleSelect : true})
73
// Declare the text fields. This could have been done inline, is easier to read
74
// for folks learning :)
75
var textField1 = new Ext.form.TextField({
76
fieldLabel : 'Record Name',
81
var textField2 = new Ext.form.TextField({
82
fieldLabel : 'Column 1',
87
var textField3 = new Ext.form.TextField({
88
fieldLabel : 'Column 2',
93
// Setup the form panel
94
var formPanel = new Ext.form.FormPanel({
96
title : 'Generic Form Panel',
97
bodyStyle : 'padding: 10px; background-color: #DFE8F6',
109
//Simple 'border layout' panel to house both grids
110
var displayPanel = new Ext.Panel({
122
text : 'Reset Example',
123
handler : function() {
124
//refresh source grid
125
gridStore.loadData(myData);
126
formPanel.getForm().reset();
133
// used to add records to the destination stores
134
var blankRecord = Ext.data.Record.create(fields);
140
// This will make sure we only drop to the view container
141
var formPanelDropTargetEl = formPanel.body.dom;
143
var formPanelDropTarget = new Ext.dd.DropTarget(formPanelDropTargetEl, {
144
ddGroup : 'gridDDGroup',
145
notifyEnter : function(ddSource, e, data) {
147
//Add some flare to invite drop.
148
formPanel.body.stopFx();
149
formPanel.body.highlight();
151
notifyDrop : function(ddSource, e, data){
153
// Reference the record (single selection) for readability
154
var selectedRecord = ddSource.dragData.selections[0];
157
// Load the record into the form
158
formPanel.getForm().loadRecord(selectedRecord);
161
// Delete record from the grid. not really required.
162
ddSource.grid.store.remove(selectedRecord);
b'\\ No newline at end of file'