在不少项目里面,字典管理是必备的项目模块,而这个又是比较通用的功能,所以能够单独作成一个通用字典管理,例如这个模块,能够经过集成的方式,使用在个人《Winform开发框架》、《WCF开发框架》、《混合式开发框架》中,这样能够避免代码的重复维护管理,对企业来讲,也能够更好管理核心的代码,实现统一的版本更替。通用的字典管理模块,主要包括了字典类型的管理、字典数据的管理,另外,为了方便,还能够加入批量添加数据的功能,以便更适合实际使用场景,加快字典数据的快速录入。借着这个机会,把个人通用字典管理模块的内容大概介绍一下吧。html
普通的字典模块管理以下所示sql
其中左边的是字典类型的树列表,能够经过右键菜单进行维护,以下界面所示。框架
批量插入的字典模块管理以下所示this
在最近的项目中,因为须要使用到全国地区的省份、城市、区县这些新政区划的信息,网上的不少数据脚本都是早期的,所以花了一成天的时间,从新校对了这些省份、城市、地区的数据内容,以及编写一个对全国省市地区的数据字典管理模块,因为这些模块的数据是属于数据字典的范畴,所以把这些新政区划的管理也整合通用字典模块里面,以方便更好的应用。spa
这些全国的新政区划数据,最权威的数据固然来自国家统计局了(http://www.stats.gov.cn/tjbz/xzqhdm/t20130118_402867249.htm),从里面的数据能够看出,这两三年,全国的省份信息基本没有变化,可是城市、区县的数据变化仍是很多,如调整了三亚,增长了三沙市,以及合并一些省份的城市,广州等城市的区县也有所变化等等,所以花了很多精力时间来对这些数据进行整理,但愿可以给本身方便使用的同时,也方便须要用到这些省份城市行政区的开发人员。code
全国地区的省份、城市、区县这些新政区划的管理界面以下所示orm
继承我通用字典管理的功能,在城市行政区维护的功能上,也增长了一个批量插入数据的操做,以方便更好的数据增长须要(虽然咱们不多调整这些城市行政区数据)。htm
上面的字典管理界面只是提供了方便对数据的维护,在实际项目模块中,咱们须要增长对省份、城市、区县地区的联动选择支持,如我在《客户关系管理系统CRM》中,客户数据的编辑界面以下所示。blog
首先须要在绑定省份的字典数据,以下代码所示。继承
/// <summary> /// 初始化数据字典 /// </summary> private void InitDictItem() { this.txtProvince.Properties.BeginUpdate(); this.txtProvince.Properties.Items.Clear(); List<ProvinceInfo> provinceList = BLLFactory<Province>.Instance.GetAll(); foreach (ProvinceInfo info in provinceList) { this.txtProvince.Properties.Items.Add(new CListItem(info.ProvinceName, info.ID.ToString())); } this.txtProvince.Properties.EndUpdate(); ..................... }
而后在省份、城市的下拉列表控件的事件中实现其余行政区划数据的显示便可。
private void txtProvince_SelectedIndexChanged(object sender, EventArgs e) { CListItem item = this.txtProvince.SelectedItem as CListItem; if (item != null) { string provinceId = item.Value; this.txtCity.Properties.BeginUpdate(); this.txtCity.Properties.Items.Clear(); List<CityInfo> cityList = BLLFactory<City>.Instance.GetCitysByProvinceID(provinceId); foreach (CityInfo info in cityList) { this.txtCity.Properties.Items.Add(new CListItem(info.CityName, info.ID.ToString())); } this.txtCity.Properties.EndUpdate(); } } private void txtCity_SelectedIndexChanged(object sender, EventArgs e) { CListItem item = this.txtCity.SelectedItem as CListItem; if (item != null) { string cityId = item.Value; this.txtDistrict.Properties.BeginUpdate(); this.txtDistrict.Properties.Items.Clear(); List<DistrictInfo> districtList = BLLFactory<District>.Instance.GetDistrictByCity(cityId); foreach (DistrictInfo info in districtList) { this.txtDistrict.Properties.Items.Add(new CListItem(info.DistrictName, info.ID.ToString())); } this.txtDistrict.Properties.EndUpdate(); } }
全国地区的省份、城市、区县这些新政区划的最新Sql脚本下载地址以下所示,但愿对你们有帮助。
http://files.cnblogs.com/wuhuacong/CityDistrict.rar
上面的省市区县的行政区划脚本数据,是我经过花了几乎一天的时间进行整理核对的,数据来源于国家统计局2013最新的行政区划数据,绝对有保证,若是对你有帮助,请顺手推荐一下,让更多的人受益,谢谢支持。