Ext实现下拉选择框

实现如图所示的下拉选择框,并且选择框中的内容是从后台取得的

                                 

  1. 首先写出选择框的代码
    	           items : [{
    	        	   fieldLabel : "状态",
    					emptyText : '请选择',
    					width:120,
    					mode : 'local',
    					valueField : 'dd_id',
    					displayField : 'dd_text',
    					forceSelection : true,
    					typeAhead : true,
    					selectOnFocus : true,// 用户不能自己输入,只能选择列表中有的记录
    					triggerAction : 'all',
    					lazyInit : false,
    					store : stsStore,
    					id : "sts",
    					hiddenName : 'sts_1',
    					editable : false,
    					xtype : 'combo'
    	             }]


  2. 上面需要到数据库中取两个参数,写一个store用来从后台取得这两个参数
        var stsStore = new Ext.data.Store({
        			proxy : new Ext.data.HttpProxy({  //这个代理是前台信息发送到后台的方法
        						url : '../../../extjs.do?action=getSelectAction'//注意这个是以webroot为根目录的,getSelectAction是整个框架的分发器DispatchControler中的一个方法,这个方法主要用于解决前台中多选下拉框的问题
        					}),
        			reader : new Ext.data.JsonReader({     
        						root : 'root',
        						id : 'dd_id'
        					}, [{//这两个是前台需要的具体参数,需要其从数据库中取出
        								name : 'dd_id'
        							}, {
        								name : 'dd_text'
        							}])
        		});


  3. load这个store,这样才能得到值
        stsStore.load({
    		start : 0,
    		limit : 100,
    		params : {
    			'tableName' : 'sys_datadictionary',//表名
    			'columnValue' : 'dd_id',//id
    			'columnDisplay' : 'dd_text',//展示的文字
    			'condition' : "dd_dictname='STD_STS' and dd_id in ('5','6') "//查询条件
    		}
    });
  4. 后台处理这些数据




你可能感兴趣的:(ext,combo,控件,选择框)