Store filter

by kzoon

HTML

<link rel="stylesheet" href="http://dev.sencha.com/deploy/ext-3.3.1/resources/css/ext-all.css">
<script src="http://dev.sencha.com/deploy/ext-3.3.1/adapter/ext/ext-base.js"></script>
<script src="http://dev.sencha.com/deploy/ext-3.3.1/ext-all.js"></script>
<link rel="stylesheet" type="text/css" href="http://cdn.sencha.com/ext-3.4.0/resources/css/ext-all.css" />
<script type="text/javascript" src="http://cdn.sencha.com/ext-3.4.0/adapter/ext/ext-base-debug.js"></script>
<script type="text/javascript" src="http://cdn.sencha.com/ext-3.4.0/ext-all-debug.js"></script>
<div id="test"></div>

CSS

#test {
    margin:20px;
}

JavaScript

Ext.onReady(function () {

    var store = new Ext.data.ArrayStore({
        fields: [
            'bannerid',
            'banner'],
        filters: [{
            property: "banner",
            value: "XXX",
            anyMatch: true
        }]
    });


    Ext.ns('MyApp');
    MyApp.MyCombo = Ext.extend(Ext.form.ComboBox, {
        hideLabel: false,
        xtype: 'combo',
        valueField: 'bannerid',
        displayField: 'banner',
        hiddenName: 'bannerid',
        triggerAction: 'all',
        forceSelection: true,
        mode: 'local',
        editable: false,
        lazyRender: true,
        store: store
    });

    var combo_banner1 = new MyApp.MyCombo({
        id: 'combo_banner1',
        name: 'combo_banner1',
        fieldLabel: 'Banner 1'
    });


    var form = new Ext.form.FormPanel({
        border: false,
        items: [
        combo_banner1]
    });

    var panel = new Ext.Panel({
        title: 'CheckBoxGroup',
        renderTo: 'test',
        padding: '10',
        items: form,
        fbar: [{
            text: 'filter',
            handler: function () {
                store.filter([{
                    property: "banner",
                    value: "XXX",
                    anyMatch: true
                }]);

            }
        }]
    });

    var data = [
        [1, 'Banner One'],
        [2, 'Banner Two'],
        [3, 'Banner Three'],
        [4, 'Banner Fourteen'],
        [5, 'Banner Fifteen'],
        [6, 'Banner Sixty Seven'],
        [7, 'Banner XXX Seventy One'],
        [8, 'Banner Eighty Five'],
        [9, 'Banner Nine'],
        [11, 'XXX Banner XXXX'],
        [10, 'Banner Ten']
    ]

    store.loadData(data);
store.setFilters([{
                    property: "banner",
                    value: "XXX",
                    anyMatch: true
                }]);

});