ext combobox动态加载数据库数据(附前后台)

前台:
复制代码 代码如下:

var provinceStore = new Ext.data.Store({
proxy: new Ext.data.HttpProxy({ url: basePath + "/stationManage/station_getProvinceJSON.action" }),
reader: new Ext.data.JsonReader(
{ root: "" },
["PROVINCEID", "PROVINCENAME"]
)
});


//选择省市
var provinceIDadd = new Ext.form.ComboBox({
anchor : '98%',
id:'provinceIDadd',
name : "provinceIDAdd1",
hiddenName : "provinceID",
displayField : "PROVINCENAME",
valueField : "PROVINCEID",
blankText : '请选择站点所属省份',
emptyText : '请选择站点所属省份',
fieldLabel : '站点所属省份',
allowBlank : false,
editable : false,
triggerAction : 'all',
store :provinceStore ,
forceSelection : true,
mode : 'local',
selectOnFocus : true
})
provinceStore.load();

后台action代码
复制代码 代码如下:

public class StationAction extends BaseAction {

private List<Map<String, Object>> provinceList;
public void setProvinceList(List<Map<String, Object>> provinceList) {
this.provinceList = provinceList;
}

public List<Map<String, Object>> getProvinceList() {
return provinceList;
}
public String getProvinceJSON(){
String sql="SELECT PK_ID PROVINCEID,NAME PROVINCENAME FROM T_DICT_DISTRICT A WHERE A.DISTRICT_LEVEL=20";
provinceList= stationService.findBySQL(sql);
return "json_getProvinceList";
}
}

strtus xml配置
复制代码 代码如下:

<result name="json_getProvinceList" type="json" >
<param name="root">provinceList</param>
</result>

加载静态数据的下拉选择框
复制代码 代码如下:

var dataType=[['0','8列'],['1','38列'],['2','21列']];
var dataTypeStore = new Ext.data.SimpleStore({
fields: ['dataTypeID', 'dataTypeName'],
data : data
});

var dataTypedd = new Ext.form.ComboBox({
anchor : '98%',
id:'dataTypeadd',
name : "dataTypeAdd1",
hiddenName : "dataType",
displayField : "dataTypeName",
valueField : "dataTypeID",
blankText : '请选择数据格式',
emptyText : '请选择数据格式',
fieldLabel : '数据格式',
allowBlank : false,
editable : false,
triggerAction : 'all',
store :unitStore ,
forceSelection : true,
mode : 'local',
selectOnFocus : true
})
作者:whsnow

%s 个评论

要回复文章请先登录注册