我是笑林新记,分享一下我使用C#的一些用法,希望对大家有帮助!
Visual Studio版本:Enterprise 2015
1、要点:多级联动
由于ComboBox控件的内容比较多,这节课接着上节课的继续讲,上节课我们讲了ComboBox通过DataTable数据源进行数据绑定。那么这节课我们讲一下ComboBox的多级联动效果。
所谓多级联动就是上级选择之后,下级自动筛选出和上级有关的内容,比如常见的家庭地址,一级一般为省,二级为市,三级为县,一级选择某个省之后,二级就会显示该省的所辖市。
2、界面及代码
界面新增了一级和二级两个下拉列表,后台创建一下数据源,暂时还没有讲到数据库,所以这里用手写的数据源。
dt_Parent和dt_Children是两个DataTable的数据源,分别用作一级和二级。这里可以看到我把定义两个DataTable放在最上面,没有放到方法里面,这里涉及到变量的全局变量和局部变量。
通俗的来讲,全局变量是在class下面的,而局部变量是在方法中。局部变量只能在当前方法中生效,全局变量可以在其它方法中使用。
dt_Parent表和dt_Children表之间的关联是靠字段ParentID来关联的。接着就是将数据源绑定,设置好DisplayMember和ValueMember。
这个时候我们可以看到一级和二级下拉列表分别显示的是dt_Parent和dt_Children所有的数据,这个时候,选择一级下拉列表中的值,二级列表不会发生变动。我们还需要给一级下拉列表新增一个选择中改变事件。
选中一级下拉列表,右键在属性中找到事件SelectedIndexChanged,双击就可以自动创建方法。
dt_Children.Select这个就是DataTable的查询,value是获取到的ParentID值,然后在dt_Children中查询,得到结果。CopyToDataTable是将查询的结果复制到一个新的DataTable中。再次绑定数据即可。
3、运行结果
再次运行,效果就有了,一级下拉列表切换后,二级下拉列表会跟着显示对应的二级内容。如果有三级的话也是同样的操作。
这里也留有一个问题,启动后一级默认是北京市,二级却是显示所有,有兴趣的朋友,可以自己试着改改。