在不少項目裏面,字典管理是必備的項目模塊,而這個又是比較通用的功能,所以能夠單獨作成一個通用字典管理,例如這個模塊,能夠經過集成的方式,使用在個人《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最新的行政區劃數據,絕對有保證,若是對你有幫助,請順手推薦一下,讓更多的人受益,謝謝支持。