实现如图所示的下拉选择框,并且选择框中的内容是从后台取得的
- 首先写出选择框的代码
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' }]
- 上面需要到数据库中取两个参数,写一个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' }]) });
- 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') "//查询条件 } });
- 后台处理这些数据