Properties Methods Events Config Options Direct Link

    Observable
      Component
        BoxComponent
          Container
            Panel
              GridPanel

# Class Ext.grid.GridPanel

Package: | Ext.grid
Defined In: | GridPanel.js
Class: | GridPanel
Subclasses: | EditorGridPanel, TableGrid
Extends: | Panel
xtype: | grid

This class represents the primary interface of a component based grid control to represent data in a tabular format of rows and columns. The GridPanel is composed of the following:

- Store : The Model holding the data records (rows)
- Column model : Column makeup
- View : Encapsulates the user interface
- selection model : Selection behavior

Example usage:

    var grid = new Ext.grid.GridPanel({
        store: new Ext.data.Store({
            autoDestroy: true,
            reader: reader,
            data: xg.dummyData
        }),
        colModel: new Ext.grid.ColumnModel({
            defaults: {
                width: 120,
                sortable: true
            },
            columns: [
                {id: 'company', header: 'Company', width: 200, sortable: true, dataIndex: 'company'},
                {header: 'Price', renderer: Ext.util.Format.usMoney, dataIndex: 'price'},
                {header: 'Change', dataIndex: 'change'},
                {header: '% Change', dataIndex: 'pctChange'},
                // instead of specifying renderer: Ext.util.Format.dateRenderer('m/d/Y') use xtype

                {
                    header: 'Last Updated', width: 135, dataIndex: 'lastChange',
                    xtype: 'datecolumn', format: 'M d, Y'
                }
            ],
        }),
        viewConfig: {
            forceFit: true,

    //      Return CSS class to apply to rows depending upon data values

            getRowClass: function(record, index) {
                var c = record.get('change');
                if (c < 0) {
                    return 'price-fall';
                } else if (c > 0) {
                    return 'price-rise';
                }
            }
        },
        sm: new Ext.grid.RowSelectionModel({singleSelect:true}),
        width: 600,
        height: 300,
        frame: true,
        title: 'Framed with Row Selection and Horizontal Scrolling',
        iconCls: 'icon-grid'
    });

Notes:

- Although this class inherits many configuration options from base classes, some of them (such as autoScroll, autoWidth, layout, items, etc) are not used by this class, and will have no effect.
- A grid requires a width in which to scroll its columns, and a height in which to scroll its rows. These dimensions can either be set explicitly through the `height` and `width` configuration options or implicitly set by using the grid as a child item of a Container which will have a layout manager provide the sizing of its child items (for example the Container of the Grid may specify `layout:'fit'`).
- To access the data in a Grid, it is necessary to use the data model encapsulated by the Store. See the cellclick event for more details.

## Config Options

Config Options | Defined By
--- | ---
| anchor : String Note: this config is only used when this Component is rendered by a Container which has been configured to use an Anc... Note: this config is only used when this Component is rendered by a Container which has been configured to use an AnchorLayout based layout manager, for example: Ext.form.FormPanel specifying `layout: 'anchor' // or 'form', or 'absolute'` See Ext.layout.AnchorLayout.anchor also. | Component
| animCollapse : Boolean true to animate the transition when the panel is collapsed, false to skip the animation (defaults to true if the Ext.... `true` to animate the transition when the panel is collapsed, `false` to skip the animation (defaults to `true` if the Ext.Fx class is available, otherwise `false`). | Panel
| autoExpandColumn : String The id of a column in this grid that should expand to fill unused space. This value specified here can not be 0. N... The `id` of a column in this grid that should expand to fill unused space. This value specified here can not be `0`. Note: If the Grid's view is configured with `forceFit=true` the `autoExpandColumn` is ignored. See Ext.grid.Column.`width` for additional details. See `autoExpandMax` and `autoExpandMin` also. | GridPanel
| autoExpandMax : Number The maximum width the `autoExpandColumn` can have (if enabled). Defaults to `1000`. | GridPanel
| autoExpandMin : Number The minimum width the `autoExpandColumn` can have (if enabled). Defaults to `50`. | GridPanel
| autoHeight : Boolean true to use height:'auto', false to use fixed height (defaults to false). Note: Setting autoHeight: true means that t... `true` to use height:'auto', `false` to use fixed height (defaults to `false`). Note: Setting `autoHeight: true` means that the browser will manage the panel's height based on its contents, and that Ext will not manage it at all. If the panel is within a layout that manages dimensions (`fit`, `border`, etc.) then setting `autoHeight: true` can cause issues with scrolling and will not generally work as expected since the panel will take on the height of its contents rather than the height required by the Ext layout. | Panel
| autoShow : Boolean True if the component should check for hidden classes (e.g. 'x-hidden' or 'x-hide-display') and remove them on render... True if the component should check for hidden classes (e.g. 'x-hidden' or 'x-hide-display') and remove them on render (defaults to false). | Component
| baseCls : String The base CSS class to apply to this panel's element (defaults to 'x-panel'). Another option available by default is t... The base CSS class to apply to this panel's element (defaults to `'x-panel'`). Another option available by default is to specify `'x-plain'` which strips all styling except for required attributes for Ext layouts to function (e.g. overflow:hidden). See `unstyled` also. | Panel
| bbar : Object/Array The bottom toolbar of the panel. This can be a Ext.Toolbar object, a toolbar config, or an array of buttons/button co... The bottom toolbar of the panel. This can be a Ext.Toolbar object, a toolbar config, or an array of buttons/button configs to be added to the toolbar. Note that this is not available as a property after render. To access the bottom toolbar after render, use getBottomToolbar. Note: Although a Toolbar may contain Field components, these will not be updated by a load of an ancestor FormPanel. A Panel's toolbars are not part of the standard Container->Component hierarchy, and so are not scanned to collect form items. However, the values will be submitted because form submission parameters are collected from the DOM tree. | Panel
| bbarCfg : Object A DomHelper element specification object specifying the element structure of this Panel's bbar Element. See bodyCfg ... A DomHelper element specification object specifying the element structure of this Panel's bbar Element. See `bodyCfg` also. | Panel
| bodyCfg : Object A DomHelper element specification object may be specified for any Panel Element. By default, the Default element in t... A DomHelper element specification object may be specified for any Panel Element. By default, the Default element in the table below will be used for the html markup to create a child element with the commensurate Default class name (`baseCls` will be replaced by `baseCls`):
    Panel      Default  Default             Custom      Additional       Additional
    Element    element  class               element     class            style
    ========   ==========================   =========   ==============   ===========
    header     div      baseCls+'-header'   headerCfg   headerCssClass   headerStyle
    bwrap      div      baseCls+'-bwrap'     bwrapCfg    bwrapCssClass    bwrapStyle
    + tbar     div      baseCls+'-tbar'       tbarCfg     tbarCssClass     tbarStyle
    + body     div      baseCls+'-body'       bodyCfg     bodyCssClass     bodyStyle
    + bbar     div      baseCls+'-bbar'       bbarCfg     bbarCssClass     bbarStyle
    + footer   div      baseCls+'-footer'   footerCfg   footerCssClass   footerStyle
Configuring a Custom element may be used, for example, to force the body Element to use a different form of markup than is created by default. An example of this might be to create a child Panel containing a custom content, such as a header, or forcing centering of all Panel content by having the body be a <center> element:
    new Ext.Panel({
        title: 'Message Title',
        renderTo: Ext.getBody(),
        width: 200, height: 130,
        bodyCfg: {
            tag: 'center',
            cls: 'x-panel-body',  // Default class not applied if Custom element specified
            html: 'Message'
        },
        footerCfg: {
            tag: 'h2',
            cls: 'x-panel-footer'        // same as the Default class
            html: 'footer html'
        },
        footerCssClass: 'custom-footer', // additional css class, see addClass
        footerStyle:    'background-color:red' // see bodyStyle
    });
The example above also explicitly creates a `footer` with custom markup and styling applied. | Panel
| bodyCssClass : String/Object/Function Additional css class selector to be applied to the body element in the format expected by Ext.Element.addClass (defau... Additional css class selector to be applied to the body element in the format expected by Ext.Element.addClass (defaults to null). See bodyCfg. | Panel
| border : Boolean True to display the borders of the panel's body element, false to hide them (defaults to true). By default, the bord... True to display the borders of the panel's body element, false to hide them (defaults to true). By default, the border is a 2px wide inset border, but this can be further altered by setting bodyBorder to false. | Panel
| bubbleEvents : Array An array of events that, when fired, should be bubbled to any parent container. Defaults to `[]`. | GridPanel
| buttonAlign : String The alignment of any buttons added to this panel. Valid values are 'right', 'left' and 'center' (defaults to 'right'... The alignment of any buttons added to this panel. Valid values are `'right'`, `'left'` and `'center'` (defaults to `'right'`). | Panel
| buttons : Array buttons will be used as items for the toolbar in the footer (fbar). Typically the value of this configuration propert... `buttons` will be used as `items` for the toolbar in the footer (`fbar`). Typically the value of this configuration property will be an array of Ext.Buttons or Ext.Button configuration objects. If an item is configured with `minWidth` or the Panel is configured with `minButtonWidth`, that width will be applied to the item. | Panel
| bwrapCfg : Object A DomHelper element specification object specifying the element structure of this Panel's bwrap Element. See bodyCfg... A DomHelper element specification object specifying the element structure of this Panel's bwrap Element. See `bodyCfg` also. | Panel
| clearCls : String The CSS class used to to apply to the special clearing div rendered directly after each form field wrapper to provide... The CSS class used to to apply to the special clearing div rendered directly after each form field wrapper to provide field clearing (defaults to `'x-form-clear-left'`). Note: this config is only used when this Component is rendered by a Container which has been configured to use the FormLayout layout manager (e.g. Ext.form.FormPanel or specifying `layout:'form'`) and either a `fieldLabel` is specified or `isFormField=true` is specified. See Ext.layout.FormLayout.fieldTpl also. | Component
| closable : Boolean Panels themselves do not directly support being closed, but some Panel subclasses do (like Ext.Window) or a Panel Cla... Panels themselves do not directly support being closed, but some Panel subclasses do (like Ext.Window) or a Panel Class within an Ext.TabPanel. Specify `true` to enable closing in such situations. Defaults to `false`. | Panel
| cls : String An optional extra CSS class that will be added to this component's Element (defaults to ''). This can be useful for ... An optional extra CSS class that will be added to this component's Element (defaults to ''). This can be useful for adding customized styles to the component or any of its children using standard CSS rules. | Component
| cm : Object Shorthand for `colModel`. | GridPanel
| colModel : Object The Ext.grid.ColumnModel to use when rendering the grid (required). | GridPanel
| collapseFirst : Boolean true to make sure the collapse/expand toggle button always renders first (to the left of) any other tools in the pane... `true` to make sure the collapse/expand toggle button always renders first (to the left of) any other tools in the panel's title bar, `false` to render it last (defaults to `true`). | Panel
| collapsed : Boolean `true` to render the panel collapsed, `false` to render it expanded (defaults to `false`). | Panel
| collapsedCls : String A CSS class to add to the panel's element after it has been collapsed (defaults to `'x-panel-collapsed'`). | Panel
| collapsible : Boolean True to make the panel collapsible and have the expand/collapse toggle button automatically rendered into the header ... True to make the panel collapsible and have the expand/collapse toggle button automatically rendered into the header tool button area, false to keep the panel statically sized with no button (defaults to false). | Panel
| columnLines : Boolean `true` to add css for column separation lines. Default is `false`. | GridPanel
| columns : Array An array of columns to auto create a Ext.grid.ColumnModel. The ColumnModel may be explicitly created via the colMo... An array of columns to auto create a Ext.grid.ColumnModel. The ColumnModel may be explicitly created via the `colModel` configuration property. | GridPanel
| ctCls : String An optional extra CSS class that will be added to this component's container. This can be useful for adding customize... An optional extra CSS class that will be added to this component's container. This can be useful for adding customized styles to the container or any of its children using standard CSS rules. See Ext.layout.ContainerLayout.extraCls also. Note: `ctCls` defaults to `''` except for the following class which assigns a value by default: Box Layout : `'x-box-layout-ct'` To configure the above Class with an extra CSS class append to the default. For example, for BoxLayout (Hbox and Vbox):
    ctCls: 'x-box-layout-ct custom-class'
| Component
| ddGroup : String The DD group this GridPanel belongs to. Defaults to `'GridDD'` if not specified. | GridPanel
| ddText : String Configures the text in the drag proxy. Defaults to: ddText : '{0} selected row{1}' {0} is replaced with the number... Configures the text in the drag proxy. Defaults to:
    ddText : '{0} selected row{1}'
`{0}` is replaced with the number of selected rows. | GridPanel
| deferRowRender : Boolean Defaults to true to enable deferred row rendering. This allows the GridPanel to be initially rendered empty, with th... Defaults to `true` to enable deferred row rendering. This allows the GridPanel to be initially rendered empty, with the expensive update of the row structure deferred so that layouts with GridPanels appear more quickly. | GridPanel
| disableSelection : Boolean `true` to disable selections in the grid. Defaults to `false`. Ignored if a SelectionModel is specified. | GridPanel
| disabled : Boolean Render this panel disabled (default is false). An important note when using the disabled config on panels is that IE ... Render this panel disabled (default is `false`). An important note when using the disabled config on panels is that IE will often fail to initialize the disabled mask element correectly if the panel's layout has not yet completed by the time the Panel is disabled during the render process. If you experience this issue, you may need to instead use the afterlayout event to initialize the disabled state:
    new Ext.Panel({
        ...
        listeners: {
            'afterlayout': {
                fn: function(p){
                    p.disable();
                },
                single: true // important, as many layouts can occur
            }
        }
    });
| Panel
| draggable : Boolean/Object true to enable dragging of this Panel (defaults to false). For custom drag/drop implementations, an Ext.Panel.DD conf... `true` to enable dragging of this Panel (defaults to `false`). For custom drag/drop implementations, an Ext.Panel.DD config could also be passed in this config instead of `true`. Ext.Panel.DD is an internal, undocumented class which moves a proxy Element around in place of the Panel's element, but provides no other behaviour during dragging or on drop. It is a subclass of Ext.dd.DragSource, so behaviour may be added by implementing the interface methods of Ext.dd.DragDrop e.g.:
    new Ext.Panel({
        title: 'Drag me',
        x: 100,
        y: 100,
        renderTo: Ext.getBody(),
        floating: true,
        frame: true,
        width: 400,
        height: 200,
        draggable: {
    //      Config option of Ext.Panel.DD class.
    //      It's a floating Panel, so do not show a placeholder proxy in the original position.
            insertProxy: false,

    //      Called for each mousemove event while dragging the DD object.
            onDrag : function(e){
    //          Record the x,y position of the drag proxy so that we can
    //          position the Panel at end of drag.
                var pel = this.proxy.getEl();
                this.x = pel.getLeft(true);
                this.y = pel.getTop(true);

    //          Keep the Shadow aligned if there is one.
                var s = this.panel.getEl().shadow;
                if (s) {
                    s.realign(this.x, this.y, pel.getWidth(), pel.getHeight());
                }
            },

    //      Called on the mouseup event.
            endDrag : function(e){
                this.panel.setPosition(this.x, this.y);
            }
        }
    }).show();
| Panel
| enableColumnHide : Boolean Defaults to `true` to enable hiding of columns with the header menu. | GridPanel
| enableColumnMove : Boolean Defaults to `true` to enable drag and drop reorder of columns. `false` to turn off column reordering via drag drop. | GridPanel
| enableColumnResize : Boolean `false` to turn off column resizing for the whole grid. Defaults to `true`. | GridPanel
| enableDragDrop : Boolean Enables dragging of the selected rows of the GridPanel. Defaults to false. Setting this to true causes this GridPane... Enables dragging of the selected rows of the GridPanel. Defaults to `false`. Setting this to `true` causes this GridPanel's GridView to create an instance of Ext.grid.GridDragZone. Note: this is available only after the Grid has been rendered as the GridView's `dragZone` property. A cooperating DropZone must be created who's implementations of onNodeEnter, onNodeOver, onNodeOut and onNodeDrop are able to process the data which is provided. | GridPanel
| enableHdMenu : Boolean Defaults to `true` to enable the drop down button for menu in the headers. | GridPanel
| fbar : Object/Array A Toolbar object, a Toolbar config, or an array of Buttons/Button configs, describing a Toolbar to be rendered into t... A Toolbar object, a Toolbar config, or an array of Buttons/Button configs, describing a Toolbar to be rendered into this Panel's footer element. After render, the `fbar` property will be an Toolbar instance. If `buttons` are specified, they will supersede the `fbar` configuration property. The Panel's `buttonAlign` configuration affects the layout of these items, for example:
    var w = new Ext.Window({
        height: 250,
        width: 500,
        bbar: new Ext.Toolbar({
            items: [{
                text: 'bbar Left'
            },'->',{
                text: 'bbar Right'
            }]
        }),
        buttonAlign: 'left', // anything but 'center' or 'right' and you can use '-', and '->'
                                      // to control the alignment of fbar items
        fbar: [{
            text: 'fbar Left'
        },'->',{
            text: 'fbar Right'
        }]
    }).show();
Note: Although a Toolbar may contain Field components, these will not be updated by a load of an ancestor FormPanel. A Panel's toolbars are not part of the standard Container->Component hierarchy, and so are not scanned to collect form items. However, the values will be submitted because form submission parameters are collected from the DOM tree. | Panel
| fieldLabel : String The label text to display next to this Component (defaults to ''). Note: this config is only used when this Component... The label text to display next to this Component (defaults to ''). Note: this config is only used when this Component is rendered by a Container which has been configured to use the FormLayout layout manager (e.g. Ext.form.FormPanel or specifying `layout:'form'`). Also see `hideLabel` and Ext.layout.FormLayout.fieldTpl. Example use:
    new Ext.FormPanel({
        height: 100,
        renderTo: Ext.getBody(),
        items: [{
            xtype: 'textfield',
            fieldLabel: 'Name'
        }]
    });
| Component
| floating : Mixed This property is used to configure the underlying Ext.Layer. Acceptable values for this configuration property are:<d... This property is used to configure the underlying Ext.Layer. Acceptable values for this configuration property are: `false` : Default. Display the panel inline where it is rendered. `true` : Float the panel (absolute position it with automatic shimming and shadow). Setting floating to true will create an Ext.Layer for this panel and display the panel at negative offsets so that it is hidden. Since the panel will be absolute positioned, the position must be set explicitly after render (e.g., `myPanel.setPosition(100,100);`). Note: when floating a panel you should always assign a fixed width, otherwise it will be auto width and will expand to fill to the right edge of the viewport. `object` : The specified object will be used as the configuration object for the Ext.Layer that will be created. | Panel
| footer : Boolean true to create the footer element explicitly, false to skip creating it. The footer will be created automatically if ... `true` to create the footer element explicitly, false to skip creating it. The footer will be created automatically if `buttons` or a `fbar` have been configured. See `bodyCfg` for an example. | Panel
| footerCfg : Object A DomHelper element specification object specifying the element structure of this Panel's footer Element. See bodyCf... A DomHelper element specification object specifying the element structure of this Panel's footer Element. See `bodyCfg` also. | Panel
| forceLayout : Boolean If true the container will force a layout initially even if hidden or collapsed. This option is useful for forcing f... If true the container will force a layout initially even if hidden or collapsed. This option is useful for forcing forms to render in collapsed or hidden containers. (defaults to false). | Container
| frame : Boolean false by default to render with plain 1px square borders. true to render with 9 elements, complete with custom rounde... `false` by default to render with plain 1px square borders. `true` to render with 9 elements, complete with custom rounded corners (also see Ext.Element.boxWrap). The template generated for each condition is depicted below:
    // frame = false
    <div id="developer-specified-id-goes-here" class="x-panel">

        <div class="x-panel-header"><span class="x-panel-header-text">Title: (frame:false)</span></div>

        <div class="x-panel-bwrap">
            <div class="x-panel-body"><p>html value goes here</p></div>
        </div>
    </div>

    // frame = true (create 9 elements)
    <div id="developer-specified-id-goes-here" class="x-panel">
        <div class="x-panel-tl"><div class="x-panel-tr"><div class="x-panel-tc">
            <div class="x-panel-header"><span class="x-panel-header-text">Title: (frame:true)</span></div>
        </div></div></div>

        <div class="x-panel-bwrap">
            <div class="x-panel-ml"><div class="x-panel-mr"><div class="x-panel-mc">
                <div class="x-panel-body"><p>html value goes here</p></div>
            </div></div></div>

            <div class="x-panel-bl"><div class="x-panel-br"><div class="x-panel-bc"/>
            </div></div></div>
    </div>
| Panel
| header : Boolean true to create the Panel's header element explicitly, false to skip creating it. If a title is set the header will b... `true` to create the Panel's header element explicitly, `false` to skip creating it. If a `title` is set the header will be created automatically, otherwise it will not. If a `title` is set but `header` is explicitly set to `false`, the header will not be rendered. | Panel
| headerAsText : Boolean `true` to display the panel `title` in the `header`, `false` to hide it (defaults to `true`). | Panel
| headerCfg : Object A DomHelper element specification object specifying the element structure of this Panel's header Element. See bodyCf... A DomHelper element specification object specifying the element structure of this Panel's header Element. See `bodyCfg` also. | Panel
| height : Number The height of this component in pixels (defaults to auto). Note to express this dimension as a percentage or offset s... The height of this component in pixels (defaults to auto). Note to express this dimension as a percentage or offset see Ext.Component.anchor. | BoxComponent
| hidden : Boolean Render this component hidden (default is false). If `true`, the hide method will be called internally. | Component
| hideCollapseTool : Boolean `true` to hide the expand/collapse toggle button when `collapsible == true`, `false` to display it (defaults to `false`). | Panel
| hideHeaders : Boolean True to hide the grid's header. Defaults to `false`. | GridPanel
| hideLabel : Boolean true to completely hide the label element (label and separator). Defaults to false. By default, even if you do not sp... `true` to completely hide the label element (label and separator). Defaults to `false`. By default, even if you do not specify a `fieldLabel` the space will still be reserved so that the field will line up with other fields that do have labels. Setting this to `true` will cause the field to not reserve that space. Note: see the note for `clearCls`. Example use:
    new Ext.FormPanel({
        height: 100,
        renderTo: Ext.getBody(),
        items: [{
            xtype: 'textfield'
            hideLabel: true
        }]
    });
| Component
| hideMode : String How this component should be hidden. Supported values are 'visibility' (css visibility), 'offsets' (negative offset p... How this component should be hidden. Supported values are `'visibility'` (css visibility), `'offsets'` (negative offset position) and `'display'` (css display). Note: the default of `'display'` is generally preferred since items are automatically laid out when they are first shown (no sizing is done while hidden). | Component
| hideParent : Boolean True to hide and show the component's container when hide/show is called on the component, false to hide and show the... True to hide and show the component's container when hide/show is called on the component, false to hide and show the component itself (defaults to false). For example, this can be used as a shortcut for a hide button on a window by setting hide:true on the button when adding it to its parent container. | Component
| iconCls : String The CSS class selector that specifies a background image to be used as the header icon (defaults to ''). An example o... The CSS class selector that specifies a background image to be used as the header icon (defaults to ''). An example of specifying a custom icon class would be something like:
    // specify the property in the config for the class:
         ...
         iconCls: 'my-icon'

    // css class that specifies background image to be used as the icon image:
    .my-icon { background-image: url(../images/my-icon.gif) 0 6px no-repeat !important; }
| Panel
| id : String The unique id of this component (defaults to an auto-assigned id). You should assign an id if you need to be able to ... The unique id of this component (defaults to an auto-assigned id). You should assign an id if you need to be able to access the component later and you do not have an object reference available (e.g., using Ext.getCmp). Note that this id will also be used as the element id for the containing HTML element that is rendered to the page for this component. This allows you to write id-based CSS rules to style the specific instance of this component uniquely, and also to select sub-elements using this component's id as the parent. Note: to avoid complications imposed by a unique `id` also see `itemId` and `ref`. Note: to access the container of an item see `ownerCt`. | Component
| itemCls : String Note: this config is only used when this Component is rendered by a Container which has been configured to use the Fo... Note: this config is only used when this Component is rendered by a Container which has been configured to use the FormLayout layout manager (e.g. Ext.form.FormPanel or specifying `layout:'form'`). An additional CSS class to apply to the div wrapping the form item element of this field. If supplied, `itemCls` at the field level will override the default `itemCls` supplied at the container level. The value specified for `itemCls` will be added to the default class (`'x-form-item'`). Since it is applied to the item wrapper (see Ext.layout.FormLayout.fieldTpl), it allows you to write standard CSS rules that can apply to the field, the label (if specified), or any other element within the markup for the field. Note: see the note for `fieldLabel`. Example use:
    // Apply a style to the field's label:
    <style>
        .required .x-form-item-label {font-weight:bold;color:red;}
    </style>

    new Ext.FormPanel({
        height: 100,
        renderTo: Ext.getBody(),
        items: [{
            xtype: 'textfield',
            fieldLabel: 'Name',
            itemCls: 'required' //this label will be styled
        },{
            xtype: 'textfield',
            fieldLabel: 'Favorite Color'
        }]
    });
| Component
| itemId : String An itemId can be used as an alternative way to get a reference to a component when no object reference is available. ... An `itemId` can be used as an alternative way to get a reference to a component when no object reference is available. Instead of using an `id` with Ext.getCmp, use `itemId` with Ext.Container.getComponent which will retrieve `itemId`'s or `id`'s. Since `itemId`'s are an index to the container's internal MixedCollection, the `itemId` is scoped locally to the container -- avoiding potential conflicts with Ext.ComponentMgr which requires a unique `id`.
    var c = new Ext.Panel({ //
        height: 300,
        renderTo: document.body,
        layout: 'auto',
        items: [
            {
                itemId: 'p1',
                title: 'Panel 1',
                height: 150
            },
            {
                itemId: 'p2',
                title: 'Panel 2',
                height: 150
            }
        ]
    })
    p1 = c.getComponent('p1'); // not the same as Ext.getCmp()
    p2 = p1.ownerCt.getComponent('p2'); // reference via a sibling
Also see `id` and `ref`. Note: to access the container of an item see `ownerCt`. | Component
| keys : Object/Array A Ext.KeyMap config object (in the format expected by Ext.KeyMap.addBinding used to assign custom key handling to thi... A Ext.KeyMap config object (in the format expected by Ext.KeyMap.addBinding used to assign custom key handling to this panel (defaults to `null`). | Panel
| labelSeparator : String The separator to display after the text of each fieldLabel. This property may be configured at various levels. The o... The separator to display after the text of each `fieldLabel`. This property may be configured at various levels. The order of precedence is: field / component level container level layout level (defaults to colon `':'`) To display no separator for this field's label specify empty string ''. Note: see the note for `clearCls`. Also see `hideLabel` and Ext.layout.FormLayout.fieldTpl. Example use:
    new Ext.FormPanel({
        height: 100,
        renderTo: Ext.getBody(),
        layoutConfig: {
            labelSeparator: '~'   // layout config has lowest priority (defaults to ':')
        },
        labelSeparator: '>>',     // config at container level
        items: [{
            xtype: 'textfield',
            fieldLabel: 'Field 1',
            labelSeparator: '...' // field/component level config supersedes others
        },{
            xtype: 'textfield',
            fieldLabel: 'Field 2' // labelSeparator will be '='
        }]
    });
| Component
| labelStyle : String A CSS style specification string to apply directly to this field's label. Defaults to the container's labelStyle val... A CSS style specification string to apply directly to this field's label. Defaults to the container's labelStyle value if set (e.g., `Ext.layout.FormLayout.labelStyle` , or ''). Note: see the note for `clearCls`. Also see `hideLabel` and `Ext.layout.FormLayout.fieldTpl.` Example use:
    new Ext.FormPanel({
        height: 100,
        renderTo: Ext.getBody(),
        items: [{
            xtype: 'textfield',
            fieldLabel: 'Name',
            labelStyle: 'font-weight:bold;'
        }]
    });
| Component
| listeners : Object A config object containing one or more event handlers to be added to this object during initialization. This should ... A config object containing one or more event handlers to be added to this object during initialization. This should be a valid listeners config object as specified in the addListener example for attaching multiple handlers at once. DOM events from ExtJs Components While some ExtJs Component classes export selected DOM events (e.g. "click", "mouseover" etc), this is usually only done when extra value can be added. For example the DataView's `click` event passing the node clicked on. To access DOM events directly from a Component's HTMLElement, listeners must be added to the Element after the Component has been rendered. A plugin can simplify this step:
    // Plugin is configured with a listeners config object.
    // The Component is appended to the argument list of all handler functions.
    Ext.DomObserver = Ext.extend(Object, {
        constructor: function(config) {
            this.listeners = config.listeners ? config.listeners : config;
        },

        // Component passes itself into plugin's init method
        init: function(c) {
            var p, l = this.listeners;
            for (p in l) {
                if (Ext.isFunction(l[p])) {
                    l[p] = this.createHandler(l[p], c);
                } else {
                    l[p].fn = this.createHandler(l[p].fn, c);
                }
            }

            // Add the listeners to the Element immediately following the render call
            c.render = c.render.createSequence(function() {
                var e = c.getEl();
                if (e) {
                    e.on(l);
                }
            });
        },

        createHandler: function(fn, c) {
            return function(e) {
                fn.call(this, e, c);
            };
        }
    });

    var combo = new Ext.form.ComboBox({

        // Collapse combo when its element is clicked on
        plugins: [ new Ext.DomObserver({
            click: function(evt, comp) {
                comp.collapse();
            }
        })],
        store: myStore,
        typeAhead: true,
        mode: 'local',
        triggerAction: 'all'
    });
| Observable
| loadMask : Object An Ext.LoadMask config or true to mask the grid while loading. Defaults to `false`. | GridPanel
| margins : Object Note: this config is only used when this BoxComponent is rendered by a Container which has been configured to use the... Note: this config is only used when this BoxComponent is rendered by a Container which has been configured to use the BorderLayout or one of the two BoxLayout subclasses. An object containing margins to apply to this BoxComponent in the format:
    {
        top: (top margin),
        right: (right margin),
        bottom: (bottom margin),
        left: (left margin)
    }
May also be a string containing space-separated, numeric margin values. The order of the sides associated with each value matches the way CSS processes margin values: If there is only one value, it applies to all sides. If there are two values, the top and bottom borders are set to the first value and the right and left are set to the second. If there are three values, the top is set to the first value, the left and right are set to the second, and the bottom is set to the third. If there are four values, they apply to the top, right, bottom, and left, respectively. Defaults to:
    {top:0, right:0, bottom:0, left:0}
| BoxComponent
| maskDisabled : Boolean true to mask the panel when it is disabled, false to not mask it (defaults to true). Either way, the panel will alwa... `true` to mask the panel when it is disabled, `false` to not mask it (defaults to `true`). Either way, the panel will always tell its contained elements to disable themselves when it is disabled, but masking the panel can provide an additional visual cue that the panel is disabled. | Panel
| maxHeight : Number Sets the maximum height of the grid - ignored if `autoHeight` is not on. | GridPanel
| minButtonWidth : Number Minimum width in pixels of all buttons in this panel (defaults to `75`) | Panel
| minColumnWidth : Number The minimum width a column can be resized to. Defaults to `25`. | GridPanel
| overCls : String An optional extra CSS class that will be added to this component's Element when the mouse moves over the Element, and... An optional extra CSS class that will be added to this component's Element when the mouse moves over the Element, and removed when the mouse moves out. (defaults to ''). This can be useful for adding customized 'active' or 'hover' styles to the component or any of its children using standard CSS rules. | Component
| pageX : Number The page level x coordinate for this component if contained within a positioning container. | BoxComponent
| pageY : Number The page level y coordinate for this component if contained within a positioning container. | BoxComponent
| plugins : Object/Array An object or array of objects that will provide custom functionality for this component. The only requirement for a ... An object or array of objects that will provide custom functionality for this component. The only requirement for a valid plugin is that it contain an init method that accepts a reference of type Ext.Component. When a component is created, if any plugins are available, the component will call the init method on each plugin, passing a reference to itself. Each plugin can then call methods or respond to events on the component as needed to provide its functionality. | Component
| ptype : String The registered ptype to create. This config option is not used when passing a config object into a constructor. This ... The registered `ptype` to create. This config option is not used when passing a config object into a constructor. This config option is used only when lazy instantiation is being used, and a Plugin is being specified not as a fully instantiated Component, but as a Component config object. The `ptype` will be looked up at render time up to determine what type of Plugin to create. If you create your own Plugins, you may register them using Ext.ComponentMgr.registerPlugin in order to be able to take advantage of lazy instantiation and rendering. | Component
| ref : String A path specification, relative to the Component's ownerCt specifying into which ancestor Container to place a named r... A path specification, relative to the Component's ownerCt specifying into which ancestor Container to place a named reference to this Component. The ancestor axis can be traversed by using '/' characters in the path. For example, to put a reference to a Toolbar Button into the Panel which owns the Toolbar:
    var myGrid = new Ext.grid.EditorGridPanel({
        title: 'My EditorGridPanel',
        store: myStore,
        colModel: myColModel,
        tbar: [{
            text: 'Save',
            handler: saveChanges,
            disabled: true,
            ref: '../saveButton'
        }],
        listeners: {
            afteredit: function() {
    //          The button reference is in the GridPanel
                myGrid.saveButton.enable();
            }
        }
    });
In the code above, if the ref had been `'saveButton'` the reference would have been placed into the Toolbar. Each '/' in the ref moves up one level from the Component's ownerCt. | Component
| region : String Note: this config is only used when this BoxComponent is rendered by a Container which has been configured to use the... Note: this config is only used when this BoxComponent is rendered by a Container which has been configured to use the BorderLayout layout manager (e.g. specifying `layout:'border'`). See Ext.layout.BorderLayout also. | BoxComponent
| renderTo : Mixed Specify the id of the element, a DOM element or an existing Element that this component will be rendered into. Notes ... Specify the id of the element, a DOM element or an existing Element that this component will be rendered into. Notes : Do not use this option if the Component is to be a child item of a Container. It is the responsibility of the Container's layout manager to render and manage its child items. When using this config, a call to render() is not required. See `render` also. | Component
| resizeEvent : String The event to listen to for resizing in layouts. Defaults to `'bodyresize'`. | Panel
| selModel : Object Any subclass of Ext.grid.AbstractSelectionModel that will provide the selection model for the grid (defaults to Ext.... Any subclass of Ext.grid.AbstractSelectionModel that will provide the selection model for the grid (defaults to Ext.grid.RowSelectionModel if not specified). | GridPanel
| shadow : Boolean/String true (or a valid Ext.Shadow Ext.Shadow.mode value) to display a shadow behind the panel, false to display no shadow (... `true` (or a valid Ext.Shadow Ext.Shadow.mode value) to display a shadow behind the panel, `false` to display no shadow (defaults to `'sides'`). Note that this option only applies when `floating = true`. | Panel
| shadowOffset : Number The number of pixels to offset the shadow if displayed (defaults to 4). Note that this option only applies when float... The number of pixels to offset the shadow if displayed (defaults to `4`). Note that this option only applies when `floating = true`. | Panel
| shim : Boolean false to disable the iframe shim in browsers which need one (defaults to true). Note that this option only applies wh... `false` to disable the iframe shim in browsers which need one (defaults to `true`). Note that this option only applies when `floating = true`. | Panel
| sm : Object Shorthand for `selModel`. | GridPanel
| stateEvents : Array An array of events that, when fired, should trigger this component to save its state. Defaults to:stateEvents: ['col... An array of events that, when fired, should trigger this component to save its state. Defaults to:
    stateEvents: ['columnmove', 'columnresize', 'sortchange']
These can be any types of events supported by this component, including browser or custom events (e.g., `['click', 'customerchange']`). See Ext.Component.stateful for an explanation of saving and restoring Component state. | GridPanel
| stateId : String The unique id for this component to use for state management purposes (defaults to the component id if one was set, o... The unique id for this component to use for state management purposes (defaults to the component id if one was set, otherwise null if the component is using a generated id). See `stateful` for an explanation of saving and restoring Component state. | Component
| stateful : Boolean A flag which causes the Component to attempt to restore the state of internal properties from a saved state on startu... A flag which causes the Component to attempt to restore the state of internal properties from a saved state on startup. The component must have either a `stateId` or `id` assigned for state to be managed. Auto-generated ids are not guaranteed to be stable across page loads and cannot be relied upon to save and restore the same state for a component. For state saving to work, the state manager's provider must have been set to an implementation of Ext.state.Provider which overrides the set and get methods to save and recall name/value pairs. A built-in implementation, Ext.state.CookieProvider is available. To set the state provider for the current page:
    Ext.state.Manager.setProvider(new Ext.state.CookieProvider({
        expires: new Date(new Date().getTime()+(1000*60*60*24*7)), //7 days from now
    }));
A stateful Component attempts to save state when one of the events listed in the `stateEvents` configuration fires. To save state, a stateful Component first serializes its state by calling `getState`. By default, this function does nothing. The developer must provide an implementation which returns an object hash which represents the Component's restorable state. The value yielded by getState is passed to Ext.state.Manager.set which uses the configured Ext.state.Provider to save the object keyed by the Component's `stateId`, or, if that is not specified, its `id`. During construction, a stateful Component attempts to restore its state by calling Ext.state.Manager.get passing the `stateId`, or, if that is not specified, the `id`. The resulting object is passed to `applyState`. The default implementation of `applyState` simply copies properties into the object, but a developer may override this to support more behaviour. You can perform extra processing on state save and restore by attaching handlers to the beforestaterestore, staterestore, beforestatesave and statesave events. | Component
| store : Ext.data.Store The Ext.data.Store the grid should use as its data source (required). | GridPanel
| stripeRows : Boolean true to stripe the rows. Default is false. This causes the CSS class x-grid3-row-alt to be added to alternate rows o... `true` to stripe the rows. Default is `false`. This causes the CSS class `x-grid3-row-alt` to be added to alternate rows of the grid. A default CSS rule is provided which sets a background colour, but you can override this with a rule which either overrides the background-color style using the '!important' modifier, or which uses a CSS selector of higher specificity. | GridPanel
| style : String A custom style specification to be applied to this component's Element. Should be a valid argument to Ext.Element.ap... A custom style specification to be applied to this component's Element. Should be a valid argument to Ext.Element.applyStyles.
    new Ext.Panel({
        title: 'Some Title',
        renderTo: Ext.getBody(),
        width: 400, height: 300,
        layout: 'form',
        items: [{
            xtype: 'textarea',
            style: {
                width: '95%',
                marginBottom: '10px'
            }
        },
            new Ext.Button({
                text: 'Send',
                minWidth: '100',
                style: {
                    marginBottom: '10px'
                }
            })
        ]
    });
| Component
| tabTip : String Note: this config is only used when this BoxComponent is a child item of a TabPanel. A string to be used as innerHTML... Note: this config is only used when this BoxComponent is a child item of a TabPanel. A string to be used as innerHTML (html tags are accepted) to show in a tooltip when mousing over the associated tab selector element. Ext.QuickTips.init() must be called in order for the tips to render. | BoxComponent
| tbar : Object/Array The top toolbar of the panel. This can be a Ext.Toolbar object, a toolbar config, or an array of buttons/button confi... The top toolbar of the panel. This can be a Ext.Toolbar object, a toolbar config, or an array of buttons/button configs to be added to the toolbar. Note that this is not available as a property after render. To access the top toolbar after render, use getTopToolbar. Note: Although a Toolbar may contain Field components, these will not be updated by a load of an ancestor FormPanel. A Panel's toolbars are not part of the standard Container->Component hierarchy, and so are not scanned to collect form items. However, the values will be submitted because form submission parameters are collected from the DOM tree. | Panel
| tbarCfg : Object A DomHelper element specification object specifying the element structure of this Panel's tbar Element. See bodyCfg ... A DomHelper element specification object specifying the element structure of this Panel's tbar Element. See `bodyCfg` also. | Panel
| title : String The title text to be used as innerHTML (html tags are accepted) to display in the panel header (defaults to ''). When... The title text to be used as innerHTML (html tags are accepted) to display in the panel `header` (defaults to ''). When a `title` is specified the `header` element will automatically be created and displayed unless header is explicitly set to `false`. If you do not want to specify a `title` at config time, but you may want one later, you must either specify a non-empty `title` (a blank space ' ' will do) or `header:true` so that the container element will get created. | Panel
| titleCollapse : Boolean true to allow expanding and collapsing the panel (when collapsible = true) by clicking anywhere in the header bar, fa... `true` to allow expanding and collapsing the panel (when `collapsible = true`) by clicking anywhere in the header bar, `false`) to allow it only by clicking to tool button (defaults to `false`)). If this panel is a child item of a border layout also see the BorderLayout.Region `floatable` config option. | Panel
| toolTemplate : Ext.Template/Ext.XTemplate A Template used to create tools in the header Element. Defaults to:new Ext.Template('&lt;div class="x-tool x-tool-{id... A Template used to create tools in the header Element. Defaults to:
    new Ext.Template('<div class="x-tool x-tool-{id}">&#160;</div>')
This may may be overridden to provide a custom DOM structure for tools based upon a more complex XTemplate. The template's data is a single tool configuration object (Not the entire Array) as specified in tools. In the following example an <a> tag is used to provide a visual indication when hovering over the tool:
    var win = new Ext.Window({
        tools: [{
            id: 'download',
            href: '/MyPdfDoc.pdf'
        }],
        toolTemplate: new Ext.XTemplate(
            '<tpl if="id==\'download\'">',
                '<a class="x-tool x-tool-pdf" href="{href}"></a>',
            '</tpl>',
            '<tpl if="id!=\'download\'">',
                '<div class="x-tool x-tool-{id}">&#160;</div>',
            '</tpl>'
        ),
        width:500,
        height:300,
        closeAction:'hide'
    });
Note that the CSS class 'x-tool-pdf' should have an associated style rule which provides an appropriate background image, something like:
    a.x-tool-pdf {background-image: url(../shared/extjs/images/pdf.gif)!important;}
| Panel
| tools : Array An array of tool button configs to be added to the header tool area. When rendered, each tool is stored as an Element... An array of tool button configs to be added to the header tool area. When rendered, each tool is stored as an Element referenced by a public property called `tools.<tool-type>` Each tool config may contain the following properties: id : String Required. The type of tool to create. By default, this assigns a CSS class of the form `x-tool-<tool-type>` to the resulting tool Element. Ext provides CSS rules, and an icon sprite containing images for the tool types listed below. The developer may implement custom tools by supplying alternate CSS rules and background images: `toggle` (Created by default when collapsible is `true`) `close` `minimize` `maximize` `restore` `gear` `pin` `unpin` `right` `left` `up` `down` `refresh` `minus` `plus` `help` `search` `save` `print` handler : Function Required. The function to call when clicked. Arguments passed are: event : Ext.EventObject The click event. toolEl : Ext.Element The tool Element. panel : Ext.Panel The host Panel tc : Ext.Panel The tool configuration object stopEvent : Boolean Defaults to true. Specify as false to allow click event to propagate. scope : Object The scope in which to call the handler. qtip : String/Object A tip string, or a config argument to Ext.QuickTip.register hidden : Boolean True to initially render hidden. on : Object A listener config object specifiying event listeners in the format of an argument to addListener Note that, apart from the toggle tool which is provided when a panel is collapsible, these tools only provide the visual button. Any required functionality must be provided by adding handlers that implement the necessary behavior. Example usage:
    tools:[{
        id:'refresh',
        qtip: 'Refresh form Data',
        // hidden:true,
        handler: function(event, toolEl, panel){
            // refresh logic
        }
    },
    {
        id:'help',
        qtip: 'Get Help',
        handler: function(event, toolEl, panel){
            // whatever
        }
    }]
For the custom id of `'help'` define two relevant css classes with a link to a 15x15 image:
    .x-tool-help {background-image: url(images/help.png);}
    .x-tool-help-over {background-image: url(images/help_over.png);}
    // if using an image sprite:
    .x-tool-help {background-image: url(images/help.png) no-repeat 0 0;}
    .x-tool-help-over {background-position:-15px 0;}
| Panel
| trackMouseOver : Boolean True to highlight rows when the mouse is over. Default is `true` for GridPanel, but `false` for EditorGridPanel. | GridPanel
| unstyled : Boolean Overrides the baseCls setting to baseCls = 'x-plain' which renders the panel unstyled except for required attributes ... Overrides the `baseCls` setting to `baseCls = 'x-plain'` which renders the panel unstyled except for required attributes for Ext layouts to function (e.g. overflow:hidden). | Panel
| view : Object The Ext.grid.GridView used by the grid. This can be set before a call to render(). | GridPanel
| viewConfig : Object A config object that will be applied to the grid's UI view. Any of the config options available for Ext.grid.GridVi... A config object that will be applied to the grid's UI view. Any of the config options available for Ext.grid.GridView can be specified here. This option is ignored if `view` is specified. | GridPanel
| width : Number The width of this component in pixels (defaults to auto). Note to express this dimension as a percentage or offset se... The width of this component in pixels (defaults to auto). Note to express this dimension as a percentage or offset see Ext.Component.anchor. | BoxComponent
| x : Number The local x (left) coordinate for this component if contained within a positioning container. | BoxComponent
| xtype : String The registered xtype to create. This config option is not used when passing a config object into a constructor. This ... The registered `xtype` to create. This config option is not used when passing a config object into a constructor. This config option is used only when lazy instantiation is being used, and a child item of a Container is being specified not as a fully instantiated Component, but as a Component config object. The `xtype` will be looked up at render time up to determine what type of child Component to create. The predefined xtypes are listed here. If you subclass Components to create your own Components, you may register them using Ext.ComponentMgr.registerType in order to be able to take advantage of lazy instantiation and rendering. | Component
| y : Number The local y (top) coordinate for this component if contained within a positioning container. | BoxComponent

## Public Properties

Property | Defined By
--- | ---
| body : Ext.Element The Panel's body Element which may be used to contain HTML content. The content may be specified in the html config, ... The Panel's body Element which may be used to contain HTML content. The content may be specified in the html config, or it may be loaded using the autoLoad config, or through the Panel's Updater. Read-only. If this is used to load visible HTML elements in either way, then the Panel may not be used as a Layout for hosting nested Panels. If this Panel is intended to be used as the host of a Layout (See layout then the body Element must not be loaded or changed - it is under the control of the Panel's Layout. Note: see the Note for `el` also. | Panel
| buttons : Array This Panel's Array of buttons as created from the `buttons` config property. Read only. | Panel
| bwrap : Ext.Element The Panel's bwrap Element used to contain other Panel elements (tbar, body, bbar, footer). See bodyCfg. Read-only. | Panel
| collapsed : Boolean True if this panel is collapsed. Read-only. | Panel
| dd : Ext.dd.DragSource. If this Panel is configured draggable, this property will contain an instance of Ext.dd.DragSource which handles drag... If this Panel is configured draggable, this property will contain an instance of Ext.dd.DragSource which handles dragging the Panel. The developer must provide implementations of the abstract methods of Ext.dd.DragSource in order to supply behaviour for each stage of the drag/drop process. See draggable. | Panel
| el : Ext.Element The Ext.Element which encapsulates this Component. Read-only. This will usually be a &lt;DIV> element created by the ... The Ext.Element which encapsulates this Component. Read-only. This will usually be a <DIV> element created by the class's onRender method, but that may be overridden using the `autoEl` config. Note: this element will not be available until this Component has been rendered. To add listeners for DOM events to this Component (as opposed to listeners for this Component's own Observable events), see the listeners config for a suggestion, or use a render listener directly:
    new Ext.Panel({
        title: 'The Clickable Panel',
        listeners: {
            render: function(p) {
                // Append the Panel to the click handler's argument list.
                p.getEl().on('click', handlePanelClick.createDelegate(null, [p], true));
            },
            single: true  // Remove the listener after first invocation
        }
    });
See also `getEl` | Component
| footer : Ext.Element The Panel's footer Element. Read-only. This Element is used to house the Panel's buttons or fbar. Note: see the Note ... The Panel's footer Element. Read-only. This Element is used to house the Panel's `buttons` or `fbar`. Note: see the Note for `el` also. | Panel
| header : Ext.Element The Panel's header Element. Read-only. This Element is used to house the title and tools Note: see the Note for el al... The Panel's header Element. Read-only. This Element is used to house the title and tools Note: see the Note for `el` also. | Panel
| hidden : Boolean True if this component is hidden. Read-only. | Component
| initialConfig : Object This Component's initial configuration specification. Read-only. | Component
| ownerCt : Ext.Container This Component's owner Container (defaults to undefined, and is set automatically when this Component is added to a C... This Component's owner Container (defaults to undefined, and is set automatically when this Component is added to a Container). Read-only. Note: to access items within the Container see `itemId`. | Component
| rendered : Boolean True if this component has been rendered. Read-only. | Component

## Public Methods

Method | Defined By
--- | ---
| GridPanel( `Object config` ) Parameters: `config` : Object The config object Returns: void
xtype: | grid
| GridPanel
| addButton( `String/Object config`, `Function handler`, `Object scope` ) : Ext.Button Adds a button to this panel. Note that this method must be called prior to rendering. The preferred approach is to ... Adds a button to this panel. Note that this method must be called prior to rendering. The preferred approach is to add buttons via the buttons config. Parameters: `config` : String/Object A valid Ext.Button config. A string will become the text for a default button config, an object will be treated as a button config object. `handler` : Function The function to be called on button Ext.Button.click `scope` : Object The scope to use for the button handler function Returns: `Ext.Button` The button that was added | Panel
| addClass( `string cls` ) : Ext.Component Adds a CSS class to the component's underlying element. Adds a CSS class to the component's underlying element. Parameters: `cls` : string The CSS class name to add Returns: `Ext.Component` this | Component
- | addEvents( `Object|String o`, `string Optional.` ) : void Adds the specified events to the list of events which this Observable may fire. Adds the specified events to the list of events which this Observable may fire. Parameters: `o` : Object|String Either an object with event names as properties with a value of `true` or the first event name string if multiple event names are being passed as separate parameters. `Optional.` : string Event name if multiple event names are being passed as separate parameters. Usage:
      this.addEvents('storeloaded', 'storecleared');
Returns: void | Observable
- | addListener( `String eventName`, `Function handler`, [`Object scope`], [`Object options`] ) : void Appends an event handler to this object. Appends an event handler to this object. Parameters: `eventName` : String The name of the event to listen for. `handler` : Function The method the event invokes. `scope` : Object (optional) The scope (`this` reference) in which the handler function is executed. If omitted, defaults to the object which fired the event. `options` : Object (optional) An object containing handler configuration. properties. This may contain any of the following properties: scope : Object The scope (`this` reference) in which the handler function is executed. If omitted, defaults to the object which fired the event. delay : Number The number of milliseconds to delay the invocation of the handler after the event fires. single : Boolean True to add a handler to handle just the next firing of the event, and then remove itself. buffer : Number Causes the handler to be scheduled to run in an Ext.util.DelayedTask delayed by the specified number of milliseconds. If the event fires again within that time, the original handler is not invoked, but the new handler is scheduled in its place. target : Observable Only call the handler if the event was fired on the target Observable, not if the event was bubbled up from a child Observable. Combining Options Using the options argument, it is possible to combine different types of listeners: A delayed, one-time listener.
      myDataView.on('click', this.onClick, this, {
      single: true,
      delay: 100
      });
  Attaching multiple handlers in 1 call The method also allows for a single argument to be passed which is a config object containing properties which specify multiple handlers.
      myGridPanel.on({
      'click' : {
          fn: this.onClick,
          scope: this,
          delay: 100
      },
      'mouseover' : {
          fn: this.onMouseOver,
          scope: this
      },
      'mouseout' : {
          fn: this.onMouseOut,
          scope: this
      }
      });
  Or a shorthand syntax:
      myGridPanel.on({
      'click' : this.onClick,
      'mouseover' : this.onMouseOver,
      'mouseout' : this.onMouseOut,
       scope: this
      });
Returns: void | Observable
| bubble( `Function fn`, [`Object scope`], [`Array args`] ) : Ext.Container Bubbles up the component/container heirarchy, calling the specified function with each component. The scope (this) of... Bubbles up the component/container heirarchy, calling the specified function with each component. The scope (this) of function call will be the scope provided or the current component. The arguments to the function will be the args provided or the current component. If the function returns false at any point, the bubble is stopped. Parameters: `fn` : Function The function to call `scope` : Object (optional) The scope of the function (defaults to current node) `args` : Array (optional) The args to call the function with (default to passing the current component) Returns: `Ext.Container` this | Container
| cloneConfig( `Object overrides` ) : Ext.Component Clone the current component using the original config values passed into this instance by default. Clone the current component using the original config values passed into this instance by default. Parameters: `overrides` : Object A new config containing any properties to override in the cloned version. An id property can be passed on this object, otherwise one will be generated to avoid duplicates. Returns: `Ext.Component` clone The cloned copy of this component | Component
| collapse( `Boolean animate` ) : Ext.Panel Collapses the panel body so that it becomes hidden. Fires the beforecollapse event which will cancel the collapse ac... Collapses the panel body so that it becomes hidden. Fires the beforecollapse event which will cancel the collapse action if it returns false. Parameters: `animate` : Boolean True to animate the transition, else false (defaults to the value of the animCollapse panel config) Returns: `Ext.Panel` this | Panel
| destroy() : void Destroys this component by purging any event listeners, removing the component's element from the DOM, removing the c... Destroys this component by purging any event listeners, removing the component's element from the DOM, removing the component from its Ext.Container (if applicable) and unregistering it from Ext.ComponentMgr. Destruction is generally handled automatically by the framework and this method should usually not need to be called directly. Parameters: None. Returns: void | Component
| enableBubble( `Object events` ) : void Enables events fired by this Observable to bubble up an owner hierarchy by calling this.getBubbleTarget() if present... Enables events fired by this Observable to bubble up an owner hierarchy by calling `this.getBubbleTarget()` if present. There is no implementation in the Observable base class. This is commonly used by Ext.Components to bubble events to owner Containers. See Ext.Component.getBubbleTarget. The default implementation in Ext.Component returns the Component's immediate owner. But if a known target is required, this can be overridden to access the required target more quickly. Example:
    Ext.override(Ext.form.Field, {
    //  Add functionality to Field's initComponent to enable the change event to bubble

        initComponent: Ext.form.Field.prototype.initComponent.createSequence(function() {
            this.enableBubble('change');
        }),

    //  We know that we want Field's events to bubble directly to the FormPanel.

        getBubbleTarget: function() {
            if (!this.formPanel) {
                this.formPanel = this.findParentByType('form');
            }
            return this.formPanel;
        }
    });

    var myForm = new Ext.formPanel({
        title: 'User Details',
        items: [{
            ...
        }],
        listeners: {
            change: function() {
    //          Title goes red if form has been modified.

                myForm.header.setStyle("color", "red");
            }
        }
    });
Parameters: `events` : Object The event name to bubble, or an Array of event names. Returns: void | Observable
| expand( `Boolean animate` ) : Ext.Panel Expands the panel body so that it becomes visible. Fires the beforeexpand event which will cancel the expand action ... Expands the panel body so that it becomes visible. Fires the beforeexpand event which will cancel the expand action if it returns false. Parameters: `animate` : Boolean True to animate the transition, else false (defaults to the value of the animCollapse panel config) Returns: `Ext.Panel` this | Panel
| findParentBy( `Function fn` ) : Ext.Container Find a container above this component at any level by a custom function. If the passed function returns true, the con... Find a container above this component at any level by a custom function. If the passed function returns true, the container will be returned. Parameters: `fn` : Function The custom function to call with the arguments (container, this component). Returns: `Ext.Container` The first Container for which the custom function returns true | Component
| findParentByType( `String/Class xtype` ) : Ext.Container Find a container above this component at any level by xtype or class Find a container above this component at any level by xtype or class Parameters: `xtype` : String/Class The xtype string for a component, or the class of the component directly Returns: `Ext.Container` The first Container which matches the given xtype or class | Component
| fireEvent( `String eventName`, `Object... args` ) : Boolean Fires the specified event with the passed parameters (minus the event name). An event may be set to bubble up an Obse... Fires the specified event with the passed parameters (minus the event name). An event may be set to bubble up an Observable parent hierarchy (See Ext.Component.getBubbleTarget) by calling enableBubble. Parameters: `eventName` : String The name of the event to fire. `args` : Object... Variable number of parameters are passed to handlers. Returns: `Boolean` returns false if any of the handlers return false otherwise it returns true. | Observable
| focus( [`Boolean selectText`], [`Boolean/Number delay`] ) : Ext.Component Try to focus this component. Try to focus this component. Parameters: `selectText` : Boolean (optional) If applicable, true to also select the text in this component `delay` : Boolean/Number (optional) Delay the focus this number of milliseconds (true for 10 milliseconds) Returns: `Ext.Component` this | Component
| get( `String/Number key` ) : Ext.Component Get a component contained by this container (alias for items.get(key)) Get a component contained by this container (alias for items.get(key)) Parameters: `key` : String/Number The index or id of the component Returns: `Ext.Component` Ext.Component | Container
| getBottomToolbar() : Ext.Toolbar Returns the toolbar from the bottom (bbar) section of the panel. Returns the toolbar from the bottom (`bbar`) section of the panel. Parameters: None. Returns: `Ext.Toolbar` The toolbar | Panel
| getBox( [`Boolean local`] ) : Object Gets the current box measurements of the component's underlying element. Gets the current box measurements of the component's underlying element. Parameters: `local` : Boolean (optional) If true the element's left and top are returned instead of page XY (defaults to false) Returns: `Object` box An object in the format {x, y, width, height} | BoxComponent
| getBubbleTarget() : Ext.Container Provides the link for Observable's fireEvent method to bubble up the ownership hierarchy. Provides the link for Observable's fireEvent method to bubble up the ownership hierarchy. Parameters: None. Returns: `Ext.Container` the Container which owns this Component. | Component
| getColumnModel() : Ext.grid.ColumnModel Returns the grid's ColumnModel. Returns the grid's ColumnModel. Parameters: None. Returns: `Ext.grid.ColumnModel` The column model | GridPanel
| getDragDropText() : String Called to get grid's drag proxy text, by default returns this.ddText. Called to get grid's drag proxy text, by default returns this.ddText. Parameters: None. Returns: `String` The text | GridPanel
| getEl() : Ext.Element Returns the Ext.Element which encapsulates this Component. This will usually be a &lt;DIV> element created by the cla... Returns the Ext.Element which encapsulates this Component. This will usually be a <DIV> element created by the class's onRender method, but that may be overridden using the autoEl config. Note: this element will not be available until this Component has been rendered. To add listeners for DOM events to this Component (as opposed to listeners for this Component's own Observable events), see the listeners config for a suggestion, or use a render listener directly:
    new Ext.Panel({
        title: 'The Clickable Panel',
        listeners: {
            render: function(p) {
                // Append the Panel to the click handler's argument list.
                p.getEl().on('click', handlePanelClick.createDelegate(null, [p], true));
            },
            single: true  // Remove the listener after first invocation
        }
    });
Parameters: None. Returns: `Ext.Element` The Element which encapsulates this Component. | Component
| getFrameHeight() : Number Returns the height in pixels of the framing elements of this panel (including any top and bottom bars and header and ... Returns the height in pixels of the framing elements of this panel (including any top and bottom bars and header and footer elements, but not including the body height). To retrieve the body height see getInnerHeight. Parameters: None. Returns: `Number` The frame height | Panel
| getFrameWidth() : Number Returns the width in pixels of the framing elements of this panel (not including the body width). To retrieve the bo... Returns the width in pixels of the framing elements of this panel (not including the body width). To retrieve the body width see getInnerWidth. Parameters: None. Returns: `Number` The frame width | Panel
| getGridEl() : Element Returns the grid's underlying element. Returns the grid's underlying element. Parameters: None. Returns: `Element` The element | GridPanel
| getHeight() : Number Gets the current height of the component's underlying element. Gets the current height of the component's underlying element. Parameters: None. Returns: `Number` | BoxComponent
| getId() : String Returns the id of this component or automatically generates and returns an id if an id is not defined yet:'ext-comp-'... Returns the `id` of this component or automatically generates and returns an `id` if an `id` is not defined yet:
    'ext-comp-' + (++Ext.Component.AUTO_ID)
Parameters: None. Returns: `String` id | Component
| getInnerHeight() : Number Returns the height in pixels of the body element (not including the height of any framing elements). For the frame he... Returns the height in pixels of the body element (not including the height of any framing elements). For the frame height see getFrameHeight. Parameters: None. Returns: `Number` The body height | Panel
| getInnerWidth() : Number Returns the width in pixels of the body element (not including the width of any framing elements). For the frame widt... Returns the width in pixels of the body element (not including the width of any framing elements). For the frame width see getFrameWidth. Parameters: None. Returns: `Number` The body width | Panel
| getItemId() : String Returns the itemId of this component. If an itemId was not assigned through configuration the id is returned using g... Returns the `itemId` of this component. If an `itemId` was not assigned through configuration the `id` is returned using `getId`. Parameters: None. Returns: `String` | Component
| getLayoutTarget() : Ext.Element Returns the Element to be used to contain the child Components of this Container. An implementation is provided whic... Returns the Element to be used to contain the child Components of this Container. An implementation is provided which returns the Container's Element, but if there is a more complex structure to a Container, this may be overridden to return the element into which the layout renders child Components. Parameters: None. Returns: `Ext.Element` The Element to render child Components into. | Container
| getOuterSize() : Object Gets the current size of the component's underlying element, including space taken by its margins. Gets the current size of the component's underlying element, including space taken by its margins. Parameters: None. Returns: `Object` An object containing the element's size {width: (element width + left/right margins), height: (element height + top/bottom margins)} | BoxComponent
| getPosition( [`Boolean local`] ) : Array Gets the current XY position of the component's underlying element. Gets the current XY position of the component's underlying element. Parameters: `local` : Boolean (optional) If true the element's left and top are returned instead of page XY (defaults to false) Returns: `Array` The XY position of the element (e.g., [100, 200]) | BoxComponent
| getResizeEl() : void Returns the outermost Element of this Component which defines the Components overall size. Usually this will return t... Returns the outermost Element of this Component which defines the Components overall size. Usually this will return the same Element as `getEl`, but in some cases, a Component may have some more wrapping Elements around its main active Element. An example is a ComboBox. It is encased in a wrapping Element which contains both the `<input>` Element (which is what would be returned by its `getEl` method, and the trigger button Element. This Element is returned as the `resizeEl`. Parameters: None. Returns: void | BoxComponent
| getSelectionModel() : SelectionModel Returns the grid's selection model configured by the selModel configuration option. If no selection model was config... Returns the grid's selection model configured by the `selModel` configuration option. If no selection model was configured, this will create and return a RowSelectionModel. Parameters: None. Returns: `SelectionModel` | GridPanel
| getSize() : Object Gets the current size of the component's underlying element. Gets the current size of the component's underlying element. Parameters: None. Returns: `Object` An object containing the element's size {width: (element width), height: (element height)} | BoxComponent
| getStore() : Ext.data.Store Returns the grid's data store. Returns the grid's data store. Parameters: None. Returns: `Ext.data.Store` The store | GridPanel
| getTool( `String id` ) : Object Retrieve a tool by id. Retrieve a tool by id. Parameters: `id` : String Returns: `Object` tool | Panel
| getTopToolbar() : Ext.Toolbar Returns the toolbar from the top (tbar) section of the panel. Returns the toolbar from the top (`tbar`) section of the panel. Parameters: None. Returns: `Ext.Toolbar` The toolbar | Panel
| getView() : Ext.grid.GridView Returns the grid's GridView object. Returns the grid's GridView object. Parameters: None. Returns: `Ext.grid.GridView` The grid view | GridPanel
| getWidth() : Number Gets the current width of the component's underlying element. Gets the current width of the component's underlying element. Parameters: None. Returns: `Number` | BoxComponent
| getXType() : String Gets the xtype for this component as registered with Ext.ComponentMgr. For a list of all available xtypes, see the Ex... Gets the xtype for this component as registered with Ext.ComponentMgr. For a list of all available xtypes, see the Ext.Component header. Example usage:
    var t = new Ext.form.TextField();
    alert(t.getXType());  // alerts 'textfield'
Parameters: None. Returns: `String` The xtype | Component
| getXTypes() : String Returns this Component's xtype hierarchy as a slash-delimited string. For a list of all available xtypes, see the Ext... Returns this Component's xtype hierarchy as a slash-delimited string. For a list of all available xtypes, see the Ext.Component header. If using your own subclasses, be aware that a Component must register its own xtype to participate in determination of inherited xtypes. Example usage:
    var t = new Ext.form.TextField();
    alert(t.getXTypes());  // alerts 'component/box/field/textfield'
Parameters: None. Returns: `String` The xtype hierarchy string | Component
| hasListener( `String eventName` ) : Boolean Checks to see if this object has any listeners for a specified event Checks to see if this object has any listeners for a specified event Parameters: `eventName` : String The name of the event to check for Returns: `Boolean` True if the event is being listened for, else false | Observable
| hide() : Ext.Component Hide this component. Listen to the 'beforehide' event and return false to cancel hiding the component. Fires the 'h... Hide this component. Listen to the 'beforehide' event and return `false` to cancel hiding the component. Fires the 'hide' event after hiding the component. Note this method is called internally if the component is configured to be `hidden`. Parameters: None. Returns: `Ext.Component` this | Component
| isVisible() : Boolean Returns true if this component is visible. Returns true if this component is visible. Parameters: None. Returns: `Boolean` True if this component is visible, false otherwise. | Component
| isXType( `String xtype`, [`Boolean shallow`] ) : Boolean Tests whether or not this Component is of a specific xtype. This can test whether this Component is descended from th... Tests whether or not this Component is of a specific xtype. This can test whether this Component is descended from the xtype (default) or whether it is directly of the xtype specified (shallow = true). If using your own subclasses, be aware that a Component must register its own xtype to participate in determination of inherited xtypes. For a list of all available xtypes, see the Ext.Component header. Example usage:
    var t = new Ext.form.TextField();
    var isText = t.isXType('textfield');        // true
    var isBoxSubclass = t.isXType('box');       // true, descended from BoxComponent
    var isBoxInstance = t.isXType('box', true); // false, not a direct BoxComponent instance
Parameters: `xtype` : String The xtype to check for this Component `shallow` : Boolean (optional) False to check whether this Component is descended from the xtype (this is the default), or true to check whether this Component is directly of the specified xtype. Returns: `Boolean` True if this component descends from the specified xtype, false otherwise. | Component
| nextSibling() : Ext.Component Returns the next component in the owning container Returns the next component in the owning container Parameters: None. Returns: `Ext.Component` | Component
| on( `String eventName`, `Function handler`, [`Object scope`], [`Object options`] ) : void Appends an event handler to this object (shorthand for addListener.) Appends an event handler to this object (shorthand for addListener.) Parameters: `eventName` : String The type of event to listen for `handler` : Function The method the event invokes `scope` : Object (optional) The scope (`this` reference) in which the handler function is executed. If omitted, defaults to the object which fired the event. `options` : Object (optional) An object containing handler configuration. Returns: void | Observable
| previousSibling() : Ext.Component Returns the previous component in the owning container Returns the previous component in the owning container Parameters: None. Returns: `Ext.Component` | Component
| purgeListeners() : void Removes all listeners for this object Removes all listeners for this object Parameters: None. Returns: void | Observable
| reconfigure( `Ext.data.Store store`, `Ext.grid.ColumnModel colModel` ) : void Reconfigures the grid to use a different Store and Column Model and fires the 'reconfigure' event. The View will be ... Reconfigures the grid to use a different Store and Column Model and fires the 'reconfigure' event. The View will be bound to the new objects and refreshed. Be aware that upon reconfiguring a GridPanel, certain existing settings may become invalidated. For example the configured autoExpandColumn may no longer exist in the new ColumnModel. Also, an existing PagingToolbar will still be bound to the old Store, and will need rebinding. Any plugins might also need reconfiguring with the new data. Parameters: `store` : Ext.data.Store The new Ext.data.Store object `colModel` : Ext.grid.ColumnModel The new Ext.grid.ColumnModel object Returns: void | GridPanel
| relayEvents( `Object o`, `Array events` ) : void Relays selected events from the specified Observable as if the events were fired by this. Relays selected events from the specified Observable as if the events were fired by `this`. Parameters: `o` : Object The Observable whose events this object is to relay. `events` : Array Array of event names to relay. Returns: void | Observable
| removeAll( [`Boolean autoDestroy`] ) : Array Removes all components from this container. Removes all components from this container. Parameters: `autoDestroy` : Boolean (optional) True to automatically invoke the removed Component's Ext.Component.destroy function. Defaults to the value of this Container's autoDestroy config. Returns: `Array` Array of the destroyed components | Container
| removeClass( `string cls` ) : Ext.Component Removes a CSS class from the component's underlying element. Removes a CSS class from the component's underlying element. Parameters: `cls` : string The CSS class name to remove Returns: `Ext.Component` this | Component
| removeListener( `String eventName`, `Function handler`, [`Object scope`] ) : void Removes an event handler. Removes an event handler. Parameters: `eventName` : String The type of event the handler was associated with. `handler` : Function The handler to remove. This must be a reference to the function passed into the addListener call. `scope` : Object (optional) The scope originally specified for the handler. Returns: void | Observable
| render( [`Element/HTMLElement/String container`], [`String/Number position`] ) : void Render this Component into the passed HTML element. If you are using a Container object to house this Component, then... Render this Component into the passed HTML element. If you are using a Container object to house this Component, then do not use the render method. A Container's child Components are rendered by that Container's layout manager when the Container is first rendered. Certain layout managers allow dynamic addition of child components. Those that do include Ext.layout.CardLayout, Ext.layout.AnchorLayout, Ext.layout.FormLayout, Ext.layout.TableLayout. If the Container is already rendered when a new child Component is added, you may need to call the Container's doLayout to refresh the view which causes any unrendered child Components to be rendered. This is required so that you can add multiple child components if needed while only refreshing the layout once. When creating complex UIs, it is important to remember that sizing and positioning of child items is the responsibility of the Container's layout manager. If you expect child items to be sized in response to user interactions, you must configure the Container with a layout manager which creates and manages the type of layout you have in mind. Omitting the Container's layout config means that a basic layout manager is used which does nothing but render child components sequentially into the Container. No sizing or positioning will be performed in this situation. Parameters: `container` : Element/HTMLElement/String (optional) The element this Component should be rendered into. If it is being created from existing markup, this should be omitted. `position` : String/Number (optional) The element ID or DOM node index within the container before which this component will be inserted (defaults to appending to the end of the container) Returns: void | Component
| resumeEvents() : void Resume firing events. (see suspendEvents) If events were suspended using the queueSuspended parameter, then all event... Resume firing events. (see suspendEvents) If events were suspended using the `queueSuspended` parameter, then all events fired during event suspension will be sent to any listeners now. Parameters: None. Returns: void | Observable
| setHeight( `Number height` ) : Ext.BoxComponent Sets the height of the component. This method fires the resize event. Sets the height of the component. This method fires the resize event. Parameters: `height` : Number The new height to set. This may be one of: A Number specifying the new height in the Element's Ext.Element.defaultUnits (by default, pixels). A String used to set the CSS height style. undefined to leave the height unchanged. Returns: `Ext.BoxComponent` this | BoxComponent
| setIconClass( `String cls` ) : void Sets the CSS class that provides the icon image for this panel. This method will replace any existing icon class if ... Sets the CSS class that provides the icon image for this panel. This method will replace any existing icon class if one has already been set and fire the iconchange event after completion. Parameters: `cls` : String The new CSS class name Returns: void | Panel
| setPagePosition( `Number x`, `Number y` ) : Ext.BoxComponent Sets the page XY position of the component. To set the left and top instead, use setPosition. This method fires the ... Sets the page XY position of the component. To set the left and top instead, use setPosition. This method fires the move event. Parameters: `x` : Number The new x position `y` : Number The new y position Returns: `Ext.BoxComponent` this | BoxComponent
| setPosition( `Number left`, `Number top` ) : Ext.BoxComponent Sets the left and top of the component. To set the page XY position instead, use setPagePosition. This method fires ... Sets the left and top of the component. To set the page XY position instead, use setPagePosition. This method fires the move event. Parameters: `left` : Number The new left `top` : Number The new top Returns: `Ext.BoxComponent` this | BoxComponent
| setSize( `Mixed width`, `Mixed height` ) : Ext.BoxComponent Sets the width and height of this BoxComponent. This method fires the resize event. This method can accept either wid... Sets the width and height of this BoxComponent. This method fires the resize event. This method can accept either width and height as separate arguments, or you can pass a size object like `{width:10, height:20}`. Parameters: `width` : Mixed The new width to set. This may be one of: A Number specifying the new width in the Element's Ext.Element.defaultUnits (by default, pixels). A String used to set the CSS width style. A size object in the format `{width: widthValue, height: heightValue}`. `undefined` to leave the width unchanged. `height` : Mixed The new height to set (not required if a size object is passed as the first arg). This may be one of: A Number specifying the new height in the Element's Ext.Element.defaultUnits (by default, pixels). A String used to set the CSS height style. Animation may not be used. `undefined` to leave the height unchanged. Returns: `Ext.BoxComponent` this | BoxComponent
| setTitle( `String title`, [`String iconCls`] ) : void Sets the title text for the panel and optionally the icon class. In order to be able to set the title, a header eleme... Sets the title text for the panel and optionally the icon class. In order to be able to set the title, a header element must have been created for the Panel. This is triggered either by configuring the Panel with a non-blank `title`, or configuring it with `header: true`. Parameters: `title` : String The title text to set `iconCls` : String (optional) iconCls A user-defined CSS class that provides the icon image for this panel Returns: void | Panel
| setVisible( `Boolean visible` ) : Ext.Component Convenience function to hide or show this component by boolean. Convenience function to hide or show this component by boolean. Parameters: `visible` : Boolean True to show, false to hide Returns: `Ext.Component` this | Component
| setWidth( `Number width` ) : Ext.BoxComponent Sets the width of the component. This method fires the resize event. Sets the width of the component. This method fires the resize event. Parameters: `width` : Number The new width to setThis may be one of: A Number specifying the new width in the Element's Ext.Element.defaultUnits (by default, pixels). A String used to set the CSS width style. Returns: `Ext.BoxComponent` this | BoxComponent
| show() : Ext.Component Show this component. Listen to the 'beforeshow' event and return false to cancel showing the component. Fires the '... Show this component. Listen to the 'beforeshow' event and return `false` to cancel showing the component. Fires the 'show' event after showing the component. Parameters: None. Returns: `Ext.Component` this | Component
| suspendEvents( `Boolean queueSuspended` ) : void Suspend the firing of all events. (see resumeEvents) Suspend the firing of all events. (see resumeEvents) Parameters: `queueSuspended` : Boolean Pass as true to queue up suspended events to be fired after the resumeEvents call instead of discarding all suspended events; Returns: void | Observable
| syncSize() : Ext.BoxComponent Force the component's size to recalculate based on the underlying element's current height and width. Force the component's size to recalculate based on the underlying element's current height and width. Parameters: None. Returns: `Ext.BoxComponent` this | BoxComponent
| toggleCollapse( `Boolean animate` ) : Ext.Panel Shortcut for performing an expand or collapse based on the current state of the panel. Shortcut for performing an expand or collapse based on the current state of the panel. Parameters: `animate` : Boolean True to animate the transition, else false (defaults to the value of the animCollapse panel config) Returns: `Ext.Panel` this | Panel
| un( `String eventName`, `Function handler`, [`Object scope`] ) : void Removes an event handler (shorthand for removeListener.) Removes an event handler (shorthand for removeListener.) Parameters: `eventName` : String The type of event the handler was associated with. `handler` : Function The handler to remove. This must be a reference to the function passed into the addListener call. `scope` : Object (optional) The scope originally specified for the handler. Returns: void | Observable
| updateBox( `Object box` ) : Ext.BoxComponent Sets the current box measurements of the component's underlying element. Sets the current box measurements of the component's underlying element. Parameters: `box` : Object An object in the format {x, y, width, height} Returns: `Ext.BoxComponent` this | BoxComponent

## Public Events

Event | Defined By
--- | ---
| activate : ( `Ext.Panel p` ) Fires after the Panel has been visually activated. Note that Panels do not directly support being activated, but some... Fires after the Panel has been visually activated. Note that Panels do not directly support being activated, but some Panel subclasses do (like Ext.Window). Panels which are child Components of a TabPanel fire the activate and deactivate events under the control of the TabPanel. Listeners will be called with the following arguments: `p` : Ext.Panel The Panel that has been activated. | Panel
| afterlayout : ( `Ext.Container this`, `ContainerLayout layout` ) Fires when the components in this container are arranged by the associated layout manager. Fires when the components in this container are arranged by the associated layout manager. Listeners will be called with the following arguments: `this` : Ext.Container `layout` : ContainerLayout The ContainerLayout implementation for this container | Container
| afterrender : ( `Ext.Component this` ) Fires after the component rendering is finished. The afterrender event is fired after this Component has been rendere... Fires after the component rendering is finished. The afterrender event is fired after this Component has been rendered, been postprocesed by any afterRender method defined for the Component, and, if stateful, after state has been restored. Listeners will be called with the following arguments: `this` : Ext.Component | Component
| beforeclose : ( `Ext.Panel p` ) Fires before the Panel is closed. Note that Panels do not directly support being closed, but some Panel subclasses d... Fires before the Panel is closed. Note that Panels do not directly support being closed, but some Panel subclasses do (like Ext.Window) or a Panel within a Ext.TabPanel. This event only applies to such subclasses. A handler can return false to cancel the close. Listeners will be called with the following arguments: `p` : Ext.Panel The Panel being closed. | Panel
| beforecollapse : ( `Ext.Panel p`, `Boolean animate` ) Fires before the Panel is collapsed. A handler can return false to cancel the collapse. Fires before the Panel is collapsed. A handler can return false to cancel the collapse. Listeners will be called with the following arguments: `p` : Ext.Panel the Panel being collapsed. `animate` : Boolean True if the collapse is animated, else false. | Panel
| beforedestroy : ( `Ext.Component this` ) Fires before the component is destroyed. Return false from an event handler to stop the destroy. Fires before the component is destroyed. Return false from an event handler to stop the destroy. Listeners will be called with the following arguments: `this` : Ext.Component | Component
| beforeexpand : ( `Ext.Panel p`, `Boolean animate` ) Fires before the Panel is expanded. A handler can return false to cancel the expand. Fires before the Panel is expanded. A handler can return false to cancel the expand. Listeners will be called with the following arguments: `p` : Ext.Panel The Panel being expanded. `animate` : Boolean True if the expand is animated, else false. | Panel
| beforehide : ( `Ext.Component this` ) Fires before the component is hidden by calling the hide method. Return false from an event handler to stop the hide. Fires before the component is hidden by calling the hide method. Return false from an event handler to stop the hide. Listeners will be called with the following arguments: `this` : Ext.Component | Component
| beforerender : ( `Ext.Component this` ) Fires before the component is rendered. Return false from an event handler to stop the render. Fires before the component is rendered. Return false from an event handler to stop the render. Listeners will be called with the following arguments: `this` : Ext.Component | Component
| beforeshow : ( `Ext.Component this` ) Fires before the component is shown by calling the show method. Return false from an event handler to stop the show. Fires before the component is shown by calling the show method. Return false from an event handler to stop the show. Listeners will be called with the following arguments: `this` : Ext.Component | Component
| beforestaterestore : ( `Ext.Component this`, `Object state` ) Fires before the state of the component is restored. Return false from an event handler to stop the restore. Fires before the state of the component is restored. Return false from an event handler to stop the restore. Listeners will be called with the following arguments: `this` : Ext.Component `state` : Object The hash of state values returned from the StateProvider. If this event is not vetoed, then the state object is passed to `applyState`. By default, that simply copies property values into this Component. The method maybe overriden to provide custom state restoration. | Component
| beforestatesave : ( `Ext.Component this`, `Object state` ) Fires before the state of the component is saved to the configured state provider. Return false to stop the save. Fires before the state of the component is saved to the configured state provider. Return false to stop the save. Listeners will be called with the following arguments: `this` : Ext.Component `state` : Object The hash of state values. This is determined by calling `getState()` on the Component. This method must be provided by the developer to return whetever representation of state is required, by default, Ext.Component has a null implementation. | Component
| bodyresize : ( `Ext.Panel p`, `Number width`, `Number height` ) Fires after the Panel has been resized. Fires after the Panel has been resized. Listeners will be called with the following arguments: `p` : Ext.Panel the Panel which has been resized. `width` : Number The Panel's new width. `height` : Number The Panel's new height. | Panel
| bodyscroll : ( `Number scrollLeft`, `Number scrollTop` ) Fires when the body element is scrolled Fires when the body element is scrolled Listeners will be called with the following arguments: `scrollLeft` : Number `scrollTop` : Number | GridPanel
| cellclick : ( `Grid this`, `Number rowIndex`, `Number columnIndex`, `Ext.EventObject e` ) Fires when a cell is clicked. The data for the cell is drawn from the Record for this row. To access the data in th... Fires when a cell is clicked. The data for the cell is drawn from the Record for this row. To access the data in the listener function use the following technique:
    function(grid, rowIndex, columnIndex, e) {
        var record = grid.getStore().getAt(rowIndex);  // Get the Record

        var fieldName = grid.getColumnModel().getDataIndex(columnIndex); // Get field name

        var data = record.get(fieldName);
    }
Listeners will be called with the following arguments: `this` : Grid `rowIndex` : Number `columnIndex` : Number `e` : Ext.EventObject | GridPanel
| cellcontextmenu : ( `Grid this`, `Number rowIndex`, `Number cellIndex`, `Ext.EventObject e` ) Fires when a cell is right clicked Fires when a cell is right clicked Listeners will be called with the following arguments: `this` : Grid `rowIndex` : Number `cellIndex` : Number `e` : Ext.EventObject | GridPanel
| celldblclick : ( `Grid this`, `Number rowIndex`, `Number columnIndex`, `Ext.EventObject e` ) Fires when a cell is double clicked Fires when a cell is double clicked Listeners will be called with the following arguments: `this` : Grid `rowIndex` : Number `columnIndex` : Number `e` : Ext.EventObject | GridPanel
| cellmousedown : ( `Grid this`, `Number rowIndex`, `Number columnIndex`, `Ext.EventObject e` ) Fires before a cell is clicked Fires before a cell is clicked Listeners will be called with the following arguments: `this` : Grid `rowIndex` : Number `columnIndex` : Number `e` : Ext.EventObject | GridPanel
| click : ( `Ext.EventObject e` ) The raw click event for the entire grid. The raw click event for the entire grid. Listeners will be called with the following arguments: `e` : Ext.EventObject | GridPanel
| close : ( `Ext.Panel p` ) Fires after the Panel is closed. Note that Panels do not directly support being closed, but some Panel subclasses do... Fires after the Panel is closed. Note that Panels do not directly support being closed, but some Panel subclasses do (like Ext.Window) or a Panel within a Ext.TabPanel. Listeners will be called with the following arguments: `p` : Ext.Panel The Panel that has been closed. | Panel
| collapse : ( `Ext.Panel p` ) Fires after the Panel has been collapsed. Fires after the Panel has been collapsed. Listeners will be called with the following arguments: `p` : Ext.Panel the Panel that has been collapsed. | Panel
| columnmove : ( `Number oldIndex`, `Number newIndex` ) Fires when the user moves a column Fires when the user moves a column Listeners will be called with the following arguments: `oldIndex` : Number `newIndex` : Number | GridPanel
| columnresize : ( `Number columnIndex`, `Number newSize` ) Fires when the user resizes a column Fires when the user resizes a column Listeners will be called with the following arguments: `columnIndex` : Number `newSize` : Number | GridPanel
| contextmenu : ( `Ext.EventObject e` ) The raw contextmenu event for the entire grid. The raw contextmenu event for the entire grid. Listeners will be called with the following arguments: `e` : Ext.EventObject | GridPanel
| dblclick : ( `Ext.EventObject e` ) The raw dblclick event for the entire grid. The raw dblclick event for the entire grid. Listeners will be called with the following arguments: `e` : Ext.EventObject | GridPanel
| deactivate : ( `Ext.Panel p` ) Fires after the Panel has been visually deactivated. Note that Panels do not directly support being deactivated, but ... Fires after the Panel has been visually deactivated. Note that Panels do not directly support being deactivated, but some Panel subclasses do (like Ext.Window). Panels which are child Components of a TabPanel fire the activate and deactivate events under the control of the TabPanel. Listeners will be called with the following arguments: `p` : Ext.Panel The Panel that has been deactivated. | Panel
| destroy : ( `Ext.Component this` ) Fires after the component is destroyed. Fires after the component is destroyed. Listeners will be called with the following arguments: `this` : Ext.Component | Component
| disable : ( `Ext.Component this` ) Fires after the component is disabled. Fires after the component is disabled. Listeners will be called with the following arguments: `this` : Ext.Component | Component
| enable : ( `Ext.Component this` ) Fires after the component is enabled. Fires after the component is enabled. Listeners will be called with the following arguments: `this` : Ext.Component | Component
| expand : ( `Ext.Panel p` ) Fires after the Panel has been expanded. Fires after the Panel has been expanded. Listeners will be called with the following arguments: `p` : Ext.Panel The Panel that has been expanded. | Panel
| headerclick : ( `Grid this`, `Number columnIndex`, `Ext.EventObject e` ) Fires when a header is clicked Fires when a header is clicked Listeners will be called with the following arguments: `this` : Grid `columnIndex` : Number `e` : Ext.EventObject | GridPanel
| headercontextmenu : ( `Grid this`, `Number columnIndex`, `Ext.EventObject e` ) Fires when a header is right clicked Fires when a header is right clicked Listeners will be called with the following arguments: `this` : Grid `columnIndex` : Number `e` : Ext.EventObject | GridPanel
| headerdblclick : ( `Grid this`, `Number columnIndex`, `Ext.EventObject e` ) Fires when a header cell is double clicked Fires when a header cell is double clicked Listeners will be called with the following arguments: `this` : Grid `columnIndex` : Number `e` : Ext.EventObject | GridPanel
| headermousedown : ( `Grid this`, `Number columnIndex`, `Ext.EventObject e` ) Fires before a header is clicked Fires before a header is clicked Listeners will be called with the following arguments: `this` : Grid `columnIndex` : Number `e` : Ext.EventObject | GridPanel
| hide : ( `Ext.Component this` ) Fires after the component is hidden. Fires after the component is hidden when calling the hide method. Fires after the component is hidden. Fires after the component is hidden when calling the hide method. Listeners will be called with the following arguments: `this` : Ext.Component | Component
| iconchange : ( `Ext.Panel p`, `String The`, `String The` ) Fires after the Panel icon class has been set or changed. Fires after the Panel icon class has been set or changed. Listeners will be called with the following arguments: `p` : Ext.Panel the Panel which has had its icon class changed. `The` : String new icon class. `The` : String old icon class. | Panel
| keydown : ( `Ext.EventObject e` ) The raw keydown event for the entire grid. The raw keydown event for the entire grid. Listeners will be called with the following arguments: `e` : Ext.EventObject | GridPanel
| keypress : ( `Ext.EventObject e` ) The raw keypress event for the entire grid. The raw keypress event for the entire grid. Listeners will be called with the following arguments: `e` : Ext.EventObject | GridPanel
| mousedown : ( `Ext.EventObject e` ) The raw mousedown event for the entire grid. The raw mousedown event for the entire grid. Listeners will be called with the following arguments: `e` : Ext.EventObject | GridPanel
| mouseout : ( `Ext.EventObject e` ) The raw mouseout event for the entire grid. The raw mouseout event for the entire grid. Listeners will be called with the following arguments: `e` : Ext.EventObject | GridPanel
| mouseover : ( `Ext.EventObject e` ) The raw mouseover event for the entire grid. The raw mouseover event for the entire grid. Listeners will be called with the following arguments: `e` : Ext.EventObject | GridPanel
| mouseup : ( `Ext.EventObject e` ) The raw mouseup event for the entire grid. The raw mouseup event for the entire grid. Listeners will be called with the following arguments: `e` : Ext.EventObject | GridPanel
| move : ( `Ext.Component this`, `Number x`, `Number y` ) Fires after the component is moved. Fires after the component is moved. Listeners will be called with the following arguments: `this` : Ext.Component `x` : Number The new x position `y` : Number The new y position | BoxComponent
| reconfigure : ( `Grid this`, `Ext.data.Store store`, `Ext.grid.ColumnModel colModel` ) Fires when the grid is reconfigured with a new store and/or column model. Fires when the grid is reconfigured with a new store and/or column model. Listeners will be called with the following arguments: `this` : Grid `store` : Ext.data.Store The new store `colModel` : Ext.grid.ColumnModel The new column model | GridPanel
| render : ( `Ext.Component this` ) Fires after the component markup is rendered. Fires after the component markup is rendered. Listeners will be called with the following arguments: `this` : Ext.Component | Component
| resize : ( `Ext.Component this`, `Number adjWidth`, `Number adjHeight`, `Number rawWidth`, `Number rawHeight` ) Fires after the component is resized. Fires after the component is resized. Listeners will be called with the following arguments: `this` : Ext.Component `adjWidth` : Number The box-adjusted width that was set `adjHeight` : Number The box-adjusted height that was set `rawWidth` : Number The width that was originally specified `rawHeight` : Number The height that was originally specified | BoxComponent
| rowclick : ( `Grid this`, `Number rowIndex`, `Ext.EventObject e` ) Fires when a row is clicked Fires when a row is clicked Listeners will be called with the following arguments: `this` : Grid `rowIndex` : Number `e` : Ext.EventObject | GridPanel
| rowcontextmenu : ( `Grid this`, `Number rowIndex`, `Ext.EventObject e` ) Fires when a row is right clicked Fires when a row is right clicked Listeners will be called with the following arguments: `this` : Grid `rowIndex` : Number `e` : Ext.EventObject | GridPanel
| rowdblclick : ( `Grid this`, `Number rowIndex`, `Ext.EventObject e` ) Fires when a row is double clicked Fires when a row is double clicked Listeners will be called with the following arguments: `this` : Grid `rowIndex` : Number `e` : Ext.EventObject | GridPanel
| rowmousedown : ( `Grid this`, `Number rowIndex`, `Ext.EventObject e` ) Fires before a row is clicked Fires before a row is clicked Listeners will be called with the following arguments: `this` : Grid `rowIndex` : Number `e` : Ext.EventObject | GridPanel
| show : ( `Ext.Component this` ) Fires after the component is shown when calling the show method. Fires after the component is shown when calling the show method. Listeners will be called with the following arguments: `this` : Ext.Component | Component
| sortchange : ( `Grid this`, `Object sortInfo` ) Fires when the grid's store sort changes Fires when the grid's store sort changes Listeners will be called with the following arguments: `this` : Grid `sortInfo` : Object An object with the keys field and direction | GridPanel
| staterestore : ( `Ext.Component this`, `Object state` ) Fires after the state of the component is restored. Fires after the state of the component is restored. Listeners will be called with the following arguments: `this` : Ext.Component `state` : Object The hash of state values returned from the StateProvider. This is passed to `applyState`. By default, that simply copies property values into this Component. The method maybe overriden to provide custom state restoration. | Component
| statesave : ( `Ext.Component this`, `Object state` ) Fires after the state of the component is saved to the configured state provider. Fires after the state of the component is saved to the configured state provider. Listeners will be called with the following arguments: `this` : Ext.Component `state` : Object The hash of state values. This is determined by calling `getState()` on the Component. This method must be provided by the developer to return whetever representation of state is required, by default, Ext.Component has a null implementation. | Component
| titlechange : ( `Ext.Panel p`, `String The` ) Fires after the Panel title has been set or changed. Fires after the Panel title has been set or changed. Listeners will be called with the following arguments: `p` : Ext.Panel the Panel which has had its title changed. `The` : String new title. | Panel