博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Winform 中实现省市联动效果
阅读量:6704 次
发布时间:2019-06-25

本文共 4475 字,大约阅读时间需要 14 分钟。

1,省的ID,Name直接定义成类,实例化后添加的到ComBox(DropDrownList)中,DisplayMember设置为ProName

2,绑定后SelectedIndex=0,显示绑定的第一个值

3,Configure中设置连接字符串,ConfigurationManager 中得到字符串的值

using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;using System.Data.SqlClient;using System.Configuration;namespace 省市联动{    public partial class 省市联动 : Form    {        public 省市联动()        {            InitializeComponent();        }        private void 省市联动_Load(object sender, EventArgs e)        {            BindPro();            //显示第一个 Province            cmbBoxPro.SelectedIndex = 0;        }        //省发生变化的时候的事件        private void cmbBoxPro_SelectedIndexChanged(object sender, EventArgs e)        {            ProIDSeled();            //显示第一个 City            cmbCity.SelectedIndex = 0;        }        //获取所选取的省的ID        protected void ProIDSeled()        {            //            ProCity ProSeled = new ProCity();            ProSeled = (ProCity)cmbBoxPro.SelectedItem;  //选中项是 PorCity 的实例             if (ProSeled != null)            {                int numProIDSeled = ProSeled.ProID;                string strProName = ProSeled.ProName;                //绑定之前先把数据清除                cmbCity.Items.Clear();                cmbCity.SelectedItem = null;                BindCity(numProIDSeled);   //市也相应变化                //MessageBox.Show(numProIDSeled.ToString());            }        }        //绑定省        protected void BindPro()        {            string strConn = ConfigurationManager.ConnectionStrings["ConnStr"].ConnectionString;            using (SqlConnection conn = new SqlConnection(strConn))            {                conn.Open();                string strSelPro = "SELECT   proID, proName FROM  Province";                using (SqlCommand sqlCmd = new SqlCommand(strSelPro, conn))                {                    using (SqlDataReader sdr = sqlCmd.ExecuteReader())                    {                        while (sdr.Read())                        {                            ProCity PCity = new ProCity();                            int numProID = sdr.GetInt32(sdr.GetOrdinal("ProID"));                            string strProName = sdr.GetValue(sdr.GetOrdinal("ProName")).ToString();                            PCity.ProID = numProID;                            PCity.ProName = strProName;                            cmbBoxPro.Items.Add(PCity);   //控件添加的是类                        }                    }                }            }        }        //绑定市        protected void BindCity(int proID)        {            string strConn = ConfigurationManager.ConnectionStrings["ConnStr"].ConnectionString;            using (SqlConnection conn = new SqlConnection(strConn))            {                conn.Open();                string strSelPro = "SELECT   cityID, cityName, proID FROM city where proID=@proId ";                SqlParameter sqlParaCity = new SqlParameter("proId", proID);                using (SqlCommand sqlCmd = new SqlCommand(strSelPro, conn))                {                    sqlCmd.Parameters.Add(sqlParaCity);                    using (SqlDataReader sdr = sqlCmd.ExecuteReader())                    {                        while (sdr.Read())                        {                            int numCityID = sdr.GetInt32(sdr.GetOrdinal("cityID"));                            string strCityName = sdr.GetValue(sdr.GetOrdinal("cityName")).ToString();                            cmbCity.Items.Add(strCityName);   //控件添加的是类                            //参数清除                            sqlCmd.Parameters.Clear();                        }                    }                }            }        }        //定义一个省市的类        public class ProCity        {            private int proID;            private string proName;            public int ProID            {                get                {                    return proID;                }                set                {                    this.proID = value;                }            }            public string ProName            {                get                {                    return this.proName;                }                set                {                    this.proName = value;                }            }        }    }}

配置文件中的字符串 App.Config

 

转载于:https://www.cnblogs.com/siri/archive/2012/12/17/2822436.html

你可能感兴趣的文章
用using取别名居然不支持泛型…
查看>>
NET也不能忽略基础
查看>>
ROR随想(2009年)
查看>>
AT发送短信(转)
查看>>
DataTable.Compute方法使用实例
查看>>
VB操作ISNULL
查看>>
PIC452外部中断进不去的原因?
查看>>
2.9 Fibonacci数列
查看>>
POJ 1721 CARDS(置换)
查看>>
Hypertable 0.9.6.4 发布,分布式数据库
查看>>
Spring源代码解析(六):Spring声明式事务处理
查看>>
精心挑选12款优秀的 JavaScript 日历和时间选择插件
查看>>
iphone sdk
查看>>
如何获取jqGrid中选择的行的数据
查看>>
ActionScript 3.0入门:Hello World、文件读写、数据存储(SharedObject)、与JS互调
查看>>
Android 获取自带浏览器上网记录
查看>>
c++ 静态持续变量
查看>>
MFC超链接静态类的使用
查看>>
我所遭遇过的游戏中间件---SpeedTree
查看>>
Js判断CSS文件加载完毕的实例教程
查看>>