前台界面:

        

后台代码:

namespace _04省市联动
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

private int r = 0;
        private void Form1_Load(object sender, EventArgs e)
        {
            r = 1;
            //所有省份显示到第一个下拉框中
            LoadAreaByAreaPId(0);
        }

private void LoadAreaByAreaPId(int v)
        {

List<Area> list=new List<Area>();
            list.Add(new Area() {AreaId = -1,AreaName = "---请选择---"});
            string sql = "select AreaId,AreaName from TblArea  where AreaPId="+v;
            using (SqlDataReader reader=SqlHelper.ExecuteDataReader(sql))
            {
                if (reader.HasRows)
                {
                    while (reader.Read())
                    {
                        Area a=new Area();
                        a.AreaId = Convert.ToInt32(reader["AreaId"]);
                        a.AreaName = reader["AreaName"].ToString();
                        list.Add(a);
                    }
                }
            }
            if (r==1)
            {
                cbPro.DataSource = list;
                cbPro.DisplayMember = "AreaName";
                cbPro.ValueMember = "AreaId";
            }
            if(r==2)
            {
                cbCity.DataSource = list;
                cbCity.DisplayMember = "AreaName";
            }

}

private void cbPro_SelectedIndexChanged(object sender, EventArgs e)
        {

#region 练习用的代码
            //if (cbPro.SelectedIndex != 0)
            //{
            //    cbCity.Items.Clear();
            //    //获取当前省份的id
            //    int id = Convert.ToInt32(cbPro.SelectedValue);
            //    string sql = "select AreaId,AreaName from TblArea where AreaPId=" + id;
            //    //List<Area> list = new List<Area>();
            //    using (SqlDataReader reader = SqlHelper.ExecuteDataReader(sql))
            //    {
            //        if (reader.HasRows)
            //        {
            //            while (reader.Read())
            //            {
            //                Area a = new Area();
            //                a.AreaId = Convert.ToInt32(reader["AreaId"]);
            //                a.AreaName = reader["AreaName"].ToString();
            //                cbCity.Items.Add(a);  //重写了Area类的ToString()方法   public override string ToString()
                                                                 //否则添加的是类的命名空间          {
                                                                                                                               return this.AreaName;
                                                                                                                        }
            //            }
            //        }
            //    }

//} 
            #endregion

#region 简化写法,使用r变量判断事件
            r = 2;
            if (cbPro.SelectedIndex != 0)
            {
                int id = Convert.ToInt32(cbPro.SelectedValue);
                LoadAreaByAreaPId(id);
            } 
            #endregion

}
    }
}

Ado.Net小练习03(省市联动)的更多相关文章

  1. 微信小程序省市联动

    最近呢刚好做了一个省市联动的功能,今天看到有人问这个怎么做,我就把我做的放上来共享一下: 首先呢,来看看效果,点击文字'点击',弹出选择窗口,点击取消或者确定(取消.确定按钮在选择框上边,截图有些不清 ...

  2. html + ashx 实现Ajax省市联动

    基本思路:1.了解数据库中省和市的表结构及关联主键 2.创建html页面及select标签 3.通过ajax向ashx(一般处理程序)发送后台请求完成联动效果 表结构: 这里,开始创建一个命为demo ...

  3. html css javascript 知识点总结 bom js 操作标签 文本 节点 表格各行变色 悬停变色 省市联动 正则

    <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title&g ...

  4. jquery省市联动,根据公司需求而写

    //author:guan //2015-05-25 //省市联动 //实用说明,页面引用如下js //<script src="../js/jquery-1.6.3.min.js&q ...

  5. Json 基于jQuery+JSON的省市联动效果

    helloweba.com 作者:月光光 时间:2012-09-12 21:57 标签: jQuery  JSON  Ajax  省市联动     省市区联动下拉效果在WEB中应用非常广泛,尤其在一些 ...

  6. AJAX案例四:省市联动

    <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"% ...

  7. Dynamic CRM 2013学习笔记(八)过滤查找控件 (类似省市联动)

    我们经常要实现类似省市联动一样的功能,常见的就是二个查找控件,一个选择了省后,另一个市的查找控件就自动过滤了,只显示当前省下的市,而不是所有的市.当然这是最简单的,实际工作中还有更复杂的功能要通过过滤 ...

  8. [JS]以下是JS省市联动菜单代码

    以下是JS省市联动菜单代码: 代码一: <html> <head> <title></title> <script language=" ...

  9. 通过Javascript数组设计一个省市联动菜单

    通过Javascript数组设计一个省市联动菜单 使用Option内置类来完成下拉选项的创建 2.使用定时器实现一个时钟程序 3.使用PHP+JSON完成语音验证码 网址:http://yuyin.b ...

随机推荐

  1. Java从入门到精通——数据库篇之OJDBC版本区别

    classes12.jar,ojdbc14.jar,ojdbc5.jar和ojdbc6.jar的区别,之间的差异 在使用Oracle JDBC驱动时,有些问题你是不是通过替换不同版本的Oracle  ...

  2. snmptrap使用

    SNMP简单网络管理协议,其中其支持的一个命令snmptrap命令,用于模拟向管理机发送trap消息.   启动陷阱方法: snmptrapd -C -c /etc/snmp/snmptrapd.co ...

  3. TCP相关知识

    1. TCP与TCP/IP协议族 TCP是TCP/IP协议族中运输层的一个协议.TCP/IP,即传输控制协议/网间协议,是一个工业标准的协议集,包含了运输层.网络层和链路层的协议,其结构如下图所示:其 ...

  4. kruskal --- c++ (2)

    #include <cstdio> #include <algorithm> using namespace std; struct aaa{ int l,r,w; bool ...

  5. sql replace

    update dbo.EquipmentAttribute set AttributeName=replace(AttributeName,'    ','') where EquipmentID=8 ...

  6. 1021 玛丽卡 - Wikioi

    题目描述 Description麦克找了个新女朋友,玛丽卡对他非常恼火并伺机报复. 因为她和他们不住在同一个城市,因此她开始准备她的长途旅行. 在这个国家中每两个城市之间最多只有一条路相通,并且我们知 ...

  7. javaScript基础之闭包

    不管是Jquery还是EXTJS,现代的js框架中大量应用了js的一些特性,比如:匿名函数,闭包等等,导致源代码非常难以阅读. 不过要想真正的使用好前台的UI技术,还是需要去深入的理解这些概念.   ...

  8. display:none和visibility: hidden二三事

    display:none属性后,HTML元素(对象)的宽度.高度等各种属性值都将“丢失”;而使用visibility:hidden属性后,HTML元素(对象)仅仅是在视觉上看不见(完全透明),而它所占 ...

  9. 【机器学习】BP神经网络实现手写数字识别

    最近用python写了一个实现手写数字识别的BP神经网络,BP的推导到处都是,但是一动手才知道,会理论推导跟实现它是两回事.关于BP神经网络的实现网上有一些代码,可惜或多或少都有各种问题,在下手写了一 ...

  10. JAVA Hibernate工作原理及为什么要用(转)

    hibernate 简介:hibernate是一个开源框架,它是对象关联关系映射的框架,它对JDBC做了轻量级的封装,而我们java程序员可以使用面向对象的思想来操纵数据库.hibernate核心接口 ...