Şimdi Ara

C# Combobox Tekrarları Silme

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir - 2 Masaüstü
5 sn
16
Cevap
0
Favori
4.316
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • Veritabanından Combobox'a kategori verilerini çekiyorum ve tekrarlı halde çekiyor. Çok iyi SQL bilmediğim için sorguyu da buna göre düzenleyemiyorum. Daha önce Combobox'uda kullanmadım. Items bölümünü biraz kurcalayıp bir şeyler denedim ama olmadı. Comboboxtaki tekrarları nasıl düzeltirim?



  • quote:

    Orijinalden alıntı: sesberk

    Veritabanından Combobox'a kategori verilerini çekiyorum ve tekrarlı halde çekiyor. Çok iyi SQL bilmediğim için sorguyu da buna göre düzenleyemiyorum. Daha önce Combobox'uda kullanmadım. Items bölümünü biraz kurcalayıp bir şeyler denedim ama olmadı. Comboboxtaki tekrarları nasıl düzeltirim?

    Tekrarlı oalnları SQL den mi siliceksin Comboboxtan mı ?
  • Sanırım ortalığı karıştırdım. Comboboxtan yapacağım..
  • int i,j;

    for (i = 0; i < comboBox1.Items.Count; i++) {
    for (j = i + 1; j < comboBox1.Items.Count - 1; i++) {
    if (comboBox1.Items == comboBox1.Items[j])
    {
    comboBox1.Items.Remove(j);
    j = j - 1;
    }
    }

    }
  • Bu kodu yazınca proje donuyor, herhangi bir hata da vermiyor. Yeni proje açıp şu şekilde deniyorum yine olmuyor.

    comboBox1.Items.Add("ad");
    comboBox1.Items.Add("ad");
    comboBox1.Items.Add("ad");
    comboBox1.Items.Add("ad");
    comboBox1.Items.Add("ad");

    int i, j;
    for (i = 0; i < comboBox1.Items.Count; i++) {
    for (j = i + 1; j < comboBox1.Items.Count - 1; i++) {
    if (comboBox1.Items == comboBox1.Items[j])
    {
    comboBox1.Items.Remove(j);
    j = j - 1;
    }
    }

    }
  • int i, j;
    for (i = 0; i < comboBox1.Items.Count; i++) {
    for (j = i + 1; j < comboBox1.Items.Count - 1; i++) {
    if ((comboBox1.Items == comboBox1.Items[j])&&(comboBox1.Items[j]!=""; ))
    {
    comboBox1.Items[j]="";
    j = j - 1;
    }
    }

    }
  • Possible unintended reference comparison; to get a value comparison, cast the left hand side to type 'string'
    Yazdığınız kodda remove ile ilgili bir şey de göremedim. Bu işin bu kadar uğraştıracağını tahmin etmemiştim



    < Bu mesaj bu kişi tarafından değiştirildi sesberk -- 11 Mayıs 2012; 17:09:52 >
  • Yapay Zeka’dan İlgili Konular
    Daha Fazla Göster
  • private void Form1_Load(object sender, EventArgs e)
    {

    comboBox1.Items.Add("asd");
    comboBox1.Items.Add("asd");
    comboBox1.Items.Add("asd");
    comboBox1.Items.Add("asd");
    comboBox1.Items.Add("asd");
    comboBox1.Items.Add("asd");
    comboBox1.Items.Add("asd");
    comboBox1.Items.Add("asd");
    comboBox1.Items.Add("asd");


    Hesapla();
    }

    void Hesapla()
    {
    for (int i = 0; i < comboBox1.Items.Count; i++)
    {
    for (int j = 0; j < comboBox1.Items.Count; j++)
    {
    if (i != j)
    {
    if (comboBox1.Items == comboBox1.Items[j])
    {
    comboBox1.Items.Remove(comboBox1.Items);
    Hesapla();
    break;
    }
    }
    }
    }
    }




  • Ne yazık ki buda işe yaramıyor.
  • quote:

    Orijinalden alıntı: welrocken

    private void Form1_Load(object sender, EventArgs e)
    {

    comboBox1.Items.Add("asd");
    comboBox1.Items.Add("asd");
    comboBox1.Items.Add("asd");
    comboBox1.Items.Add("asd");
    comboBox1.Items.Add("asd");
    comboBox1.Items.Add("asd");
    comboBox1.Items.Add("asd");
    comboBox1.Items.Add("asd");
    comboBox1.Items.Add("asd");


    Hesapla();
    }

    void Hesapla()
    {
    for (int i = 0; i < comboBox1.Items.Count; i++)
    {
    for (int j = 0; j < comboBox1.Items.Count; j++)
    {
    if (i != j)
    {
    if (comboBox1.Items == comboBox1.Items[j])
    {
    comboBox1.Items.Remove(comboBox1.Items);
    Hesapla();
    break;
    }
    }
    }
    }
    }

    Silme yerine mantıksız bir şey ata sildiğin zaman comboBox1.Items.Count değiştiği için C# hata veriyor.




  • Bu recursive oldugundan dediginiz hata burda olmaz.



    < Bu mesaj bu kişi tarafından değiştirildi welrocken -- 12 Mayıs 2012; 12:50:22 >
  • Ha verdigim kodu calistiramiyorsaniz o konuda yapabilecegim bisey yok bende calisiyor.
  • Recursive olan da çalışmıyor ama :'(
    Yoksa benim vs de sorun mu var
  • Bos bi projede dene belki veritabani projende sorun vardir
  • aynı düşünce ile birkaç defa denedim kodu.. void'in başına private yazmayı da denedim olmadı,çalışmıyor.



    < Bu mesaj bu kişi tarafından değiştirildi sesberk -- 12 Mayıs 2012; 17:14:39 >
  • Yapman gereken;
    form application olustur
    Tam olarak listBox1 adinda bir listbox olustur.
    Hesapla fonksiyonunun tamamini kopyala ve formunun kod blogu icine ({ } arasina) yerlestir.
    Daha sonra listboxina itemleri ekle.
    Ve sonra aktif bir yerden hesapla yi cagir. (ornegin bir tusun tiklanmasi, formun yuklenmesi gibi olaylar )
  • 
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.