[Windows Forms] : BindingSource使用模式 连动式下拉选单 (纯IDE开发)

前言 :

连动式下拉选单想必开发人员都不陌生,用来提供使用者先选祖先元素,再选子项目的数据呈现。
如下图 :
image
本篇文章介绍,如何单纯使用Visual Studio的IDE做开发。
将数据库里有父子关联的数据,在WinForm上采用连动式下拉选单来做呈现。

在接下来的内容里,采用「城镇-乡镇市区」的选择来当作范例。
开发出一个可以让使用者选择城镇后,再选择乡镇市区的连动式下拉选单。

范例下载 :

CascadingDropDownListSample.zip

数据结构 :

本篇是采用数据库直接当作数据源。
数据库名称为CascadingDropDownListDatabase,数据库内共有两个表格[CountyTable]、[ZoneTable]。

CountyTable(父数据表)
image

ZoneTable(子数据表)
image

其中CountyID是[CountyTable]到[ZoneTable]的外部索引。
image

窗体结构 :

窗体很简单,就只是两个下拉选单,让使用者做选择。
image

资料系结 :

建立数据源。
(这边大多是下一步处理用缩小图带过)
image image image

image image

完成上列操作,IDE会帮我们建立好相对应的DataSet对象。
image

系结[CountyTable]到第一个下拉选单
image
image
image

系结[ZoneTable]到第二个下拉选单
这边要特别留意,不是系结到IDE帮我们产生的DataSet对应的ZoneTable。
而是系结到IDE帮我们建立的[countyTableBindingSource]的[FK_ZoneTable_CountyTable]。
image
image
image

完成,看成果。
image
image

后记 :

本篇介绍的BindingSource使用模式,在架构上是从用户接口直接到数据库捞数据做呈现。
这样的架构在开发上,有其快速、直觉的优点。
但也包含了修改不易、牵一发动全身的缺点。
开发人员在面对系统项目的时候,应评估各种需求状况,来选择该怎么使用。

整个大大的前提是:是你在控制技术,而不是被技术控制你。

原文地址:https://www.cnblogs.com/clark159/p/2205146.html