Book Image

Ext JS 3.0 Cookbook

Book Image

Ext JS 3.0 Cookbook

Overview of this book

Using Ext JS you can easily build desktop-style interfaces in your web applications. Over 400,000 developers are working smarter with Ext JS and yet most of them fail to exercise all of the features that this powerful JavaScript library has to offer. Get to grips with all of the features that you would expect with this quick and easy-to-follow Ext JS Cookbook. This book provides clear instructions for getting the most out of Ext JS with and offers many exercises to build impressive rich internet applications. This cookbook shows techniques and "patterns" for building particular interface styles and features in Ext JS. Pick what you want and move ahead. It teaches you how to use all of the Ext JS widgets and components smartly, through practical examples and exercises. Native and custom layouts, forms, grids, listviews, treeviews, charts, tab panels, menus, toolbars, and many more components are covered in a multitude of examples.The book also looks at best practices on data storage, application architecture, code organization, presenting recipes for improving themóour cookbook provides expert information for people working with Ext JS.
Table of Contents (15 chapters)
Ext JS 3.0 Cookbook
Credits
About the Author
About the Reviewer
Preface

Using drag-and-drop between two grids


If you have worked with data mining and analysis interfaces, you have probably seen the application of drag-and-drop feature between two grids. This recipe explains how you can enable drag-and-drop between two grids in Ext JS.

The example uses a Movies grid and a Selected Movies grid, as shown in the next screenshot:

If you drag the selected rows in the Movies grid and drop them in the Selected Movies grid, the grids' data stores will be updated to reflect the changes:

How to do it...

  1. 1. Create fields for the two data stores used:

    var sharedFields = ['film_id', 'title', 'rating',
    { name: 'length', type: 'int' },
    { name: 'price', type: 'float' }
    ]
    
  2. 2. Create a data store for the available movies grid:

    var moviesStore = new Ext.data.JsonStore({
    url: 'grid-to-grid-drag-drop.php',
    root: 'movies',
    totalProperty: 'count',
    baseParams: { action: 'movies' },
    fields: sharedFields
    });
    
  3. 3. Create a data store for the selected movies grid:

    var selectedMoviesStore = new...