<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-4113532219049902620</id><updated>2011-07-08T01:59:08.471-07:00</updated><title type='text'>Blog Fariz</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://fariz-capricorn-boyz.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4113532219049902620/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://fariz-capricorn-boyz.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Fariz Blog</name><uri>http://www.blogger.com/profile/07511416919277607198</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>1</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-4113532219049902620.post-8803236490565672990</id><published>2010-01-11T22:09:00.000-08:00</published><updated>2010-01-11T22:11:02.042-08:00</updated><title type='text'>Script extjs 3.0 search with XML</title><content type='html'>&lt;div style="text-align: left; font-family: verdana;"&gt;var fm = Ext.form;&lt;br /&gt;&lt;br /&gt;var cmlistRealisasi = new Ext.grid.ColumnModel([new Ext.grid.RowNumberer({header:'No',width:30}),&lt;br /&gt; {&lt;br /&gt;        id:'idRealisasi',&lt;br /&gt;        header:'Jenis Biaya',&lt;br /&gt;        dataIndex:'jenisbiaya',&lt;br /&gt;        width:250&lt;br /&gt;    },{&lt;br /&gt;        header:'Satuan Biaya',&lt;br /&gt;        dataIndex:'satuanBiaya',&lt;br /&gt;        width:100&lt;br /&gt;    },{&lt;br /&gt;        header:'Harga',&lt;br /&gt;        dataIndex:'harga',&lt;br /&gt;        width:100&lt;br /&gt;     },{&lt;br /&gt;         header:'Jumlah',&lt;br /&gt;        dataIndex:'jumlah',&lt;br /&gt;        width:100&lt;br /&gt;    },{&lt;br /&gt;        header:'Refer/Bukti',&lt;br /&gt;        dataIndex:'bukti',&lt;br /&gt;        witdh:150&lt;br /&gt;    },{&lt;br /&gt;        header:'Keterangan',&lt;br /&gt;        dataIndex:'keterangan',&lt;br /&gt;        witdh:200&lt;br /&gt;    }&lt;br /&gt;]);&lt;br /&gt;&lt;br /&gt;cmlistRealisasi.defaultSortable = true;&lt;br /&gt;&lt;br /&gt;var realisasi =  Ext.data.Record.create([&lt;br /&gt;        {name:'jenisBiaya', type:'string'},&lt;br /&gt;        {name:'satuanBiaya', type:'string'},&lt;br /&gt;        {name:'harga', type:'string'},&lt;br /&gt;        {name:'jumlah', type:'string'},&lt;br /&gt;        {name:'bukti', type:'string'},&lt;br /&gt;        {name:'keterangan', type:'string'}&lt;br /&gt;]);&lt;br /&gt;&lt;br /&gt;//var summary = new Ext.ux.grid.GridSummary();&lt;br /&gt;&lt;br /&gt;var storelistRealisasi = new Ext.data.Store({&lt;br /&gt;    proxy: new Ext.data.HttpProxy({url:"combo/realisasiGrid.xml"}),&lt;br /&gt;    reader:new Ext.data.XmlReader({&lt;br /&gt;                record:'row'&lt;br /&gt;            }, realisasi)//,&lt;br /&gt;//            sortInfo:{field: 'namaBiaya', direction: "ASC"},&lt;br /&gt;//            groupField:'kodeAkun'&lt;br /&gt;})&lt;br /&gt;&lt;br /&gt;var pagingBar = new Ext.PagingToolbar({&lt;br /&gt;    pageSize: 25,&lt;br /&gt;    store: storelistRealisasi,&lt;br /&gt;    displayInfo:true,&lt;br /&gt;    displayMsg: 'Displaying topics {0} - {1} of {2}',&lt;br /&gt;    emptyMsg: "No topics to display",&lt;br /&gt;    items:[{&lt;br /&gt;                   frame:true,&lt;br /&gt;                   text:'Tambah',&lt;br /&gt;                   iconCls: 'addButton',&lt;br /&gt;                   tooltip:'Tambah Rancangan',&lt;br /&gt;                   pressed: false,&lt;br /&gt;                   enableToggle:true,&lt;br /&gt;                   handler:function(){&lt;br /&gt;//                       formBiayaRencanaRealisasi.getForm().load();&lt;br /&gt;//                       formBiayaRencanaRealisasi.getForm().reset();&lt;br /&gt;                       windowlistrealisasi.show();&lt;br /&gt;                   }&lt;br /&gt;           },'-',{&lt;br /&gt;                   text:'Edit',&lt;br /&gt;                   tooltip:'Edit Rancangan',&lt;br /&gt;                   pressed: false,&lt;br /&gt;                   iconCls:'editButton',&lt;br /&gt;                   enableToggle:true,&lt;br /&gt;                   handler:function(){&lt;br /&gt;                       if(listRealisasi.getSelectionModel().getSelected() == null) {&lt;br /&gt;                            Ext.Msg.alert("Alert" ,"Choose The Data!");&lt;br /&gt;                       }else{&lt;br /&gt;//                            formBiayaRencanaRealisasi.getForm().loadRecord(listRealisasi.getSelectionModel().getSelected());&lt;br /&gt;                            storelistRealisasi.remove(listRealisasi.getSelectionModel().getSelected());&lt;br /&gt;                           //form.getForm().reset();&lt;br /&gt;//                            windowbiayarencanarealisasi.show();&lt;br /&gt;                       }&lt;br /&gt;                   }&lt;br /&gt;           },'-',{&lt;br /&gt;                   text:'Hapus',&lt;br /&gt;                   pressed: false,&lt;br /&gt;                   enableToggle:true,&lt;br /&gt;                   tooltip:'Hapus Rancangan',&lt;br /&gt;                   iconCls:'delButton',&lt;br /&gt;                   handler:function(){&lt;br /&gt;                   listRealisasi.stopEditing();&lt;br /&gt;                   if(listRealisasi.getSelectionModel().getSelected() == null) {&lt;br /&gt;                       Ext.Msg.alert("Alert" ,"Choose The Data!");&lt;br /&gt;                   }else{&lt;br /&gt;                       var s = listRealisasi.getSelectionModel().getSelections();&lt;br /&gt;                       for(var i = 0, r; r = s[i]; i++){&lt;br /&gt;                           storelistRealisasi.remove(r);&lt;br /&gt;                       }&lt;br /&gt;                   }&lt;br /&gt;&lt;br /&gt;          }&lt;br /&gt;        },'-',{&lt;br /&gt;                   text:'Lihat Rincian',&lt;br /&gt;                   pressed: false,&lt;br /&gt;                   enableToggle:true,&lt;br /&gt;                   tooltip:'Lihat Rincian Biaya',&lt;br /&gt;                   iconCls:'pilihButton',&lt;br /&gt;                   handler:function() {&lt;br /&gt;                  // storeBiayaRencana.load({params:{JSONFile:"[" +"{"+"\"kegiatanID\":\""+perencanaanform.getForm().findField("kegiatanID").getValue() +"\"" + "}" +"]"}})&lt;br /&gt;                   storelistRealisasi.load({params:{kegiatanID:perencanaanform.getForm().findField("kegiatanID").getValue()}});&lt;br /&gt;              }&lt;br /&gt;    }]&lt;br /&gt;})&lt;br /&gt;&lt;br /&gt; var searchBar = new fm.ComboBox({&lt;br /&gt;        store: searchStore,&lt;br /&gt;        displayField: 'query',&lt;br /&gt;        setWidth: 50,&lt;br /&gt;        typeAhead: false,&lt;br /&gt;//        mode: 'local',&lt;br /&gt;//        triggerAction: 'all',&lt;br /&gt;        hideTrigger: true&lt;br /&gt;    });&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;var listRealisasi = new Ext.grid.GridPanel({&lt;br /&gt;           store: storelistRealisasi,&lt;br /&gt;           id:'listRealisasi-panel',&lt;br /&gt;           name:'listRealisasi',&lt;br /&gt;           cm: cmlistRealisasi,&lt;br /&gt;            //renderTo: 'grid-company',&lt;br /&gt;           width:1200,&lt;br /&gt;           height:280,&lt;br /&gt;           autoExpandColumn:'idRealisasi',&lt;br /&gt;           title:'List Realisasi',&lt;br /&gt;//           plugins: summary,&lt;br /&gt;           frame:true,&lt;br /&gt;           //clicksToEdit:1,&lt;br /&gt;           selModel:new Ext.grid.RowSelectionModel({singleSelect:false}),&lt;br /&gt;           bbar:pagingBar,&lt;br /&gt;           tbar:[&lt;br /&gt;                'Filter Data: ', ' ',&lt;br /&gt;                new Ext.ux.SelectBox({&lt;br /&gt;                  listClass:'x-combo-list-small',&lt;br /&gt;//                  width:75,&lt;br /&gt;                    value:'User Nama',&lt;br /&gt;                    store: new Ext.data.SimpleStore({&lt;br /&gt;                        fields: ['query'],&lt;br /&gt;                        expandData: true,&lt;br /&gt;                        data : ['Jenis Biaya', 'Satuan Biaya', 'Harga', 'Jumlah', 'Refer/Bukti', 'Keterangan']&lt;br /&gt;                    }),&lt;br /&gt;                    displayField: 'query'&lt;br /&gt;                    }),' ',searchBar,&lt;br /&gt;&lt;br /&gt;            ],&lt;br /&gt;//        view: new Ext.grid.GroupingView({&lt;br /&gt;//            forceFit:true,&lt;br /&gt;//            groupTextTpl: '{text} ({[values.rs.length]} {[values.rs.length &gt; 1 ? "Items" : "Item"]})'&lt;br /&gt;//        }),&lt;br /&gt;        stripeRows: true,&lt;br /&gt;        collapsible: true,&lt;br /&gt;        animCollapse: false&lt;br /&gt;&lt;br /&gt;});&lt;br /&gt;&lt;br /&gt;//        new Ext.Button({&lt;br /&gt;//        renderTo: 'toggleSummary',&lt;br /&gt;//        text: 'Toggle Summary',&lt;br /&gt;//        handler: function(btn, e) {&lt;br /&gt;//            summary.toggleSummary();&lt;br /&gt;//        }&lt;br /&gt;//    });&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;storelistRealisasi.load();&lt;br /&gt;&lt;br /&gt;     var searchStore = new Ext.data.SimpleStore({&lt;br /&gt;        fields: ['query'],&lt;br /&gt;        data: []&lt;br /&gt;    });&lt;br /&gt;&lt;br /&gt;    var searchRec = Ext.data.Record.create([&lt;br /&gt;        {name: 'query', type: 'string'}&lt;br /&gt;    ]);&lt;br /&gt;&lt;br /&gt;    var onFilteringBeforeQuery = function(e) {&lt;br /&gt;    //grid.getSelectionModel().clearSelections();&lt;br /&gt;        if (this.getValue().length==0) {&lt;br /&gt;                    storelistRealisasi.clearFilter();&lt;br /&gt;                } else {&lt;br /&gt;                    var value = this.getValue().replace(/^\s+|\s+$/g, "");&lt;br /&gt;                    if (value==" ")&lt;br /&gt;                        return;&lt;br /&gt;                    storelistRealisasi.filterBy(function(r) {&lt;br /&gt;                        valueArr = value.split(/\ +/);&lt;br /&gt;                        for (var i=0; i&lt;valueArr.length; i++) {&lt;br /&gt;                            re = new RegExp(Ext.escapeRe(valueArr[i]), "i");&lt;br /&gt;                            if (re.test(r.data['jenisBiaya'])==false&lt;br /&gt;                                &amp;amp;&amp;amp; re.test(r.data['satuanBiaya'])==false&lt;br /&gt;                                &amp;amp;&amp;amp; re.test(r.data['harga'])==false&lt;br /&gt;                                &amp;amp;&amp;amp; re.test(r.data['jumlah'])==false&lt;br /&gt;                                &amp;amp;&amp;amp; re.test(r.data['bukti'])==false&lt;br /&gt;                                &amp;amp;&amp;amp; re.test(r.data['keterangan'])==false) {&lt;br /&gt;                                return false;&lt;br /&gt;                            };&lt;br /&gt;                        }&lt;br /&gt;                        return true;&lt;br /&gt;                    });&lt;br /&gt;                }};&lt;br /&gt;    var onQuickSearchBeforeQuery = function(e) {&lt;br /&gt;        if (this.getValue().length==0) {&lt;br /&gt;        } else {&lt;br /&gt;            var value = this.getValue().replace(/^\s+|\s+$/g, "");&lt;br /&gt;            if (value=="")&lt;br /&gt;                return;&lt;br /&gt;            searchStore.clearFilter();&lt;br /&gt;            var vr_insert = true;&lt;br /&gt;            searchStore.each(function(r) {&lt;br /&gt;                if (r.data['query'].indexOf(value)==0) {&lt;br /&gt;                    // backspace&lt;br /&gt;                    vr_insert = false;&lt;br /&gt;                    return false;&lt;br /&gt;                } else if (value.indexOf(r.data['query'])==0) {&lt;br /&gt;                    // forward typing&lt;br /&gt;                    searchStore.remove(r);&lt;br /&gt;                }&lt;br /&gt;            });&lt;br /&gt;            if (vr_insert==true) {&lt;br /&gt;                searchStore.each(function(r) {&lt;br /&gt;                    if (r.data['query']==value) {&lt;br /&gt;                        vr_insert = false;&lt;br /&gt;                    }&lt;br /&gt;                });&lt;br /&gt;            }&lt;br /&gt;            if (vr_insert==true) {&lt;br /&gt;                var vr = new searchRec({query: value});&lt;br /&gt;                searchStore.insert(0, vr);&lt;br /&gt;            }&lt;br /&gt;            var ss_max = 4; // max 5 query history, starts counting from 0; 0==1,1==2,2==3,etc&lt;br /&gt;            if (searchStore.getCount()&gt;ss_max) {&lt;br /&gt;                var ssc = searchStore.getCount();&lt;br /&gt;                var overflow = searchStore.getRange(ssc-(ssc-ss_max), ssc);&lt;br /&gt;                for (var i=0; i&lt;overflow.length; i++) {&lt;br /&gt;                    searchStore.remove(overflow[i]);&lt;br /&gt;                }&lt;br /&gt;            }&lt;br /&gt;    }&lt;br /&gt;    };&lt;br /&gt;    searchBar.on("beforequery", onQuickSearchBeforeQuery);&lt;br /&gt;    searchBar.on("beforequery", onFilteringBeforeQuery);&lt;br /&gt;    searchBar.on("select", onFilteringBeforeQuery);&lt;br /&gt;&lt;br /&gt;    // trigger the data store load&lt;br /&gt;    storelistRealisasi.load();&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4113532219049902620-8803236490565672990?l=fariz-capricorn-boyz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fariz-capricorn-boyz.blogspot.com/feeds/8803236490565672990/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://fariz-capricorn-boyz.blogspot.com/2010/01/script-extjs-30-search-with-xml.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4113532219049902620/posts/default/8803236490565672990'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4113532219049902620/posts/default/8803236490565672990'/><link rel='alternate' type='text/html' href='http://fariz-capricorn-boyz.blogspot.com/2010/01/script-extjs-30-search-with-xml.html' title='Script extjs 3.0 search with XML'/><author><name>Fariz Blog</name><uri>http://www.blogger.com/profile/07511416919277607198</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
