其他分享
首页 > 其他分享> > Combobox 下拉框显示地区信息

Combobox 下拉框显示地区信息

作者:互联网

使用下拉框控件(combobox)显示 省,市,县

链接: https://pan.baidu.com/s/1QCzRMfUc-iv4EYYIAwtJbQ?pwd=p3n7 提取码: p3n7 复制这段内容后打开百度网盘手机App,操作更方便哦

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Data.SqlClient;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using Common;

namespace regionZhanshi1230A
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            initAddData();
            
        }

        /// <summary>
        /// 显示 省 下拉框中的信息
        /// </summary>
        public void showProindce()
        {
            cmbProvince.DataSource = SqlHelper.ExecuteDataTable("select * from dbo.SysArea where Level = 1");

            //要显示在下拉框中的内容
            // 文本框内容
            cmbProvince.DisplayMember = "AreaName";
            // 当前区域编号信息
            cmbProvince.ValueMember = "AreaCode";
        }

        //初始化加载信息
        public void initAddData()
        {
            showProindce();
            inCodeByRegion(cmbProvince.SelectedValue.ToString());
            inCodeByCounty(cmbCity.SelectedValue.ToString());
        }


        /// <summary>
        /// 通过 省的编号,该省所辖区的信息
        /// </summary>
        /// <param name="code"></param>
        private void inCodeByRegion(String code)
        {
            if (code != "")
            {
                int areaCode = Convert.ToInt32(code);
                string sql = "select * from dbo.SysArea where Level = 2 and ParentCode =  @areaCode";
                SqlParameter parameter = new SqlParameter("@areaCode", areaCode);
                cmbCity.DataSource = SqlHelper.ExecuteDataTable(sql, parameter);
                cmbCity.DisplayMember = "AreaName";
                cmbCity.ValueMember = "AreaCode";
            }
        }

        /// <summary>
        /// 通过编号 找到 区下面素有县
        /// </summary>
        /// <param name="code"></param>
        private void inCodeByCounty(String code)
        {
            if (code != "")
            {
                int areaCode = Convert.ToInt32(code);
                string sql = "select * from dbo.SysArea where Level = 3 and ParentCode =  @areaCode";
                SqlParameter parameter = new SqlParameter("@areaCode", areaCode);
                cmbCounty.DataSource = SqlHelper.ExecuteDataTable(sql, parameter);
                cmbCounty.DisplayMember = "AreaName";
                cmbCounty.ValueMember = "AreaCode";
            }
        }

        //选择省时 区和县 也跟着修改
        private void cmbProvince_SelectionChangeCommitted(object sender, EventArgs e)
        {
            inCodeByRegion(cmbProvince.SelectedValue.ToString());
            inCodeByCounty(cmbCity.SelectedValue.ToString());
        }

        // 选择区时 县 跟着修改
        private void cmbCity_SelectionChangeCommitted(object sender, EventArgs e)
        {
            inCodeByCounty(cmbCity.SelectedValue.ToString());
        }

       

    }
}

标签:areaCode,Combobox,void,System,信息,cmbCity,using,下拉框,SelectedValue
来源: https://www.cnblogs.com/pinkguy/p/15755976.html