首页 技术 正文
技术 2022年11月13日
0 收藏 314 点赞 3,578 浏览 2609 个字

在很多项目里面,字典管理是必备的项目模块,而这个又是比较通用的功能,因此可以单独做成一个通用字典管理,例如这个模块,可以通过集成的方式,使用在我的《Winform开发框架》、《WCF开发框架》、《混合式开发框架》中,这样可以避免代码的重复维护管理,对企业来说,也可以更好管理核心的代码,实现统一的版本更替。通用的字典管理模块,主要包括了字典类型的管理、字典数据的管理,另外,为了方便,还可以加入批量添加数据的功能,以便更适合实际使用场景,加快字典数据的快速录入。借着这个机会,把我的通用字典管理模块的内容大概介绍一下吧。

1、通用字典管理模块的数据管理

普通的字典模块管理如下所示

Winform开发框架之字典管理模块的更新,附上最新2013年全国最新县及县以上行政区划代码sql脚本

其中左边的是字典类型的树列表,可以通过右键菜单进行维护,如下界面所示。

Winform开发框架之字典管理模块的更新,附上最新2013年全国最新县及县以上行政区划代码sql脚本

批量插入的字典模块管理如下所示

Winform开发框架之字典管理模块的更新,附上最新2013年全国最新县及县以上行政区划代码sql脚本

2、全国省市地区的数据字典管理

在最近的项目中,由于需要使用到全国地区的省份、城市、区县这些新政区划的信息,网上的很多数据脚本都是早期的,因此花了一整天的时间,重新校对了这些省份、城市、地区的数据内容,以及编写一个对全国省市地区的数据字典管理模块,由于这些模块的数据是属于数据字典的范畴,因此把这些新政区划的管理也整合通用字典模块里面,以方便更好的应用。

这些全国的新政区划数据,最权威的数据当然来自国家统计局了(http://www.stats.gov.cn/tjbz/xzqhdm/t20130118_402867249.htm),从里面的数据可以看出,这两三年,全国的省份信息基本没有变化,但是城市、区县的数据变化还是不少,如调整了三亚,增加了三沙市,以及合并一些省份的城市,广州等城市的区县也有所变化等等,因此花了不少精力时间来对这些数据进行整理,希望能够给自己方便使用的同时,也方便需要用到这些省份城市行政区的开发人员。

全国地区的省份、城市、区县这些新政区划的管理界面如下所示

Winform开发框架之字典管理模块的更新,附上最新2013年全国最新县及县以上行政区划代码sql脚本

继承我通用字典管理的功能,在城市行政区维护的功能上,也增加了一个批量插入数据的操作,以方便更好的数据增加需要(虽然我们很少调整这些城市行政区数据)。

Winform开发框架之字典管理模块的更新,附上最新2013年全国最新县及县以上行政区划代码sql脚本

3、如果使用通用字典模块的行政区划数据

上面的字典管理界面只是提供了方便对数据的维护,在实际项目模块中,我们需要增加对省份、城市、区县地区的联动选择支持,如我在《客户关系管理系统CRM》中,客户数据的编辑界面如下所示。

Winform开发框架之字典管理模块的更新,附上最新2013年全国最新县及县以上行政区划代码sql脚本

首先需要在绑定省份的字典数据,如下代码所示。

        /// <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();
}
}

4、行政区划sql数据脚本

全国地区的省份、城市、区县这些新政区划的最新Sql脚本下载地址如下所示,希望对大家有帮助。

http://files.cnblogs.com/wuhuacong/CityDistrict.rar

上面的省市区县的行政区划脚本数据,是我通过花了几乎一天的时间进行整理核对的,数据来源于国家统计局2013最新的行政区划数据,绝对有保证,如果对你有帮助,请顺手推荐一下,让更多的人受益,谢谢支持。

相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:9,088
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,564
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,412
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,185
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,822
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,905