mertugruul Posted May 21, 2015 Share Posted May 21, 2015 (edited) Merhaba. listView'e no adında bir colon oluşturdum. Kullanıcı textBox'tan 1. eklemesini yapıyor. Daha sonra 2. eklemeye ihtiyaç duyuyor. Ekleme yaparken listView'de kayıtlı olan bir itemin Text'i ile aynı ekliyor. Bunu kontrol ettirmek istiyorum ama nasıl? Bir çok örneklere baktım. Baktıklarım ise sadece arama yapma idi. Bir örnek verebilirmisiniz? Edited May 21, 2015 by mertugruul Quote Link to comment Share on other sites More sharing options...
Editor pairs Posted May 21, 2015 Editor Share Posted May 21, 2015 Aynı kayıt var ise eklememesinimi istiyorsunuz onu anlayamadım. Quote Link to comment Share on other sites More sharing options...
mertugruul Posted May 21, 2015 Author Share Posted May 21, 2015 Aynı kayıt var ise eklememesinimi istiyorsunuz onu anlayamadım. Evet. Quote Link to comment Share on other sites More sharing options...
Editor pairs Posted May 21, 2015 Editor Share Posted May 21, 2015 if (!listView1.Items.ContainsKey("aranacak olan uniq anahtar")) { //ekleme komutları } Quote Link to comment Share on other sites More sharing options...
mertugruul Posted May 21, 2015 Author Share Posted May 21, 2015 (edited) if (!listView1.Items.ContainsKey("aranacak olan uniq anahtar")) { //ekleme komutları } Yapamadım. Denemiştim daha önceden ContainsKey ile de. Normal kullandığımda sıkıntı yok Contains ve ContainsKey metodlarını. Ama listView içerisinde itemlerin hepsine baktırıyorum foreach ile o zaman sıkıntı oluyor. Ben size şöyle göstereyim kodları. private void button1_Click(object sender, EventArgs e) { string no = Convert.ToString(textBox1.Text); foreach (ListViewItem x in listView1.Items) { if(x.Text.Contains(no) == true) { MessageBox.Show("Aynı no var."); break; } else { listView1.Items.Add(no); break; } } } Bunda acaba listView ilk başta boş olduğu için mi ekleme yapmıyor. Zaten koduma baktığımda mantıkende hata yapıyorum. Mesela attım örneğin, listView'de 5 tane item var. 3. sıradaki itemim ile aynı benim textBox'tan yazdığım no mesela. Ama foreach döngüsü 1.sıraya bakıyor aynı itemi görmediği için 1 kere ekliyor ve döngüden tamamen çıkıyor. Ama 3.sırada aynı item vardı. Burada sanırım mantık hatası yapıyorum. Mantığını anlayamadım bir türlü. Birde if parantezinin içine ! operatörünü koymuşunuz. Böyle kullanımını gördüm ama pek kullanmadım. ContainsKey metodu geriye bool türden değer döndürdüğü için false yerine mi yazdınız bu operatörü? Edited May 21, 2015 by mertugruul Quote Link to comment Share on other sites More sharing options...
KintaRo Posted May 21, 2015 Share Posted May 21, 2015 sanırım şu örnek işinizi görür: https://yadi.sk/d/Qb2AjEnognVMX Quote Link to comment Share on other sites More sharing options...
mertugruul Posted May 21, 2015 Author Share Posted May 21, 2015 (edited) sanırım şu örnek işinizi görür: https://yadi.sk/d/Qb2AjEnognVMX Öncelikle eline sağlık hocam. Amma ve lakin Form1_Load'a item girmişssin. Öle de bir sıkıntı yok :D Asıl sıkıntı diyelim ki listView bomboş. O zaman nasıl listView'e item ekleyeceğiz ve kontrol ettirecez? Edited May 21, 2015 by mertugruul Quote Link to comment Share on other sites More sharing options...
KintaRo Posted May 21, 2015 Share Posted May 21, 2015 tamam Form1 Load eventindeki kodları silin, sadece ListView.Columns.Add(); kodları kalsın. yani sadece sütunlar oluşturulsun. Gerisinde mantık aynı. Textboxa veri girip ekleme yapabilirsiniz. Quote Link to comment Share on other sites More sharing options...
mertugruul Posted May 21, 2015 Author Share Posted May 21, 2015 tamam Form1 Load eventindeki kodları silin, sadece ListView.Columns.Add(); kodları kalsın. yani sadece sütunlar oluşturulsun. Gerisinde mantık aynı. Textboxa veri girip ekleme yapabilirsiniz. Şimdi oldu teşekkür ederim yardımlarınız için. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.