Asp.net ikili listbox
Senay,ryomuz şu şekilde elimizde iki listbox var birinciden bir konu seçtiğimizde veritabanından birinciyle bağlantılı konuları getirecek.Ülke ve şehir seçme gibi.Bunu ajax ile de yapabiliriz bununla ilgili internette çok sayıda örnek var .Ajax kullanmak istemeyenler için şu şekilde
iki adet dropdownlist koyuyoruz.Önemli olan kısım
ilk dropdowndaki AutoPostBack="True" kısmı
<asp:DropDownList ID="DropDownList1" runat="server"
AutoPostBack="True" onselectedindexchanged="DropDownList1_SelectedIndexChanged">
</asp:DropDownList>
<asp:DropDownList ID="DropDownList2" runat="server">
</asp:DropDownList>
sonrası kolay
MySqlConnection baglanti = new MySqlConnection("server=*;User Id=*;password=*;Persist Security Info=True;database=*");
MySqlCommand command = new MySqlCommand();
MySqlCommand komut = new MySqlCommand();
public void listvericek()
{
komut.Connection = baglanti;
komut.CommandText = "select * from anakonular";
baglanti.Open();
MySqlDataReader oku;
oku = komut.ExecuteReader();
while (oku.Read())
{ListItem li = new ListItem();
li.Value = oku.GetString(0);
li.Text = oku.GetString(1);
DropDownList1.Items.Add(li);
}
baglanti.Close();
}
public void listvericek2(string anaid)
{
int anaidx = Convert.ToInt32(anaid);
komut.Connection = baglanti;
komut.CommandText = "select * from altkonular where idanakonular="+anaidx;
baglanti.Open();
MySqlDataReader oku;
oku = komut.ExecuteReader();
while (oku.Read())
{
ListItem li = new ListItem();
li.Value = oku.GetString(0);
li.Text = oku.GetString(1);
DropDownList2.Items.Add(li);
}
baglanti.Close();
}
protected void Page_Load(object sender, EventArgs e)
{
listvericek();
}
protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
{
DropDownList2.Items.Clear();
listvericek2(DropDownList1.SelectedValue);
}
Hiç yorum yok :
Yorum Gönder