Properties Methods Events Config Options Direct Link

    Observable
      Component
        BoxComponent
          DataView
            ListView

# Class Ext.list.ListView

Package: | Ext.list
Defined In: | ListView.js
Class: | ListView
Extends: | DataView

Ext.list.ListView is a fast and light-weight implentation of a Grid like view with the following characteristics:

- resizable columns
- selectable
- column widths are initially proportioned by percentage based on the container width and number of columns
- uses templates to render the data in any required format
- no horizontal scrolling
- no editing

Example usage:

    // consume JSON of this form:
    {
       "images":[
          {
             "name":"dance_fever.jpg",
             "size":2067,
             "lastmod":1236974993000,
             "url":"images\/thumbs\/dance_fever.jpg"
          },
          {
             "name":"zack_sink.jpg",
             "size":2303,
             "lastmod":1236974993000,
             "url":"images\/thumbs\/zack_sink.jpg"
          }
       ]
    }
    var store = new Ext.data.JsonStore({
        url: 'get-images.php',
        root: 'images',
        fields: [
            'name', 'url',
            {name:'size', type: 'float'},
            {name:'lastmod', type:'date', dateFormat:'timestamp'}
        ]
    });
    store.load();

    var listView = new Ext.list.ListView({
        store: store,
        multiSelect: true,
        emptyText: 'No images to display',
        reserveScrollOffset: true,
        columns: [{
            header: 'File',
            width: .5,
            dataIndex: 'name'
        },{
            header: 'Last Modified',
            width: .35,
            dataIndex: 'lastmod',
            tpl: '{lastmod:date("m-d h:i a")}'
        },{
            header: 'Size',
            dataIndex: 'size',
            tpl: '{size:fileSize}', // format using Ext.util.Format.fileSize()
            align: 'right'
        }]
    });

    // put it in a Panel so it looks pretty
    var panel = new Ext.Panel({
        id:'images-view',
        width:425,
        height:250,
        collapsible:true,
        layout:'fit',
        title:'Simple ListView (0 items selected)',
        items: listView
    });
    panel.render(document.body);

    // little bit of feedback
    listView.on('selectionchange', function(view, nodes){
        var l = nodes.length;
        var s = l != 1 ? 's' : '';
        panel.setTitle('Simple ListView ('+l+' item'+s+' selected)');
    });

## Config Options

Config Options | Defined By
--- | ---
| allowDomMove : Boolean Whether the component can move the Dom node when rendering (defaults to true). | Component
| 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 (or subclass thereof). based layout manager, for example: Ext.form.FormPanel specifying `layout: 'anchor' // or 'form', or 'absolute'` See Ext.layout.AnchorLayout.anchor also. | BoxComponent
| applyTo : Mixed Specify the id of the element, a DOM element or an existing Element corresponding to a DIV that is already present in... Specify the id of the element, a DOM element or an existing Element corresponding to a DIV that is already present in the document that specifies some structural markup for this component. Description : When `applyTo` is used, constituent parts of the component can also be specified by id or CSS class name within the main element, and the component being created may attempt to create its subcomponents from that markup if applicable. Notes : When using this config, a call to render() is not required. If applyTo is specified, any value passed for renderTo will be ignored and the target element's parent node will automatically be used as the component's container. | Component
| autoEl : Mixed A tag name or DomHelper spec used to create the Element which will encapsulate this Component. You do not normally ne... A tag name or DomHelper spec used to create the Element which will encapsulate this Component. You do not normally need to specify this. For the base classes Ext.Component, Ext.BoxComponent, and Ext.Container, this defaults to `'div'`. The more complex Ext classes use a more complex DOM structure created by their own onRender methods. This is intended to allow the developer to create application-specific utility Components encapsulated by different DOM elements. Example usage:
    {
        xtype: 'box',
        autoEl: {
            tag: 'img',
            src: 'http://www.example.com/example.jpg'
        }
    }, {
        xtype: 'box',
        autoEl: {
            tag: 'blockquote',
            html: 'autoEl is cool!'
        }
    }, {
        xtype: 'container',
        autoEl: 'ul',
        cls: 'ux-unordered-list',
        items: {
            xtype: 'box',
            autoEl: 'li',
            html: 'First list item'
        }
    }
| Component
| autoHeight : Boolean True to use height:'auto', false to use fixed height (or allow it to be managed by its parent Container's layout mana... True to use height:'auto', false to use fixed height (or allow it to be managed by its parent Container's layout manager. Defaults to false. Note: Although many components inherit this config option, not all will function as expected with a height of 'auto'. Setting autoHeight:true means that the browser will manage height based on the element's contents, and that Ext will not manage it at all. If the browser is managing the height, be aware that resizes performed by the browser in response to changes within the structure of the Component cannot be detected. Therefore changes to the height might result in elements needing to be synchronized with the new height. Example:
    var w = new Ext.Window({
        title: 'Window',
        width: 600,
        autoHeight: true,
        items: {
            title: 'Collapse Me',
            height: 400,
            collapsible: true,
            border: false,
            listeners: {
                beforecollapse: function() {
                    w.el.shadow.hide();
                },
                beforeexpand: function() {
                    w.el.shadow.hide();
                },
                collapse: function() {
                    w.syncShadow();
                },
                expand: function() {
                    w.syncShadow();
                }
            }
        }
    }).show();
| BoxComponent
| autoScroll : Boolean true to use overflow:'auto' on the components layout element and show scroll bars automatically when necessary, false... `true` to use overflow:'auto' on the components layout element and show scroll bars automatically when necessary, `false` to clip any overflowing content (defaults to `false`). | BoxComponent
| 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
| autoWidth : Boolean True to use width:'auto', false to use fixed width (or allow it to be managed by its parent Container's layout manage... True to use width:'auto', false to use fixed width (or allow it to be managed by its parent Container's layout manager. Defaults to false. Note: Although many components inherit this config option, not all will function as expected with a width of 'auto'. Setting autoWidth:true means that the browser will manage width based on the element's contents, and that Ext will not manage it at all. If the browser is managing the width, be aware that resizes performed by the browser in response to changes within the structure of the Component cannot be detected. Therefore changes to the width might result in elements needing to be synchronized with the new width. For example, where the target element is:
    <div id='grid-container' style='margin-left:25%;width:50%'></div>
A Panel rendered into that target element must listen for browser window resize in order to relay its child items when the browser changes its width:
    var myPanel = new Ext.Panel({
        renderTo: 'grid-container',
        monitorResize: true, // relay on browser resize
        title: 'Panel',
        height: 400,
        autoWidth: true,
        layout: 'hbox',
        layoutConfig: {
            align: 'stretch'
        },
        defaults: {
            flex: 1
        },
        items: [{
            title: 'Box 1',
        }, {
            title: 'Box 2'
        }, {
            title: 'Box 3'
        }],
    });
| BoxComponent
| blockRefresh : Boolean Set this to true to ignore datachanged events on the bound store. This is useful if you wish to provide custom transi... Set this to true to ignore datachanged events on the bound store. This is useful if you wish to provide custom transition animations via a plugin (defaults to false) | DataView
| boxMaxHeight : Number The maximum value in pixels which this BoxComponent will set its height to. Warning: This will override any size mana... The maximum value in pixels which this BoxComponent will set its height to. Warning: This will override any size management applied by layout managers. | BoxComponent
| boxMaxWidth : Number The maximum value in pixels which this BoxComponent will set its width to. Warning: This will override any size manag... The maximum value in pixels which this BoxComponent will set its width to. Warning: This will override any size management applied by layout managers. | BoxComponent
| boxMinHeight : Number The minimum value in pixels which this BoxComponent will set its height to. Warning: This will override any size mana... The minimum value in pixels which this BoxComponent will set its height to. Warning: This will override any size management applied by layout managers. | BoxComponent
| boxMinWidth : Number The minimum value in pixels which this BoxComponent will set its width to. Warning: This will override any size manag... The minimum value in pixels which this BoxComponent will set its width to. Warning: This will override any size management applied by layout managers. | BoxComponent
| bubbleEvents : Array An array of events that, when fired, should be bubbled to any parent container. See Ext.util.Observable.enableBubble.... An array of events that, when fired, should be bubbled to any parent container. See Ext.util.Observable.enableBubble. Defaults to `[]`. | Component
| 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
| 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
| columnResize : Boolean/Object Specify true or specify a configuration object for Ext.list.ListView.ColumnResizer to enable the columns to be resiza... Specify `true` or specify a configuration object for Ext.list.ListView.ColumnResizer to enable the columns to be resizable (defaults to `true`). | ListView
| columnSort : Boolean/Object Specify true or specify a configuration object for Ext.list.ListView.Sorter to enable the columns to be sortable (def... Specify `true` or specify a configuration object for Ext.list.ListView.Sorter to enable the columns to be sortable (defaults to `true`). | ListView
| columns : Array An array of column configuration objects, for example: { align: 'right', dataIndex: 'size', header: 'Size... An array of column configuration objects, for example:
    {
        align: 'right',
        dataIndex: 'size',
        header: 'Size',
        tpl: '{size:fileSize}',
        width: .35
    }
Acceptable properties for each column configuration object are: `align` : String Set the CSS text-align property of the column. Defaults to `'left'`. `dataIndex` : String See Ext.grid.Column. dataIndex for details. `header` : String See Ext.grid.Column. header for details. `tpl` : String Specify a string to pass as the configuration string for Ext.XTemplate. By default an Ext.XTemplate will be implicitly created using the `dataIndex`. `width` : Number Percentage of the container width this column should be allocated. Columns that have no width specified will be allocated with an equal percentage to fill 100% of the container width. To easily take advantage of the full container width, leave the width of at least one column undefined. Note that if you do not want to take up the full width of the container, the width of every column needs to be explicitly defined. | ListView
| contentEl : String Optional. Specify an existing HTML element, or the id of an existing HTML element to use as the content for this comp... Optional. Specify an existing HTML element, or the `id` of an existing HTML element to use as the content for this component. Description : This config option is used to take an existing HTML element and place it in the layout element of a new component (it simply moves the specified DOM element after the Component is rendered to use as the content. Notes : The specified HTML element is appended to the layout element of the component after any configured HTML has been inserted, and so the document will not contain this element at the time the render event is fired. The specified HTML element used will not participate in any `layout` scheme that the Component may use. It is just HTML. Layouts operate on child `items`. Add either the `x-hidden` or the `x-hide-display` CSS class to prevent a brief flicker of the content before it is rendered to the panel. | Component
| 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
| data : Mixed The initial set of data to apply to the `tpl` to update the content area of the Component. | Component
| deferEmptyText : Boolean True to defer emptyText being applied until the store's first load | DataView
| disabled : Boolean Render this component disabled (default is false). | Component
| disabledClass : String CSS class added to the component when it is disabled (defaults to 'x-item-disabled'). | Component
| emptyText : String The text to display in the view when there is no data to display (defaults to ''). | DataView
| 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
| flex : Number Note: this config is only used when this Component is rendered by a Container which has been configured to use a BoxL... Note: this config is only used when this Component is rendered by a Container which has been configured to use a BoxLayout. Each child Component with a `flex` property will be flexed either vertically (by a VBoxLayout) or horizontally (by an HBoxLayout) according to the item's relative `flex` value compared to the sum of all Components with `flex value specified. Any child items that have either a `flex = 0` or `flex = undefined` will not be 'flexed' (the initial size will not be changed).` | BoxComponent
| 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
| hideHeaders : Boolean `true` to hide the header row (defaults to `false` so the header row will be shown). | ListView
| 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
| html : String/Object An HTML fragment, or a DomHelper specification to use as the layout element content (defaults to ''). The HTML conten... An HTML fragment, or a DomHelper specification to use as the layout element content (defaults to ''). The HTML content is added after the component is rendered, so the document will not contain this HTML at the time the render event is fired. This content is inserted into the body before any configured contentEl is appended. | Component
| 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
| internalTpl : String/Array The template to be used for the header row. See tpl for more details. | ListView
| 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
| itemSelector : String Defaults to 'dl' to work with the preconfigured tpl. This setting specifies the CSS selector (e.g. div.some-class or ... Defaults to `'dl'` to work with the preconfigured `tpl`. This setting specifies the CSS selector (e.g. `div.some-class` or `span:first-child`) that will be used to determine what nodes the ListView will be working with. | ListView
| 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
| loadingText : String A string to display during data load operations (defaults to undefined). If specified, this text will be displayed i... A string to display during data load operations (defaults to undefined). If specified, this text will be displayed in a loading div and the view's contents will be cleared while loading, otherwise the view's contents will continue to display normally until the new data is loaded and the contents are replaced. | DataView
| 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
| multiSelect : Boolean True to allow selection of more than one item at a time, false to allow selection of only a single item at a time or ... True to allow selection of more than one item at a time, false to allow selection of only a single item at a time or no selection at all, depending on the value of singleSelect (defaults to false). | DataView
| overClass : String The CSS class applied when over a row (defaults to 'x-list-over'). An example overriding the default styling: .x-... The CSS class applied when over a row (defaults to `'x-list-over'`). An example overriding the default styling:
    .x-list-over {background-color: orange;}
| ListView
| 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`. Also see the `added` and `removed` events. | 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
| reserveScrollOffset : Boolean By default will defer accounting for the configured scrollOffset for 10 milliseconds. Specify true to account for th... By default will defer accounting for the configured `scrollOffset` for 10 milliseconds. Specify `true` to account for the configured `scrollOffset` immediately. | ListView
| scrollOffset : Number The amount of space to reserve for the scrollbar (defaults to undefined). If an explicit value isn't specified, this ... The amount of space to reserve for the scrollbar (defaults to `undefined`). If an explicit value isn't specified, this will be automatically calculated. | ListView
| selectedClass : String The CSS class applied to a selected row (defaults to 'x-list-selected'). An example overriding the default styling: ... The CSS class applied to a selected row (defaults to `'x-list-selected'`). An example overriding the default styling:
    .x-list-selected {background-color: yellow;}
| ListView
| simpleSelect : Boolean True to enable multiselection by clicking on multiple items without requiring the user to hold Shift or Ctrl, false t... True to enable multiselection by clicking on multiple items without requiring the user to hold Shift or Ctrl, false to force the user to hold Ctrl or Shift to select more than on item (defaults to false). | DataView
| singleSelect : Boolean True to allow selection of exactly one item at a time, false to allow no selection at all (defaults to false). Note t... True to allow selection of exactly one item at a time, false to allow no selection at all (defaults to false). Note that if multiSelect = true, this value will be ignored. | DataView
| stateEvents : Array An array of events that, when fired, should trigger this component to save its state (defaults to none). stateEvents ... An array of events that, when fired, should trigger this component to save its state (defaults to none). `stateEvents` may be any type of event supported by this component, including browser or custom events (e.g., `['click', 'customerchange']`). See `stateful` for an explanation of saving and restoring Component state. | Component
| 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 to bind this DataView to. | DataView
| 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
| tpl : String/Array The HTML fragment or an array of fragments that will make up the template used by this DataView. This should be spec... The HTML fragment or an array of fragments that will make up the template used by this DataView. This should be specified in the same format expected by the constructor of Ext.XTemplate. | DataView
| tplWriteMode : String The Ext.(X)Template method to use when updating the content area of the Component. Defaults to 'overwrite' (see Ext.X... The Ext.(X)Template method to use when updating the content area of the Component. Defaults to `'overwrite'` (see `Ext.XTemplate.overwrite`). | Component
| trackOver : Boolean True to enable mouseenter and mouseleave events | DataView
| 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
--- | ---
| disableHeaders : Boolean Set this property to `true` to disable the header click handler disabling sort (defaults to `false`). | ListView
| disabled : Boolean True if this component is disabled. Read-only. | Component
| 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
| 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
| refOwner : Ext.Container The ancestor Container into which the ref reference was inserted if this Component is a child of a Container, and has... The ancestor Container into which the ref reference was inserted if this Component is a child of a Container, and has been configured with a `ref`. | Component
| rendered : Boolean True if this component has been rendered. Read-only. | Component

## Public Methods

Method | Defined By
--- | ---
| ListView( `Object config` ) Parameters: `config` : Object Returns: void | ListView
| 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
| applyToMarkup( `String/HTMLElement el` ) : void Apply this component to existing markup that is valid. With this function, no call to render() is required. Apply this component to existing markup that is valid. With this function, no call to render() is required. Parameters: `el` : String/HTMLElement Returns: void | Component
| bindStore( `Store store` ) : void Changes the data store bound to this view and refreshes it. Changes the data store bound to this view and refreshes it. Parameters: `store` : Store The store to bind to this view Returns: void | DataView
| clearSelections( [`Boolean suppressEvent`] ) : void Clears all selections. Clears all selections. Parameters: `suppressEvent` : Boolean (optional) True to skip firing of the selectionchange event Returns: void | DataView
| 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
| collectData( `Array records`, `Number startIndex` ) : Object Function which can be overridden which returns the data object passed to this view's template to render the whole Lis... Function which can be overridden which returns the data object passed to this view's template to render the whole ListView. The returned object shall contain the following properties: columns : String See `columns` rows : String See `Ext.DataView.collectData` Parameters: `records` : Array An Array of Ext.data.Records to be rendered into the DataView. `startIndex` : Number the index number of the Record being prepared for rendering. Returns: `Object` A data object containing properties to be processed by a repeating XTemplate as described above. | ListView
| deselect( `HTMLElement/Number/Record node` ) : void Deselects a node. Deselects a node. Parameters: `node` : HTMLElement/Number/Record The node, node index or record to deselect Returns: void | DataView
| 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
| disable() : Ext.Component Disable this component and fire the 'disable' event. Disable this component and fire the 'disable' event. Parameters: None. Returns: `Ext.Component` this | Component
| enable() : Ext.Component Enable this component and fire the 'enable' event. Enable this component and fire the 'enable' event. Parameters: None. Returns: `Ext.Component` this | Component
| enableBubble( `String/Array 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` : String/Array The event name to bubble, or an Array of event names. Returns: void | Observable
| findItemFromChild( `HTMLElement node` ) : HTMLElement Returns the template node the passed child belongs to, or null if it doesn't belong to one. Returns the template node the passed child belongs to, or null if it doesn't belong to one. Parameters: `node` : HTMLElement Returns: `HTMLElement` The template node | DataView
| 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
| 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
| 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
| 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
| 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
| getNode( `HTMLElement/String/Number/Ext.data.Record nodeInfo` ) : HTMLElement Gets a template node. Gets a template node. Parameters: `nodeInfo` : HTMLElement/String/Number/Ext.data.Record An HTMLElement template node, index of a template node, the id of a template node or the record associated with the node. Returns: `HTMLElement` The node or null if it wasn't found | DataView
| getNodes( [`Number start`], [`Number end`] ) : Array Gets a range nodes. Gets a range nodes. Parameters: `start` : Number (optional) The index of the first node in the range `end` : Number (optional) The index of the last node in the range Returns: `Array` An array of nodes | DataView
| 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
| getRecord( `HTMLElement node` ) : Record Gets a record from a node Gets a record from a node Parameters: `node` : HTMLElement The node to evaluate Returns: `Record` record The {@link Ext.data.Record} object | DataView
| getRecords( `Array nodes` ) : Array Gets an array of the records from an array of nodes Gets an array of the records from an array of nodes Parameters: `nodes` : Array The nodes to evaluate Returns: `Array` records The {@link Ext.data.Record} objects | DataView
| getResizeEl() : Ext.Element 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: `Ext.Element` The Element which is to be resized by size managing layouts. | BoxComponent
| getSelectedIndexes() : Array Gets the indexes of the selected nodes. Gets the indexes of the selected nodes. Parameters: None. Returns: `Array` An array of numeric indexes | DataView
| getSelectedNodes() : Array Gets the currently selected nodes. Gets the currently selected nodes. Parameters: None. Returns: `Array` An array of HTMLElements | DataView
| getSelectedRecords() : Array Gets an array of the selected records Gets an array of the selected records Parameters: None. Returns: `Array` An array of {@link Ext.data.Record} objects | DataView
| getSelectionCount() : Number Gets the number of selected nodes. Gets the number of selected nodes. Parameters: None. Returns: `Number` The node count | DataView
| 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 store associated with this DataView. Returns the store associated with this DataView. Parameters: None. Returns: `Ext.data.Store` The store | DataView
| 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
| indexOf( `HTMLElement/String/Number/Record nodeInfo` ) : Number Finds the index of the passed node. Finds the index of the passed node. Parameters: `nodeInfo` : HTMLElement/String/Number/Record An HTMLElement template node, index of a template node, the id of a template node or a record associated with a node. Returns: `Number` The index of the node or -1 | DataView
| isSelected( `HTMLElement/Number/Ext.data.Record node` ) : Boolean Returns true if the passed node is selected, else false. Returns true if the passed node is selected, else false. Parameters: `node` : HTMLElement/Number/Ext.data.Record The node, node index or record to check Returns: `Boolean` True if selected, else false | DataView
| 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
| mon( `Observable|Element item`, `Object|String ename`, `Function fn`, `Object scope`, `Object opt` ) : void Adds listeners to any Observable object (or Elements) which are automatically removed when this Component is destroye... Adds listeners to any Observable object (or Elements) which are automatically removed when this Component is destroyed. Usage: `
    myGridPanel.mon(myGridPanel.getSelectionModel(), 'selectionchange', handleSelectionChange, null, {buffer: 50});
` or: `
    myGridPanel.mon(myGridPanel.getSelectionModel(), {
        selectionchange: handleSelectionChange,
        buffer: 50
    });
` Parameters: `item` : Observable|Element The item to which to add a listener/listeners. `ename` : Object|String The event name, or an object containing event name properties. `fn` : Function Optional. If the `ename` parameter was an event name, this is the handler function. `scope` : Object Optional. If the `ename` parameter was an event name, this is the scope (`this` reference) in which the handler function is executed. `opt` : Object Optional. If the `ename` parameter was an event name, this is the addListener options. Returns: void | Component
| mun( `Observable|Element item`, `Object|String ename`, `Function fn`, `Object scope` ) : void Removes listeners that were added by the mon method. Removes listeners that were added by the mon method. Parameters: `item` : Observable|Element The item from which to remove a listener/listeners. `ename` : Object|String The event name, or an object containing event name properties. `fn` : Function Optional. If the `ename` parameter was an event name, this is the handler function. `scope` : Object Optional. If the `ename` parameter was an event name, this is the scope (`this` reference) in which the handler function is executed. Returns: void | 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
| prepareData( `Array/Object data`, `Number recordIndex`, `Record record` ) : Array/Object Function which can be overridden to provide custom formatting for each Record that is used by this DataView's templat... Function which can be overridden to provide custom formatting for each Record that is used by this DataView's template to render each node. Parameters: `data` : Array/Object The raw data object that was used to create the Record. `recordIndex` : Number the index number of the Record being prepared for rendering. `record` : Record The Record being prepared for rendering. Returns: `Array/Object` The formatted data in a format expected by the internal {@link #tpl template}'s overwrite() method. (either an array if your params are numeric (i.e. {0}) or an object (i.e. {foo: 'bar'})) | DataView
| 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
| refresh() : void Refreshes the view by reloading the data from the store and re-rendering the template. Refreshes the view by reloading the data from the store and re-rendering the template. Parameters: None. Returns: void | DataView
| refreshNode( `Number index` ) : void Refreshes an individual node's data from the store. Refreshes an individual node's data from the store. Parameters: `index` : Number The item's data index in the store Returns: void | DataView
| 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
| 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
| select( `Array/HTMLElement/String/Number/Ext.data.Record nodeInfo`, [`Boolean keepExisting`], [`Boolean suppressEvent`] ) : void Selects a set of nodes. Selects a set of nodes. Parameters: `nodeInfo` : Array/HTMLElement/String/Number/Ext.data.Record An HTMLElement template node, index of a template node, id of a template node, record associated with a node or an array of any of those to select `keepExisting` : Boolean (optional) true to keep existing selections `suppressEvent` : Boolean (optional) true to skip firing of the selectionchange vent Returns: void | DataView
| selectRange( `Number start`, `Number end`, [`Boolean keepExisting`] ) : void Selects a range of nodes. All nodes between start and end are selected. Selects a range of nodes. All nodes between start and end are selected. Parameters: `start` : Number The index of the first node in the range `end` : Number The index of the last node in the range `keepExisting` : Boolean (optional) True to retain existing selections Returns: void | DataView
| setAutoScroll( `Boolean scroll` ) : Ext.BoxComponent Sets the overflow on the content element of the component. Sets the overflow on the content element of the component. Parameters: `scroll` : Boolean True to allow the Component to auto scroll. Returns: `Ext.BoxComponent` this | BoxComponent
| setDisabled( `Boolean disabled` ) : Ext.Component Convenience function for setting disabled/enabled by boolean. Convenience function for setting disabled/enabled by boolean. Parameters: `disabled` : Boolean Returns: `Ext.Component` this | Component
| setHeight( `Mixed 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` : Mixed The new height to set. This may be one of: A Number specifying the new height in the Element's defaultUnits (by default, pixels). A String used to set the CSS height style. undefined to leave the height unchanged. Returns: `Ext.BoxComponent` this | BoxComponent
| 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
| setStore( `Store store` ) : void Changes the data store bound to this view and refreshes it. (deprecated in favor of bindStore) Changes the data store bound to this view and refreshes it. (deprecated in favor of bindStore) Parameters: `store` : Store The store to bind to this view Returns: void | DataView
| 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( `Mixed 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` : Mixed The new width to set. This may be one of: A Number specifying the new width in the Element's 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
| 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
| update( `Mixed htmlOrData`, [`Boolean loadScripts`], [`Function callback`] ) : void Update the content area of a component. Update the content area of a component. Parameters: `htmlOrData` : Mixed If this component has been configured with a template via the tpl config then it will use this argument as data to populate the template. If this component was not configured with a template, the components content area will be updated via Ext.Element update `loadScripts` : Boolean (optional) Only legitimate when using the html configuration. Defaults to false `callback` : Function (optional) Only legitimate when using the html configuration. Callback to execute when scripts have finished loading Returns: void | Component
| 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
--- | ---
| added : ( `Ext.Component this`, `Ext.Container ownerCt`, `number index` ) Fires when a component is added to an Ext.Container Fires when a component is added to an Ext.Container Listeners will be called with the following arguments: `this` : Ext.Component `ownerCt` : Ext.Container Container which holds the component `index` : number Position at which the component was added | Component
| 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
| beforeclick : ( `Ext.DataView this`, `Number index`, `HTMLElement node`, `Ext.EventObject e` ) Fires before a click is processed. Returns false to cancel the default action. Fires before a click is processed. Returns false to cancel the default action. Listeners will be called with the following arguments: `this` : Ext.DataView `index` : Number The index of the target node `node` : HTMLElement The target node `e` : Ext.EventObject The raw event object | DataView
| 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
| 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
| beforeselect : ( `Ext.DataView this`, `HTMLElement node`, `Array selections` ) Fires before a selection is made. If any handlers return false, the selection is cancelled. Fires before a selection is made. If any handlers return false, the selection is cancelled. Listeners will be called with the following arguments: `this` : Ext.DataView `node` : HTMLElement The node to be selected `selections` : Array Array of currently selected nodes | DataView
| 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
| click : ( `Ext.DataView this`, `Number index`, `HTMLElement node`, `Ext.EventObject e` ) Fires when a template node is clicked. Fires when a template node is clicked. Listeners will be called with the following arguments: `this` : Ext.DataView `index` : Number The index of the target node `node` : HTMLElement The target node `e` : Ext.EventObject The raw event object | DataView
| containerclick : ( `Ext.DataView this`, `Ext.EventObject e` ) Fires when a click occurs and it is not on a template node. Fires when a click occurs and it is not on a template node. Listeners will be called with the following arguments: `this` : Ext.DataView `e` : Ext.EventObject The raw event object | DataView
| containercontextmenu : ( `Ext.DataView this`, `Ext.EventObject e` ) Fires when a right click occurs that is not on a template node. Fires when a right click occurs that is not on a template node. Listeners will be called with the following arguments: `this` : Ext.DataView `e` : Ext.EventObject The raw event object | DataView
| contextmenu : ( `Ext.DataView this`, `Number index`, `HTMLElement node`, `Ext.EventObject e` ) Fires when a template node is right clicked. Fires when a template node is right clicked. Listeners will be called with the following arguments: `this` : Ext.DataView `index` : Number The index of the target node `node` : HTMLElement The target node `e` : Ext.EventObject The raw event object | DataView
| dblclick : ( `Ext.DataView this`, `Number index`, `HTMLElement node`, `Ext.EventObject e` ) Fires when a template node is double clicked. Fires when a template node is double clicked. Listeners will be called with the following arguments: `this` : Ext.DataView `index` : Number The index of the target node `node` : HTMLElement The target node `e` : Ext.EventObject The raw event object | DataView
| 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
| 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
| mouseenter : ( `Ext.DataView this`, `Number index`, `HTMLElement node`, `Ext.EventObject e` ) Fires when the mouse enters a template node. trackOver:true or an overClass must be set to enable this event. Fires when the mouse enters a template node. trackOver:true or an overClass must be set to enable this event. Listeners will be called with the following arguments: `this` : Ext.DataView `index` : Number The index of the target node `node` : HTMLElement The target node `e` : Ext.EventObject The raw event object | DataView
| mouseleave : ( `Ext.DataView this`, `Number index`, `HTMLElement node`, `Ext.EventObject e` ) Fires when the mouse leaves a template node. trackOver:true or an overClass must be set to enable this event. Fires when the mouse leaves a template node. trackOver:true or an overClass must be set to enable this event. Listeners will be called with the following arguments: `this` : Ext.DataView `index` : Number The index of the target node `node` : HTMLElement The target node `e` : Ext.EventObject The raw event object | DataView
| 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
| removed : ( `Ext.Component this`, `Ext.Container ownerCt` ) Fires when a component is removed from an Ext.Container Fires when a component is removed from an Ext.Container Listeners will be called with the following arguments: `this` : Ext.Component `ownerCt` : Ext.Container Container which holds the component | Component
| 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
| selectionchange : ( `Ext.DataView this`, `Array selections` ) Fires when the selected nodes change. Fires when the selected nodes change. Listeners will be called with the following arguments: `this` : Ext.DataView `selections` : Array Array of the selected nodes | DataView
| 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
| 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