Şimdi Ara

CheckBoxList ile Filtreleme ..

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir - 2 Masaüstü
5 sn
3
Cevap
0
Favori
557
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • Arkadaslar, yapmak istedigim coklu CheckBoxList seciminde kategorilere ait urunleri filtreleme.
    Yazdigim kod ile CheckBoxList secildiginde herzaman son secilen urunu getiriyor.

    Ornek olarak resimde de gorebilirsiniz. Ilk secilen elektronik kategorisi normal calisiyor fakat coklu secimde ise hem Elektronik hemde Ayakkabi kategorisi secildiginde sonuc olarak her ikisi degilde son secilen Ayakkabi kategorisine ait urunu gosteriyor.

     CheckBoxList ile Filtreleme ..


     CheckBoxList ile Filtreleme ..


    Bunu Yaparken kullandigim kod soyle :


    <asp:CheckBoxList ID="CheckBoxList1" runat="server" AutoPostBack="True"
    onselectedindexchanged="CheckBoxList1_SelectedIndexChanged"
    </asp:CheckBoxList>


    protected void CheckBoxList1_SelectedIndexChanged(object sender EventArgs e)
    {
    foreach (ListItem item in CheckBoxList1.Items)
    {
    if (item.Selected)
    {
    System.Data.SqlClient.SqlDataAdapter da = DBTools.AdapterKomut("Select * from Urunler where ID=@ID");
    da.SelectCommand.Parameters.AddWithValue=("@ID", item.Value.ToString());
    DataTable dt = new DataTable("Urunler");
    da.Fill(dt);
    DataList3.DataSource = dt;
    DataList3.DataBind();

    }


    Burda Bir hata var ama ben goremiyorum .. Yardimci olabilerseniz cok sevinirim ..







  • stylemania kullanıcısına yanıt
    Adım adım düşünelim dostum. İlk seçili için girdin foreach ın içine. Seçili dedin buldun.

    Sonra 2. ye baktı seçili değil girmedi.

    Ama geldi 3. ye...

    Seçili diye girdi if in içine

    System.Data.SqlClient.SqlDataAdapter da = DBTools.AdapterKomut("Select * from Urunler where ID=@ID");

    Yepyeni bir komutunu aldı

    da.SelectCommand.Parameters.AddWithValue=("@ID", item.Value.ToString());

    yeni parametresini aldı..

    DataTable dt = new DataTable("Urunler");
    da.Fill(dt);

    Yeni tablosuna da oturdu direk. Senin Elektronik için yaptığın sorgu, doldurduğun DataTable bir üst satırdaki new DataTable ile hiç bir işe yaramaz hale geldi.

    Bunun yerine selected ın girişinde yeni bir tablo tanımlasan, sonra da sorguyu başka bir tabloya doldursan, en son olarak da ana listene bu geçici tablodaki satırları eklersen istediğin olur diye düşünmekteyim.

    Kolay gelsin.




  • Oncellikle ilgilendigin icin sagol SharpShoooterr. Fakat verdigin oneriyi kafamda kurmaya calisiyorum ama nasil olacagini cozemedim.
    Senin icinde zahmet olmazsa daha acik bir sekilde anlatabilirmisin.
  • Yapay Zeka’dan İlgili Konular
    Daha Fazla Göster
    
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.