none
DropDownList'e Veritabanındaki Veriyi Seçili Olarak Getirirken Diğer Verileri De Getirmek RRS feed

  • Soru

  • Herkese merhabalar. Başlık biraz karışık oldu ama durumu hemen izah edeyim. Kullanıcı kayıt formunda kullanıcının yaşadığı şehri ve ilçeyi kullanıcı tablosuna kayıt ettiriyorum (Türkiye'deki tüm il ve ilçelerin bulunduğu ayrı 2 tablom var). Yapmak istediğim şey ise kullanıcı profilini düzenlerken kullanıcının kayıt olurken seçmiş olduğu il ve ilçenin DropDownList'e seçili olarak gelmesi, bunun yanında diğer şehir ve illerin de yine DropDownList içerisine gelmesini istiyorum. Mesela ben kayıt olurken il olarak Ankara, ilçe olarak ise Çankaya'yı seçtim diyelim. Profilimi düzenlemeye girdiğimde DropDownList'te il kısmında Ankara, ilçe kısmında ise Çankaya'nın görünmesini, fakat bu verileri değiştirme ihtimalime karşı DropDownList'e bastığımda diğer şehirlerin de görünmesini istiyorum. Yardımcı olabilecek var mıdır? Yazdığım kodlardan olumlu bir sonuç elde edemedim.
    • Düzenleyen Memoed 4 Eylül 2017 Pazartesi 19:59
    4 Eylül 2017 Pazartesi 19:59

Yanıtlar


  • ilk olarak ddlil ve ddlilce adında iki adet dropdownlist yerleştirdiğini varsayıyorum. Design kısmında ddlil dropdownlistine çift tıkla ona bir clik event oluşsun daha sonra şöyle;



     protected void Page_Load(object sender, EventArgs e)
        {


            if (Page.IsPostBack == false)
            {

                DataTable dtiller = klas.GetDataTable("Select * from iller");
                ddlil.DataValueField = "ilID";
                ddlil.DataTextField = "ilAdi";
                ddlil.DataSource = dtiller;
                ddlil.DataBind();
                ddlil.Items.Insert(0, new ListItem("İl Seçin", "0"));

                 ddlilce.Items.Insert(0, new ListItem("İlçe Seçin", "0"));
            }

          if(islem=="duzenle")

    {

    DataRow dr=klas.GetDataRow("select * from Kullanicilar where KullaniciID=1");//örnek olrak bir datarow kurdum

    ddlil.SelectedValue=dr["ilID"].ToString(); // veritabanındaki ilceID ddlil de seçili hale getirdim hemde diğer illerde yüklü bir şekilde ilçede aynı

    ddlilce.SelectedValue=dr["ilceID"].ToString();

    {

        }

        protected void ddlil_SelectedIndexChanged(object sender, EventArgs e) // burda iller dropdownlistine tıklayınca seçilen il eait iller ilçeye basılacak ancak iller dropdownlisitnin AutoPostBack özelliğini design kısmından true yapman lazım runat server dan sonra AutoPostBack="True" kodunu ekle daha sonra gerisi aynı
        {
            DataTable dtilce= klas.GetDataTable("select * from ilceler where ilceID="+ddlil.SelectedValue+"order by ilceAdi"); // burada illceleri il idye göre ve alfabetik sıralayarak bastırdık
            ddlilce.DataValueField = "ilceID";
            ddlilce.DataTextField = "ilceAdi";
            ddlilce.DataSource = dtilce;
            ddlilce.DataBind();
            ddlilce.Items.Insert(0, new ListItem("İlçe Seçin", "0"));
        }


        protected void btnKaydol_Click(object sender, EventArgs e)
        {
           //Kayıt kodların
        }
    7 Eylül 2017 Perşembe 22:32

Tüm Yanıtlar

  • 4 Eylül 2017 Pazartesi 22:23

  • ilk olarak ddlil ve ddlilce adında iki adet dropdownlist yerleştirdiğini varsayıyorum. Design kısmında ddlil dropdownlistine çift tıkla ona bir clik event oluşsun daha sonra şöyle;



     protected void Page_Load(object sender, EventArgs e)
        {


            if (Page.IsPostBack == false)
            {

                DataTable dtiller = klas.GetDataTable("Select * from iller");
                ddlil.DataValueField = "ilID";
                ddlil.DataTextField = "ilAdi";
                ddlil.DataSource = dtiller;
                ddlil.DataBind();
                ddlil.Items.Insert(0, new ListItem("İl Seçin", "0"));

                 ddlilce.Items.Insert(0, new ListItem("İlçe Seçin", "0"));
            }

          if(islem=="duzenle")

    {

    DataRow dr=klas.GetDataRow("select * from Kullanicilar where KullaniciID=1");//örnek olrak bir datarow kurdum

    ddlil.SelectedValue=dr["ilID"].ToString(); // veritabanındaki ilceID ddlil de seçili hale getirdim hemde diğer illerde yüklü bir şekilde ilçede aynı

    ddlilce.SelectedValue=dr["ilceID"].ToString();

    {

        }

        protected void ddlil_SelectedIndexChanged(object sender, EventArgs e) // burda iller dropdownlistine tıklayınca seçilen il eait iller ilçeye basılacak ancak iller dropdownlisitnin AutoPostBack özelliğini design kısmından true yapman lazım runat server dan sonra AutoPostBack="True" kodunu ekle daha sonra gerisi aynı
        {
            DataTable dtilce= klas.GetDataTable("select * from ilceler where ilceID="+ddlil.SelectedValue+"order by ilceAdi"); // burada illceleri il idye göre ve alfabetik sıralayarak bastırdık
            ddlilce.DataValueField = "ilceID";
            ddlilce.DataTextField = "ilceAdi";
            ddlilce.DataSource = dtilce;
            ddlilce.DataBind();
            ddlilce.Items.Insert(0, new ListItem("İlçe Seçin", "0"));
        }


        protected void btnKaydol_Click(object sender, EventArgs e)
        {
           //Kayıt kodların
        }
    7 Eylül 2017 Perşembe 22:32