Asp.Net ListBox Tekrarlı-Aynı Eleman Eklemeyi Engelleme

Bir başka ListBox kullanım örneği ile tekrardan merhaba 😀 şimdiki örneğimizde kullanıcının ListBox’a her elemandan sadece bir kez giriş yapmasını nasıl sağlarız yani listede tekrarlı eleman olmasını nasıl engelleriz onu anlatmaya çalışacağım.
Bu işlem için iki yöntem göstereceğim bir tanesi Contains metodu ile diğeri de Contains metodu kullanmadan ilk olarak aşağıdaki form tasarımını oluşturalım
aspnetlisttekrar
Şimdi Sıra geldi kodlara İlk olarak Contains metodu ile Buton içine yazacağımız kodlar.

 ListItem yeni=new ListItem(TextBox1.Text);
        if (ListBox1.Items.Contains(yeni))
        {
            Label2.Text = "Aynı Ürün var";
        }//http://www.aspnetornekleri.com/
        else
        {
            ListBox1.Items.Add(TextBox1.Text);
           int  adet = ListBox1.Items.Count;
            TextBox1.Text = "";
            Label1.Text = "Listede " + adet + " ürün var";
        }

aspnetlisttekrar1
Yapılan işlem TextBox’a girilen bilgi bir liste elemanına çevriliyor daha sonra ListBox1.Items.Contains metodu ile aynı eleman var mı? yok mu? kontrol ediliyor.
Sıra geldi ikinci yöneteme ben ListBox1.Items.Contains metodunu duymadım oda neymiş diyorsanız kodlarımız:

int adet = ListBox1.Items.Count;
          int s=0;
          for (int i = 0; i <= adet - 1; i++)
          {
              if (TextBox1.Text == ListBox1.Items[i].Text)
              {//http://www.aspnetornekleri.com/
                  s++;
              }
          }
          if (s > 0)
          {
              Label2.Text = "Aynı Ürün var";
          }
          if (s == 0)
          {            
              ListBox1.Items.Add(TextBox1.Text);
              adet = ListBox1.Items.Count;
              TextBox1.Text = "";//http://www.aspnetornekleri.com/
              Label1.Text = "Listede " + adet + " ürün var";
          } 

Burada girilen bilgi listBox’da var mı? yok mu? kontrol ediliyor eğer varsa s değişkeninin değeri 1 arttırılıyor, daha sonra s değişkenine göre s sıfırsa tekrarlı bilgi yok demektir ve değer ListBox’a ekleniyor, eğer s sıfırdan büyükse Aynı Ürün var Uyarısı veriliyor. Şimdilik bu kadar başka örnekte görüşmek üzere :)

  • murat ALTUNOK

    Elinize sağlık.

    Bir sorum olacaktı.Benim hazırladığım bir tane tercih kılavuzu var, Kişiler ilçe seçip o ilçeye ait tercih yapacakları okullar geliyor. Kişi 20 tercih yapacak ve aynı tercihi tekrarlamayacak. Bunu nasıl yapa bilirim? Tercih ettiği yerler birdaha görünmese veya ikinci defa tercih etmese aynı yeri. Yardımcı olursanız çok sevinirim.
    Seçim yeri DropDownList

    • BilisimOgretmeni

      Aynı yöntemi kullanabilirsiniz elemanlar nereye eklenecekse ona göre düzenleme yapılabilir yada dropdownlist’ten eklenen elemanı silerekde yapabilirsiniz

      ListItem silinecek = DropDownList1.SelectedItem;

      BulletedList1.Items.Add(DropDownList1.SelectedItem);

      DropDownList1.Items.Remove(silinecek); gibi ekle butonuna basınca elemanları bulletedliste ekliyor daha sonra dropdown listten eklenen elemanı siliyor