现在的位置: 首页 > 综合 > 正文

Ext 利用combo進行模糊搜索

2012年12月02日 ⁄ 综合 ⁄ 共 2309字 ⁄ 字号 评论关闭

Ext 利用combo進行模糊搜索

 

//獲得combo的內容 store start

        var ComboStore = new Ext.data.Store({

                proxy: new Ext.data.HttpProxy({ url: 'ASPX/InfoFacility.aspx?action=action' }),

                reader: new Ext.data.JsonReader

                ({ root: 'root',totalProperty: 'totalProperty' },// totalProperty分頁

                [{ name: 'action_id' }, { name: 'action_desc'},{name: 'action_no'}])

 

        });

        //store end

       

// XTemplate 顯示combo行記錄

    var resultTpl = new Ext.XTemplate(

        '<tpl for="."><div class="search-item">',

            '<h3><span>{action_no}</span>{action_desc}</h3>',

        '</div></tpl>'

    );

 

var cm = new Ext.grid.ColumnModel(

{

                                        header: '動作描述',

                                        dataIndex: 'action_desc',

                                        editor: new Ext.grid.GridEditor(new Ext.form.ComboBox({//插入gridcombo

                                                store: ComboStore,//數據源

                                                emptyText: '請選擇',

                                                mode: 'remote',//遠程加載

                                                tpl: resultTpl,//combo面板顯示的內容引用XTemplate

                                                width: 230,

                                                minListWidth:230,//剛好適合分頁寬度

                                                pageSize:30,//分頁數目

                                                minChars:1,//模糊查詢最關鍵的一個屬性,combo可以編輯的狀態下,combolenth有多少就觸發事件,相當于ds.reload,重新加載數據源,目前為寫一個字就重新加載一次 默認為4

                                                itemSelector: 'div.search-item',//模板的div

                                                triggerAction: 'all',

                                                valueField: 'action_id',

                                                displayField: 'action_desc'

                                                //readOnly: true

                                        }))

                                }

]);

 

 

當設置了minChars1的時候 就會想ds中的url發送參數query

Net中用這個來接收

string query          = Request.Form.Get("query");

這個query就是我們要進行模糊查詢的內容

由于上面也用到了分頁 所以 我們同時要接收

        string start = Request.Form.Get("start");

        string limit = Request.Form.Get("limit");

 

3個參數query, start, limit

以下為sql語句

string strsql = "select t.action_id,t.action_desc,t.action_no from base_action t where flag=0 and t.action_desc like '"+query+"%'";

 

然后返回正常的ds格式的json就能夠在前臺顯示模糊查詢的結果了

抱歉!评论已关闭.