亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > C# > 正文

C#用ComboBox控件實現省與市的聯動效果的方法

2020-01-24 02:10:02
字體:
來源:轉載
供稿:網友

本文實例講述了C#用ComboBox控件實現省與市的聯動效果的方法。分享給大家供大家參考。具體實現方法如下:

復制代碼 代碼如下:
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 Form1 : Form 
    { 
        public Form1() 
        { 
            InitializeComponent(); 
        } 
 
        private void Form1_Load(object sender, EventArgs e) 
        { 
            Tsql.GetConnection(); 
            using (SqlConnection conn = new SqlConnection(Tsql.GetConnection())) 
            { 
                conn.Open(); 
                using (SqlCommand cmd = conn.CreateCommand()) 
                { 
                    cmd.CommandText = "select * from promary"; 
                    using (SqlDataReader dr = cmd.ExecuteReader()) 
                    { 
                        while (dr.Read()) 
                        { 
                            Province pr = new Province(); 
                            pr.proID = dr.GetInt32(dr.GetOrdinal("proID"));  //這里要特別注意數據庫字段的類型 proID在數據庫里是int型 
                            pr.proName = dr.GetString(dr.GetOrdinal("proName")); 
                            comboBox1.Items.Add(pr);//pr是一個Province對象。Province有一個proName和proID屬性。我將一個對象填充到comboBox1里。再讓comboBox1的DisplayMember屬性設置proName?!疽簿褪亲宑omboBox1顯示pr對象的proName屬性】。這樣在填充市級城市的時候我就可以找到當前選擇項comboBox1.SelectedItem(或者當前選擇對象)所對應的proID 
                        } 
                    } 
                } 
                comboBox1.SelectedIndex = 0;  //將comcomboBox1的默認選項設為0 
            } 
        } 
 
        private void comboBox2_SelectedIndexChanged(object sender, EventArgs e) 
        { 
        } 
 
        private void comboBox1_SelectedIndexChanged(object sender, EventArgs e) 
        { 
            comboBox2.Items.Clear(); //在選擇的時候先清空一下combox1里面的所以項,以免在更換省名的時候,與先前對應的省名下的市沒有刪除。 
            Province tem = (Province)comboBox1.SelectedItem; // 因為在comboBox1.Items.Add(pr)里添加的是對象。所以在這里講comBox1所選中的當前對象賦給tem對象 (tem對象下面有兩個屬性 proName和proID) 
             
            int id = tem.proID;  //將當前選中對象的的proID賦值給id,給下面的sql查詢語句使用 
            Tsql.GetConnection();// 獲取數據庫連接字符串。 
            using (SqlConnection conn = new SqlConnection(Tsql.GetConnection())) 
            { 
                conn.Open(); 
                using (SqlCommand cmd = conn.CreateCommand()) 
                { 
                     
                    cmd.CommandText = "select * from city where proID=@id"; 
                    cmd.Parameters.Add(new SqlParameter("id", id)); 
                    using (SqlDataReader dr = cmd.ExecuteReader()) 
                    { 
                        while (dr.Read()) 
                        { 
                            comboBox2.Items.Add(dr.GetString(dr.GetOrdinal("cityName"))); 
                        } 
                    } 
                } 
                comboBox2.SelectedIndex = 0; //將comcomboBox1的默認選項設為0 
            } 
        } 
    } 
    class Tsql 
    { 
        public static string GetConnection() //數據庫連接字符串 
        { 
            string getConn = ConfigurationManager.ConnectionStrings["getConn"].ConnectionString; 
            return getConn; 
        }        
    } 
    class Province 
    { 
        public string proName { get; set; } 
        public int proID { get; set; } 
    } 
}

復制代碼 代碼如下:
using System.Data.SqlClient;
namespace 省市選擇2
{
    public partial class Form1 : Form
    {
        publicForm1()
        {
            InitializeComponent();
        }
        privatevoid Form1_Load(objectsender,EventArgs e)
        {
            /*
            //測試代碼:執行這段代碼的情況下是可以吧 tom這個值添加到 comboBox1中的。
            People p1 = new People();
            p1.name = "tom";
            p1.age = 25;
            comboBox1.Items.Add(p1.name);
            */
            using(SqlConnection conn =newSqlConnection("Data source=凡斌-VAIO;Initialcatalog=DBPromary;integrated security=true"))
            {
                conn.Open();
                using(SqlCommand cmd = conn.CreateCommand())
                {
                    cmd.CommandText = "select * from promary";
                    using(SqlDataReader reader = cmd.ExecuteReader())
                    {
                        while (reader.Read())
                        {
                            //string str =reader.GetString(reader.GetOrdinal("proName"));
                            //comboBox1.Items.Add(str);
                            Province  pv =new  Province();
                            //將comboBox1控件的DisplayMember屬性設置為“ProvinceName”用來在comboBox1控件中顯示ProvinceName屬性的值
                           comboBox1.DisplayMember = "ProvinceName";
                            pv.ProvinceName =reader.GetString(reader.GetOrdinal("proName"));
                            pv.ProvinceID =reader.GetInt32(reader.GetOrdinal("proID"));
                            //雖然pv屬于對象,把一個對象添加到ComboxBox1中,控件顯示的值為對象的類名,但是在前面comboBox1.DisplayMember ="ProvinceName"處已經設置好控件要顯示的為 Province類的ProvinceName值,所以添加進去的是pv對象的ProvinceName值
                            comboBox1.Items.Add(pv);
                        }                     
                    }
                }
            }
        }
 
        privatevoid comboBox1_SelectedIndexChanged(object sender,EventArgse)       //注意這里是comboBox1不是comboBox2
        {
            try
            {
                Province  tem = (Province) comboBox1.SelectedItem;
                int id = tem.ProvinceID;
 
                comboBox2.Items.Clear();
                using(SqlConnection conn =newSqlConnection("Data source=凡斌-VAIO;Initialcatalog=DBPromary;integrated security=true"))
                {
                    conn.Open();
                    using (SqlCommand cmd = conn.CreateCommand())
                    {
                        //查詢city(市)表里的 proID與promary(省)表里proID相同的所有數據。
                        cmd.CommandText = "select * from city where proID =@id";
                        cmd.Parameters.Add(new SqlParameter("id", id));
                        SqlDataReader dr = cmd.ExecuteReader();
 
                        while(dr.Read())
                        {
                           comboBox2.Items.Add(dr.GetString(dr.GetOrdinal("cityName")));
                        }
                    }
                }
            }
            catch(Exception ex)
            {
                MessageBox.Show("錯誤信息:" + ex.Message);
            }
        }
    }
  
    class Province
    {
        public string ProvinceName { get;set; }
        public int ProvinceID { get;set; }
    }
    //class People
    //{
    //   public string name { get; set; }
    //   public int age { get; set; }
    //}
}

如下圖所示:

希望本文所述對大家的C#程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
久久成年人免费电影| 97香蕉超级碰碰久久免费软件| 最近更新的2019中文字幕| 欧美另类xxx| 国模私拍一区二区三区| 国产精品久久久久久久久久小说| 欧美极品美女视频网站在线观看免费| 色综合久综合久久综合久鬼88| 91啪国产在线| 欧美成人免费va影院高清| 午夜精品福利电影| 国产精品第一视频| 午夜欧美不卡精品aaaaa| 亚洲精美色品网站| 伊人久久久久久久久久久| 久久激情五月丁香伊人| 日韩中文娱乐网| 欧美精品videosex牲欧美| 成人精品福利视频| 日韩成人xxxx| 国精产品一区一区三区有限在线| 日韩欧美在线视频日韩欧美在线视频| 国内精品视频久久| 国产欧美va欧美va香蕉在线| 国产精品麻豆va在线播放| 久久综合色影院| 久久av红桃一区二区小说| 成人免费视频97| 欧美亚洲成人网| 国产精品嫩草影院一区二区| 亚洲肉体裸体xxxx137| 亚洲精品suv精品一区二区| 狠狠躁夜夜躁久久躁别揉| 美女少妇精品视频| 欧美亚洲国产日本| zzijzzij亚洲日本成熟少妇| 久久影院资源站| 久久久国产在线视频| 亚洲人成网站在线播| 久久久久女教师免费一区| 中文字幕亚洲欧美在线| 亚洲一区二区三区视频播放| 羞羞色国产精品| 国模吧一区二区三区| 欧美另类在线观看| 欧美孕妇孕交黑巨大网站| 成人美女免费网站视频| 国产亚洲在线播放| 91亚洲精品在线观看| 久久久久女教师免费一区| 亚洲国产精品网站| 亚洲精品黄网在线观看| 日韩国产高清视频在线| 成人日韩av在线| 久热精品视频在线观看一区| 日韩在线视频免费观看| 久久精品国产v日韩v亚洲| 久久久久久久久综合| 日韩在线国产精品| 国产精品99蜜臀久久不卡二区| 日韩av在线影视| 一道本无吗dⅴd在线播放一区| 日韩免费av一区二区| 色偷偷噜噜噜亚洲男人的天堂| 国内精品小视频| 热久久这里只有精品| 国产精品偷伦视频免费观看国产| 国产精品免费在线免费| 精品视频偷偷看在线观看| 亚洲999一在线观看www| 久久精品久久精品亚洲人| 51精品国产黑色丝袜高跟鞋| 国产成人精品电影| 久久国产天堂福利天堂| 亚洲精品电影网| 日韩国产欧美精品在线| 国产亚洲精品久久久| 欧美大片免费观看在线观看网站推荐| 日本不卡视频在线播放| 26uuu国产精品视频| 亚洲欧美成人在线| 黄色成人在线播放| 最好看的2019年中文视频| 成人av在线天堂| 日韩高清av在线| 久久琪琪电影院| 日日狠狠久久偷偷四色综合免费| 国产精品专区h在线观看| 欧美激情喷水视频| 国产日本欧美一区二区三区在线| 精品国产1区2区| 国产精品观看在线亚洲人成网| 成人美女av在线直播| 亚洲www在线| 久久好看免费视频| 国产欧美精品va在线观看| 欧日韩在线观看| 日韩欧美大尺度| 中文字幕精品一区二区精品| 日韩中文在线中文网在线观看| 97免费在线视频| y97精品国产97久久久久久| 欧美专区日韩视频| 欧美人成在线视频| 国产成+人+综合+亚洲欧洲| 欧美华人在线视频| 97超级碰在线看视频免费在线看| 久久成人av网站| 一区二区三区亚洲| 久久久久999| 91麻豆国产精品| 亚洲曰本av电影| 色综合亚洲精品激情狠狠| 久久成人18免费网站| 精品无人国产偷自产在线| 日韩av不卡电影| 91精品在线国产| 精品人伦一区二区三区蜜桃免费| 成人乱色短篇合集| 亚洲免费人成在线视频观看| 亚洲黄色免费三级| 欧洲成人免费视频| 欧美激情国产精品| 91免费视频网站| 欧美一级大片在线免费观看| 欧美成人精品一区二区| 亚洲美女自拍视频| 精品久久久久久久久久久久久久| 九九热r在线视频精品| 日韩成人在线视频观看| 成人写真福利网| 亚洲成人av片在线观看| 色噜噜狠狠色综合网图区| 午夜精品久久久久久久男人的天堂| 欧洲成人在线视频| 日韩欧美一区二区三区久久| 亚洲淫片在线视频| 欧美日韩一区二区在线| 91国偷自产一区二区三区的观看方式| 国产91|九色| 日韩在线视频国产| 韩国v欧美v日本v亚洲| 亚洲另类激情图| 国产欧美精品日韩精品| 亚洲欧美三级伦理| 国产一区二区三区网站| 国产午夜精品视频免费不卡69堂| 97在线看免费观看视频在线观看| 欧美午夜丰满在线18影院| 日韩av免费在线看| 日韩欧美中文在线| 日韩在线观看电影| 国产福利精品视频| 色综合91久久精品中文字幕| 欧美国产中文字幕| 精品国产31久久久久久| 91精品国产91久久久久福利| 一区二区在线免费视频| 欧美大片大片在线播放| 亚洲国产成人在线视频| 亚洲精品美女久久久| 中文字幕国产精品久久| 国产日韩精品在线| 国产成人a亚洲精品|