学习FLEX己有两个来月,总想写点什么,今天做了联动下拉的功能,先记下来先! 因为要实现地区的联动选择,先省再市再地区,在网上找了个全国地区的数据,先生成表导入到数据库,再用Hibernate生成实体类与XML文件:
TbArea.java
package com.zn.entity;
import java.util.HashSet;
import java.util.Set;
/**
* TbArea entity.
*
* @author MyEclipse Persistence Tools
*/
public class TbArea implements java.io.Serializable {
// Fields
private String areaCode;
private String areaName;
private String parentAreaCode;
private String root;
private Short zone;
private String navigateUrl;
private Short areaType;
private Set usercustems = new HashSet(0);
// Constructors
/** default constructor */
public TbArea() {
}
/** full constructor */
public TbArea(String areaName, String parentAreaCode, String root,
Short zone, String navigateUrl, Short areaType, Set usercustems) {
this.areaName = areaName;
this.parentAreaCode = parentAreaCode;
this.root = root;
this.zone = zone;
this.navigateUrl = navigateUrl;
this.areaType = areaType;
this.usercustems = usercustems;
}
// Property accessors
public String getAreaCode() {
return this.areaCode;
}
public void setAreaCode(String areaCode) {
this.areaCode = areaCode;
}
public String getAreaName() {
return this.areaName;
}
public void setAreaName(String areaName) {
this.areaName = areaName;
}
public String getParentAreaCode() {
return this.parentAreaCode;
}
public void setParentAreaCode(String parentAreaCode) {
this.parentAreaCode = parentAreaCode;
}
public String getRoot() {
return this.root;
}
public void setRoot(String root) {
this.root = root;
}
public Short getZone() {
return this.zone;
}
public void setZone(Short zone) {
this.zone = zone;
}
public String getNavigateUrl() {
return this.navigateUrl;
}
public void setNavigateUrl(String navigateUrl) {
this.navigateUrl = navigateUrl;
}
public Short getAreaType() {
return this.areaType;
}
public void setAreaType(Short areaType) {
this.areaType = areaType;
}
public Set getUsercustems() {
return this.usercustems;
}
public void setUsercustems(Set usercustems) {
this.usercustems = usercustems;
}
}
TbArea.hbm.xml TbAreaDAO.java 就不贴出来数据访问是用的remoting-config.xml来控制的.
<destination id="Service">
<properties>
<source>com.zn.service.BaseService</source>
</properties>
</destination>
public class BaseService {
/**
* @param wqb
*/
public BaseService(){}
public String hello(){
System.out.println("---------hello-----------------");
return "hehe";
}
@SuppressWarnings("unchecked")
public List<TbArea> getArea(String areaCode){
TbAreaDAO ta=new TbAreaDAO();
List<TbArea> arealist=new ArrayList<TbArea>();
if(areaCode==null){
arealist=ta.findByAreaType(1);
}else{
arealist=ta.findByParentAreaCode(areaCode);
}
return arealist;
}
}
再就到FLEX的页面了:
<mx:Script>
<![CDATA[
import mx.rpc.events.FaultEvent;
import mx.validators.ValidationResult;
import mx.rpc.events.ResultEvent;
import mx.collections.ArrayCollection;
[Bindable]
var chageArea:int=0;
function init():void{
service.getArea(null);
}
function getAreaResult(event:ResultEvent):void{
if(chageArea==0){
area1.dataProvider=event.result;
}else if(chageArea==1){
area2.dataProvider=event.result;
}else{area3.dataProvider=event.result;}
}
function getAreaFault(event:FaultEvent):void{
}
function chageArea1():void{
chageArea=1;
area3=null;
service.getArea(area1.selectedItem.areaCode);
}
function chageArea2():void{
chageArea=2;
service.getArea(area2.selectedItem.areaCode);
}
]]>
</mx:Script>
<mx:RemoteObject id="service" destination="Service">
<mx:method name="getArea" result="getAreaResult(event)" fault="getAreaFault(event)"/>
</mx:RemoteObject>
<mx:FormItem label="地区:" width="100%" fontSize="12">
<mx:HBox width="100%">
<mx:ComboBox fontSize="12" id="area1" width="75" labelField="areaName" change="chageArea1()"></mx:ComboBox>
<mx:Label text="省" textAlign="center" width="20" height="100%" fontSize="14"/>
<mx:ComboBox width="80" fontSize="12" id="area2" labelField="areaName" change="chageArea2()"></mx:ComboBox>
<mx:Label text="市" width="20"/>
<mx:ComboBox width="120" id="area3" labelField="areaName"></mx:ComboBox>
</mx:HBox>
</mx:FormItem>
基本上重要实现代码都有了,先留在这也许下次用得上,呵呵!
分享到:
相关推荐
asp二级联动下拉框,三级联动下拉框,asp二级联动下拉框,三级联动下拉框, 可能传错了 sorry
jquery 三级联动下拉框jquery 三级联动下拉框jquery 三级联动下拉框jquery 三级联动下拉框jquery 三级联动下拉框jquery 三级联动下拉框
三级联动下拉框实现,包含行政编码,身份证前5位,一个文件实现
js2级省市联动下拉框js2级省市联动下拉框js2级省市联动下拉框js2级省市联动下拉框
这里是基于layui开发的省市区三级联动下拉框这里是基于layui开发的省市区三级联动下拉框这里是基于layui开发的省市区三级联动下拉框
jquery动态创建联动下拉框和jquery动态创建下拉框
javascript实现二级联动下拉框,多多支持:)
基于layui开发的省市区三级联动下拉框:以layui前端UI框架及vue前端框架实现省市县(区)的三级联动。
一款简单的基于vue实现的三级联动下拉框代码,适用于各种三级联动下拉菜单选择功能。
AJAX版省市区三级联动下拉框
Ajax实现的三级联动下拉框
三级联动下拉框 包含数据库、链接、样式.....
Ajax实现二级/三级联动下拉框---servlet版
mvc3二级联动下拉框,省下了不少力气.。。。
互相关联的三级下拉框代码,使用js代码制作,编辑菜单只需要修改数组内容即可,代码和html分开
Ajax 无限级 联动下拉框
jQuery联动下拉框 jQuery optionTree
最近小弟做了Extjs实现实现下拉框联动的效果,参考了好久才学会,闲下来发一个简单的例子。。呵呵
无限联动下拉框<select> js版,可赋初始值
Asp.Net2.0无限制联动下拉框组件AdSelect发布,实例地址:http://sj.d0086.com/testadselect/default.aspx<br>布署简单.