ورود / ثبت نام
0
0

Cascading ComboBox در برنامه ویندوز با استفاده از سی شارپ

381 بازدید
Cascading ComboBox

Cascading ComboBox

در این برنامه میخواهیم با هم به سراغ آموزش استفاده از Cascading ComboBox در برنامه ویندوز برویم. تمام مراحل را به همراه عکس و با توضیحات کامل برایتان قرار داده ام. امیدوارم برایتان مفید واقع شود … با من همراه باشید …

Cascading ComboBox

در ابتدا دو combo box انتخاب می کنیم.

آموزش اولیه

قدم اول: ویژوال استادیو ۲۰۱۰ را باز کنید، به File، New، Projects و سپس به Visual C# select Windows بروید.

Cascading ComboBox

هم چنین شما می توانید اسم پروژه را تغییر دهید و آن را به محل دیگری جا به جا کنید. سپس روی OK کلیک کنید.

قدم دوم: در Solution Explorer پروژه خود را می بینید، Service Based Database را اضافه کنید. بعد از اینکه به پروژه خود رفتید کلیک راست کرده و Add New Item – Service Based Database را انتخاب کنید.

Cascading ComboBox

آموزش پایگاه داده (دیتابیس)

قدم سوم: پایگاه داده [Database.mdf] خود را می یابید، دو جدول tbl_country و tbl_state ایجاد می کنیم. به database.mdf بروید، Table and Add New table. جدول خود را مثل زیر طراحی کنید:

Tbl_country:

Cascading ComboBox

Tbl_state:

Cascading ComboBox

آموزش طراحی

قدم چهارم: حالا فایل Form1.cs [Design] خود را باز کنید، جایی که طرح خود را برای Cascading ComboBox ساختید.

ما دو ComboBox از tool box (جعبه ابزار) به Form1.cs [Design] می کشیم، می بیند که فرم شما مثل زیر شده است.

Form1.cs [Design]:

Cascading ComboBox

آموزش کد

روی قسمت خالی Form1.cs کلیک راست کنید، View Code. می بینید که شما وارد قسمت کد فرم شده اید. کد زیر را بنویسید و برای اچرا پروژه کلید F5 را بزنید.

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;  
  
namespace cascadingdropdownlist  
{  
    public partial class Form1 : Form  
    {  
        SqlConnection con = new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\Database1.mdf;Integrated Security=True;User Instance=True");  
        DataRow dr;  
        public Form1()  
        {  
            InitializeComponent();  
            refreshdata();  
        }  
  
        public void refreshdata()  
        {  
            
  
             
            con.Open();  
            SqlCommand cmd = new SqlCommand("select * from tbl_country", con);  
            SqlDataAdapter sda = new SqlDataAdapter(cmd);  
            DataTable dt = new DataTable();  
            sda.Fill(dt);  
            con.Close();  
            dr = dt.NewRow();  
            dr.ItemArray = new object[] { 0, "--Select Country--" };  
            dt.Rows.InsertAt(dr, 0);  
            comboBox1.ValueMember = "countryid";  
            comboBox1.DisplayMember = "countryname";  
            comboBox1.DataSource = dt;      
     
        }  
  
        private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)  
        {  
            if (comboBox1.SelectedValue.ToString()!= null)  
            {  
                int countryid = Convert.ToInt32(comboBox1.SelectedValue.ToString());  
                refreshstate(countryid);  
  
                  
            }  
        }  
  
            public void refreshstate(int countryid)  
            {  
              
            con.Open();  
            SqlCommand cmd = new SqlCommand("select * from tbl_state where countryid= @countryid", con);  
            cmd.Parameters.AddWithValue("countryid", countryid);  
            SqlDataAdapter sda = new SqlDataAdapter(cmd);  
            DataTable dt = new DataTable();  
            sda.Fill(dt);  
            con.Close();  
            dr = dt.NewRow();  
            dr.ItemArray = new object[] { 0, "--Select State--" };  
            dt.Rows.InsertAt(dr, 0);  
           
            comboBox2.ValueMember = "stateid";  
            comboBox2.DisplayMember = "statename";  
            comboBox2.DataSource = dt;  
  
  
        }  
    }  
  
}  

خروجی

Cascading ComboBox

در Combo box اول، کشور هند را انتخاب می کنیم،box state combo فقط مناطق مربوط به هند را نشان می دهد.

Cascading ComboBoxCascading ComboBox

موفق باشید!

  • پسورد: www.mspsoft.com
آیا این مطلب را می پسندید؟
https://www.mspsoft.com/?p=16458
اشتراک گذاری:
واتساپتوییترفیسبوکپینترستلینکدین
داریوش فرخی
داریوش فرخی هستم از سال 92 شروع به یادگیری برنامه نویسی و از سال 93 در بخش برنامه نویسی و تولید محتوای سایت mspsoft.com مشغول هستم. فعالیتم نیز بیشتر در زمینه های برنامه نویسی با سی شارپ و asp.net بوده است. اوقات فراغتم را هم غالبا با تماشای فیلم یا بازی های کامپیوتری پر میکنم .
مطالب بیشتر
برچسب ها:

نظرات

4 نظر در مورد Cascading ComboBox در برنامه ویندوز با استفاده از سی شارپ

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

      1. با تشکر از جواب شما
        من این برنامه را در VB.net مشابه سازی کردم برای سه موضوع قاره کشور و شهر
        و پایگاه داده Access ولی دچار مشکل شدم چگونه این برنامه را برای شما بفرستم. اگر لطف بفرمائید این برنامه را با VB.Net هم در سایت قرار دهید.

        لایک