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

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

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

2、全国省市地区的数据字典管理
在最近的项目中,由于需要使用到全国地区的省份、城市、区县这些新政区划的信息,网上的很多数据脚本都是早期的,因此花了一整天的时间,重新校对了这些省份、城市、地区的数据内容,以及编写一个对全国省市地区的数据字典管理模块,由于这些模块的数据是属于数据字典的范畴,因此把这些新政区划的管理也整合通用字典模块里面,以方便更好的应用。
这些全国的新政区划数据,最权威的数据当然来自国家统计局了(http://www.stats.gov.cn/tjbz/xzqhdm/t20130118_402867249.htm),从里面的数据可以看出,这两三年,全国的省份信息基本没有变化,但是城市、区县的数据变化还是不少,如调整了三亚,增加了三沙市,以及合并一些省份的城市,广州等城市的区县也有所变化等等,因此花了不少精力时间来对这些数据进行整理,希望能够给自己方便使用的同时,也方便需要用到这些省份城市行政区的开发人员。
全国地区的省份、城市、区县这些新政区划的管理界面如下所示

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

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

首先需要在绑定省份的字典数据,如下代码所示。
/// <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最新的行政区划数据,绝对有保证,如果对你有帮助,请顺手推荐一下,让更多的人受益,谢谢支持。
Winform开发框架之字典管理模块的更新,附上最新2013年全国最新县及县以上行政区划代码sql脚本的更多相关文章
- Winform开发框架之附件管理应用
在很多常规的管理系统里面,都可能有附件管理的需求,在我做的一系列医疗行业的病人信息管理系统里面,都希望能很好的管理病人的相关资料,分门别类的进行存储,需要的时候可以预览查看,那么这个功能我们可以把它独 ...
- RDIFramework.NET ━ .NET快速信息化系统开发框架 V3.2->用户管理模块新增“重置用户密码”功能
不管是什么系统登录用户都有忘记密码的时候,忘记密码就进入不了系统.系统应该可以提供重置用户密码的功能.在我们框架中重置用户密码功能一般用用户管理员来完成.当然如果做得复杂点还可以由用户自己来重置(如: ...
- Winform开发框架之权限管理系统功能介绍
权限管理系统的重要特性总结: 1) 高度集成的权限系统.独立模块,能快速整合使用.2) 符合权限的国际通用标准,基于RBAC(基于角色的访问控制)的角色权限控制.3) 多数据库架构支持,内置支持Sql ...
- node 借助Node Binary管理模块“n”更新
Node.js的版本频繁变化,如果有模块不能在你当前的Node版本上使用,需要升级Node环境 1)首先:查看当前node版本:node –v 2)安装n模块:npm install -g n 3)检 ...
- Winform开发框架之通用自动更新模块(转)
在网络化的环境中,特别是基于互联网发布的Winform程序,程序的自动更新功能是比较重要的操作,这样可以避免挨个给使用者打电话.发信息通知或者发送软件等,要求其对应用程序进行升级.实现程序的自动更新, ...
- Winform开发框架之客户关系管理系统(CRM)的开发总结系列3-客户分类和配置管理实现
我在本系列随笔的开始,介绍了CRM系统一个重要的客户分类的展示界面,其中包含了从字典中加载分类.从已有数据中加载分类.以及分组列表中加载分类等方式的实现,以及可以动态对这些节点进行配置,实现客户分类的 ...
- Winform开发框架之客户关系管理系统(CRM)的开发总结系列1-界面功能展示
一直以来,都希望整合一个以客户为中心的平台,有两个方面的考虑:一是实现客户数据.客户关系.客户管理等方面的整合,以便更好利用好客户的相关资源,发挥最大的营销效益:二是整合目前我的开发框架的所有模块和技 ...
- Winform开发框架的重要特性总结
从事Winform开发框架的研究和推广,也做了有几个年头了,从最初的项目雏形到目前各种重要特性的加入完善,是经过了很多项目的总结归纳和升华,有些则是根据客户需要或者应用前景的需要进行的完善,整个Win ...
- [转]Winform开发框架的重要特性总结
本文转自:https://www.cnblogs.com/wuhuacong/p/3199829.html 从事Winform开发框架的研究和推广,也做了有几个年头了,从最初的项目雏形到目前各种重要特 ...
随机推荐
- nodejs express 框架解密1-总体结构
本文是基于express3.4.6的. 1.express 代码结构为: bin/express 是在命令行下的生成express 框架目录文件用的 lib/express 是框架的入口文件 lib/ ...
- crontab使用方法和示例
crond是linux中的一个定时任务常驻程序,它会在每分钟检查一次作业列表,从而达到在指定时间自动运行指定的作业,这个程序对于系统运维来讲必不可少. 通常我们使用crontab程序来设定和管理作业的 ...
- Mac上编译libimobiledevice库
0.准备工作: 使用brew或Mac Ports安装:libgnutls or openssl. libplist .libusb.libusbmuxd 1.下载代码: 下载地址:https://gi ...
- whoami 和 Who am i
① 两个命令在一般的情况下,似乎效果是一样的 ② 但是当你执行完su 命令切换用户后,就不一样了,who am i 显示最早login的账户,而whoami 显示切换后的账户 例如: -bash-3. ...
- SSD硬盘 全盘安全擦除
此文From http://ssd.zol.com.cn/575/5753057.html 在SSD固态硬盘的使用过程中,部分用户可能会碰到计算机意外掉电或死机并强行断电后,系统出现异常,扫描SSD后 ...
- Oracle存储过程,以逗号分隔字符串传参的处理
Oracle存储过程,经常会遇见传入的参数是逗号分隔. 处理需要3步: 第一步,创建Type类型 第二部,创建函数 第三部,创建存储过程 代码如下: 第一步: create or replace ty ...
- Unity5网络模块UNet介绍
前段时间,研究了一下UNet,经过项目实践,大致整理了下遇到的问题. 源码Bitbucket:需要说明的是,这个项目只包含上层的包装,一些低层的网络实现在Unity内部,如NetworkTranspo ...
- Unity3D常用代码总结
1 GUI汇总 function OnGUI() { GUI.Label(Rect(1,1,100,20),"I'm a Label"); //1 GUI.Box(Rect(1,2 ...
- 代码生成的地址:mygeneration
一个代码生成的地址: https://gitshell.com/shiningrise/mygeneration/
- akka cluster sharding source code 学习 (1/5) 替身模式
为了使一个项目支持集群,自己学习使用了 akka cluster 并在项目中实施了,从此,生活就变得有些痛苦.再配上 apache 做反向代理和负载均衡,debug 起来不要太酸爽.直到现在,我还对 ...