三级联动 - 查询地区,选择省份自动显示该省份的市、区县

有如下一个数据库

  

一、写查询方法

public class ChinaData
{
SqlConnection conn = null;
SqlCommand cmd = null; public ChinaData()
{
conn = new SqlConnection("server=.;database=mydb;user=sa;pwd=123");
cmd = conn.CreateCommand();
}
//查询方法 参数为父级代码
public List<China> Select(string pcode)
{
List<China> lc = new List<China>();
cmd.CommandText = "select *from ChinaStates where ParectAreaCode=@a";
cmd.Parameters.Clear();
cmd.Parameters.AddWithValue("@a",pcode);
conn.Open();
SqlDataReader dr = cmd.ExecuteReader();
if (dr.HasRows)
{
while(dr.Read())
{
China c = new China();
c.AreaCode = dr["AreaCode"].ToString();
c.AreaName = dr["AreaName"].ToString();
c.ParentAreaCode = dr["ParentAreaCode"].ToString();
lc.Add(c);
}
}
conn.Close();
return lc;
}
}

查询方法

二、窗体启动时自动读取数据库数据

 public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
//窗口打开时,自动查询代码0001中国下的子级数据
//绑定省
comboBox1.DataSource = new ChinaData().Select("");
comboBox1.DisplayMember = "AreaName";
comboBox1.ValueMember = "AreaCode";
//绑定市
comboBox2.DataSource = new ChinaData().Select(comboBox1.SelectedValue.ToString ());
comboBox2.DisplayMember = "AreaName";
comboBox2.ValueMember = "AreaCode";
//绑定区县
comboBox3.DataSource = new ChinaData().Select(comboBox2.SelectedValue.ToString());
comboBox3.DisplayMember = "AreaName";
comboBox3.ValueMember = "AreaCode";
}
}

窗体启动时自动读取数据库数据

三、实现改变选项的时候,展示子级内容

//省选中项改变时事件
private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
//绑定市
comboBox2.DataSource = new ChinaData().Select(comboBox1.SelectedValue.ToString());
comboBox2.DisplayMember = "AreaName";
comboBox2.ValueMember = "AreaCode";
}
//市选中项改变时事件
private void comboBox2_SelectedIndexChanged_1(object sender, EventArgs e)
{
//绑定区县
comboBox3.DataSource = new ChinaData().Select(comboBox2.SelectedValue.ToString());
comboBox3.DisplayMember = "AreaName";
comboBox3.ValueMember = "AreaCode";
}

实现二级联动、三级联动

完成地区选择

C#-WinForm-三级联动的更多相关文章

  1. WinForm三级联动

    窗体中方三个combobox Form1 中的代码 AreaDataBind函数 new chinaData().Select()函数 找到combobox属性里面的事件 selectedindexc ...

  2. winform/timer控件/权限设置/三级联动

    一.timer控件 组件--timer timer是一个线程,默认可以跨线程访问对象 属性:Enabled--可用性 Interval--间隔时间 Tick:间隔时间发生事件 二.三级联动 例: pu ...

  3. winform窗体 小程序【三级联动】

    三级联动[省,市,区] 类似地区选择,当选的某个省份,后面的下拉框相对变成对应省份的区县 实现省市区联动关键是数据库的表,[每个省内区的AreaCode列是同样的] public Form2() { ...

  4. Webform——中国省市三级联动以及IsPostBack

    首先要明白Webform的运行顺序,当开始启动时候,首先执行的是Page_Load事件, 当点击任意按钮后,每次点击都要先执行一遍Page_Load(在这里Page_Load里面的事件是给数据控件加载 ...

  5. webform的三级联动

    webform的三级联动 与winform一样,只不过需把DropDownList的AutoPostBack属性改为True. *简单日期的编写方法:用是三个DropDownList分别代表年月日,用 ...

  6. 2014.12.06 ASP.NET 三级联动,添加员工,修改员工

    (一)三级联动 要实现的效果: 代码: MyDBDataContext context = new MyDBDataContext(); protected void Page_Load(object ...

  7. js封装的三级联动菜单(使用时只需要一行js代码)

    前言 在实际的项目开发中,我们经常需要三级联动,比如省市区的选择,商品的三级分类的选择等等. 而网上却找不到一个代码完整.功能强大.使用简单的三级联动菜单,大都只是简单的讲了一下实现思路. 下面就给大 ...

  8. 利用select实现年月日三级联动的日期选择效果

    × 目录 [1]演示 [2]规划 [3]结构生成[4]算法处理 前面的话 关于select控件,可能年月日三级联动的日期选择效果是最常见的应用了.本文是选择框脚本的实践,下面将对日期选择效果进行详细介 ...

  9. jQuery省市区三级联动插件

    体验效果:http://hovertree.com/texiao/bootstrap/4/支持PC和手机移动端. 手机扫描二维码体验效果: 代码如下: <!DOCTYPE html> &l ...

  10. jQuery - 全国省市县三级联动

    最近有空用jquery做了一个全国省市县的三级联动,在以后或许可以用的到 ,遗憾的是我还没用封装,等有空看能不能封装成一个插件 废话不多说,贴上代码: <!doctype html> &l ...

随机推荐

  1. JavaScript语言精粹笔记

    JavaScript语言精粹笔记 掌握语言的每个特性可以让你出风头,但是并不推荐,因为一部分的特性带来的麻烦可能远超本身的价值.正如书中所言,坏的材料并不能雕刻出好的作品,要成为一名更好的程序员,要取 ...

  2. java 25 - 2 网络编程之 网络通信三要素

    网络通信三要素 IP地址: InetAddress 网络中设备的标识,不易记忆,可用主机名(计算机的标识号) 端口号: 用于标识进程的逻辑地址,不同进程的标识(正在运行的软件的标识号) 传输协议: 通 ...

  3. 0e开头md5汇总

    PHP在处理哈希字符串时,会利用"!="或"=="来对哈希值进行比较,它把每一个以"0E"开头的哈希值都解释为0,所以如果两个不同的密码经过 ...

  4. eclipse打不开,报错 "java was started with exit code=13"

    刚才打开eclipse时,出现如上的报错窗口. 1.查看java 版本,发现是1.8版本,记得自己之前手动安装的java应该是1.7或者更低的版本.让我想起之前系统总是会提醒java有更新,最近就没有 ...

  5. oracle plsql 捕获异常和抛出异常

    在写oracle存储过程的时候很多东西放到存储过程里面比如一些判断等,要比在程序逻辑里面简单很多,但是也会涉及到捕获和抛出一样的问题. 捕获异常 语法: 首先定义异常: <异常情况>  E ...

  6. zlog学习笔记(level)

    level.h /** * */ #ifndef __zlog_level_h #define __zlog_level_h #include "stdio.h" #include ...

  7. linux svn

    1.回滚 一直在找svn回滚的方法,这个还是很实用的,屡试不爽阿 经常由于坑爹的需求,功能要切回到之前的某一个版本.有两种方法可以实现: 方法1: 用svn merge  1) 先 svn up,保证 ...

  8. iTextSharp带中文转换出来的PDF文档显示乱码

    刚才有写一个小练习<Html代码保存为Pdf文件>http://www.cnblogs.com/insus/p/4323224.html.马上有网友说,当截取块有中文时,保存的pdf文件将 ...

  9. node基础05:路由基础

    1.基础实例 //server.js var http = require("http"); var url = require("url"); var rou ...

  10. Linux 中 Weblogic 启动和关闭

    a.start weblogic1)找到 /Oracle/Middleware/user_projects/domains/ 用户_domain目录. nohup ./startWebLogic.sh ...