CheckBoxList Veri Çekme ve Sql Filtresi Uygulama


Web Form Ekranı Not: checkboxlist ögesinden herhangi bir tetikleme olmasından sonra olayın çalışması için Autopostback true yapılır ve veri çekme metodunda ise sayfa !ispostback yapılır.Aksi halde düzgün çalışmaz....

<asp:CheckBoxList ID="CheckBoxList2" OnSelectedIndexChanged="CheckBoxList2_SelectedIndexChanged" runat="server" AutoPostBack="true"> </asp:CheckBoxList>

CheckBoxList VeriÇekme Metodu

public void veriCek() { if (!this.IsPostBack) { using (SqlConnection con = new SqlConnection(cs1)) { string query = "SELECT *FROM kategori"; using (SqlCommand cmd = new SqlCommand(query)) { cmd.CommandType = CommandType.Text; cmd.Connection = con; con.Open(); CheckBoxList2.DataSource = cmd.ExecuteReader(); CheckBoxList2.DataTextField = "markaadi"; //CheckBoxList2.DataValueField = "id"; CheckBoxList2.DataBind(); con.Close(); } } } }

CheckBoxList SelectedIndexChanged Metodu

protected void CheckBoxList2_SelectedIndexChanged(object sender, EventArgs e) { ArrayList liste = new ArrayList(); int sayi = 0; string sqlsorgu = "SELECT *FROM WEB_URUN WHERE AÇIKLAMA in "; foreach (ListItem item in CheckBoxList2.Items) { if (item.Selected) { liste.Add(item.Text.ToString()); sayi++; } } for (int i = 0; i < sayi; i++) { //Sorgualrı burada döngü ile oluşturuyoruz.. if (i == 0) { sqlsorgu = sqlsorgu + "AÇIKLAMA like'%" + liste[i] + "%' COLLATE SQL_Latin1_General_CP1_CI_AS "; } else { sqlsorgu = sqlsorgu + " OR AÇIKLAMA like'%" + liste[i] + "%' COLLATE SQL_Latin1_General_CP1_CI_AS "; } } Label4.Text = sqlsorgu.ToString(); }

Hiç yorum yok:

Yorum Gönder