博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
练习:WinForm 三级联动(中国行政区划)
阅读量:5902 次
发布时间:2019-06-19

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

using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace 三级联动.Model{    class China    {        private string code;        public string Code        {            get { return code; }            set { code = value; }        }        private string name;        public string Name        {            get { return name; }            set { name = value; }        }        private string parentcode;        public string Parentcode        {            get { return parentcode; }            set { parentcode = value; }        }    }}
实体类
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Data.SqlClient;namespace 三级联动.DataConnection{    class DataConnection    {        private static string connstr="server=.; database=mydb; user=sa; pwd=ray;";        public static SqlConnection Conn        {            get{
return new SqlConnection(connstr); } } }}
数据连接类
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Data.SqlClient;namespace 三级联动.DataOperation{    class ChinaData    {        private SqlConnection _conn;        private SqlCommand _cmd;        private SqlDataReader _dr;        public ChinaData()        {            _conn = DataConnection.DataConnection.Conn;            _cmd = _conn.CreateCommand();        }        //根据父级代号返回地区信息        public List
Select(string pcode) { _cmd.CommandText = "select *from ChinaStates where ParentAreaCode=@pcode"; _cmd.Parameters.Clear(); _cmd.Parameters.AddWithValue("@pcode",pcode); _conn.Open(); _dr = _cmd.ExecuteReader(); List
list = new List
(); if (_dr.HasRows) { while (_dr.Read()) { Model.China data = new Model.China(); data.Code = _dr[0].ToString(); data.Name = _dr[1].ToString(); data.Parentcode = _dr[2].ToString(); list.Add(data); } } _conn.Close(); return list; } }}
数据操作类

可视化界面操作:

后台代码:

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;namespace 三级联动{    public partial class Form1 : Form    {        public Form1()        {            InitializeComponent();        }        DataOperation.ChinaData cda = new DataOperation.ChinaData();        //填充省的方法        public void FillSheng()        {            List
list = cda.Select("0001"); cmbSheng.DataSource = list; cmbSheng.DisplayMember = "Name"; cmbSheng.ValueMember = "Code"; } //填充市的方法 public void FillShi() { List
list = cda.Select(cmbSheng.SelectedValue.ToString()); cmbShi.DataSource = list; cmbShi.DisplayMember = "Name"; cmbShi.ValueMember = "Code"; } //填充区的方法 public void FillQu() { List
list = cda.Select(cmbShi.SelectedValue.ToString()); cmbQu.DataSource = list; cmbQu.DisplayMember = "Name"; cmbQu.ValueMember = "Code"; } //页面一加载运行三个方法 private void Form1_Load(object sender, EventArgs e) { FillSheng(); FillShi(); FillQu(); } //填充市的下拉列表 private void cmbSheng_SelectionChangeCommitted(object sender, EventArgs e) { FillShi(); FillQu(); } //填充区的下拉列表 private void cmbShi_SelectionChangeCommitted(object sender, EventArgs e) { FillQu(); } }}

 

转载于:https://www.cnblogs.com/xiao55/p/5797540.html

你可能感兴趣的文章
oschina程序开发
查看>>
mysql创建每月执行一次的event
查看>>
kafka集群部署
查看>>
STM8串口初始化寄存器配置
查看>>
ReactNative常用组件汇总
查看>>
openfaas 安装(docker swarm 模式)
查看>>
nested exception is java.lang.NoClassDefFoundError: net/sf/cglib/proxy/CallbackFilter
查看>>
“正在注册字体”问题解决
查看>>
windows10 更新后要输入2次密码才能进入系统
查看>>
iOS开发-OpenGL ES入门教程1
查看>>
平衡二叉树(AVL树)
查看>>
面向对象思想(第一天)
查看>>
微信小程序 js逻辑
查看>>
linux 安装 sftp
查看>>
openStack queens
查看>>
C++中map用法详解《转》
查看>>
(转)EOSIO开发(四)- nodeos、keosd与cleos
查看>>
MVC5+EF6 入门完整教程八
查看>>
使用quicklz缩小程序体积
查看>>
Java 设计模式专栏
查看>>