Book Image

Learning Ext JS 3.2

By : Shea Frederick, Colin Ramsay, Steve 'Cutter' Blades, Nigel White
Book Image

Learning Ext JS 3.2

By: Shea Frederick, Colin Ramsay, Steve 'Cutter' Blades, Nigel White

Overview of this book

<p>As more and more of our work is done through a web browser, and more businesses build web rather than desktop applications, users want web applications that look and feel like desktop applications. Ext JS is a JavaScript library that makes it (relatively) easy to create desktop-style user interfaces in a web application, including multiple windows, toolbars, drop-down menus, dialog boxes, and much more. Yet, most web developers fail to use this amazing library to its full power.</p> <p>This book covers all of the major features of the Ext framework using interactive code and clear explanation coupled with loads of screenshots. Learning Ext JS will help you create rich, dynamic, and AJAX-enabled web applications that look good and perform beyond the expectations of your users.</p> <p>From the building blocks of the application layout, to complex dynamic Grids and Forms, this book will guide you through the basics of using Ext JS, giving you the knowledge required to create rich user experiences beyond typical web interfaces. It will provide you with the tools you need to use AJAX, by consuming server-side data directly into the many interfaces of the Ext JS component library. You will also learn how to use all of the Ext JS widgets and components smartly, through interactive examples.By using a series of straightforward examples backed by screenshots, Learning Ext JS 3.2 will help you create web applications that look good and perform beyond the expectations of your users.</p>
Table of Contents (22 chapters)
Learning Ext JS 3.2
Credits
About the Authors
About the Reviewers
Preface

Advanced grid formatting


As we are in the mood to create some user-grid interactions, let us add some more buttons that do fun stuff.

We will now add a button to the top toolbar to allow us to hide or show a column. We will also change the text of the button based on the visibility of the column—a fairly typical interaction:

{
text: 'Hide Price',
handler: function(btn){
var cm = grid.getColumnModel(),
pi = cm.getIndexById('price');
// is this column visible?
if (cm.isHidden(pi)){
cm.setHidden(pi,false);
btn.setText('Hide Price');
}else{
cm.setHidden(pi,true);
btn.setText('Show Price');
}
}
}

We have used a new method here—getIndexById, which, as you can imagine, gets the column index, which will be a number from zero to one less than the total number of columns. This number is an indicator of where that column is in relation to the other columns. In our grid code, the column price is the fourth column, which means that the index is three because indexes start at zero.

Paging the grid

Paging...