[C#] ListView Kontrolü

Herkese Merhaba,
Bu yazımda sizlere listview kontrolünün kullanımından bahsedeceğim ve basit bir uygulama yapacağım.
ListView kontrolü kullanımı çok geniş bir nesnedir. 5 türde gösterim seçeneği mevcuttur. En genel kullanımı Details’dir. Ben de bu yazımda buna değineceğim.
ListView kontrolünü seçtikten sonra sağ üst köşesinde smart tag belirecektir. Bu tag ile listView e ait birçok işlemi gerçekleştirebiliriz. ListView kullanım amacımız tuttuğumuz listeyi kolonlar halinde görmek istemektir. Yani kullanıcıya güzel ve ferah bir arayüzü sunmaktır. Kolon dedik peki kolon nedir açıklayacak olursak,girilen her bilgi aslında bir kolona aittir, adını koymak bize kalmıştır. Örneğin kullanıcıların T.C Kimlik No’sunu gördüğü kolona ben TCKN diyebilirim. Yani altında bulunan alanlarda T.C kimlik numaraları yer almaktadır.Bu şekilde verileri düzenli bir şekilde listeleyebiliriz. ListBox’dan farkı da budur.
Windows’da en sık gördüğümüz kontroldür aslında. Bir klasör açtığımızda ve içine girdiğimizde ortada boş geniş bir alan görürüz. bu alan listviewdir.
ListView’ler ListViewItem türünden nesneler saklarlar.
Aşağıda ListView Kontrolünü anlatan bir uygulama geliştireceğiz. VS 2010 ile bir proje oluşturup formu aşağıdaki şekilde yerleştiriniz.
Doğum tarihini tutacak alan DataTimePicker’dır.

Siz listview eklediğinizde görünüm aşağıdaki şekilde olmayacaktır. Diğer adımlarda listviewi düzenliyeceğiz.

ListView kontrolünü seçtikten sonra sağ üst kısımda smart tag denilen yapıya tıklayıp listview task penceresini açalım.

Aşağıdaki pencerede “View:” yazısına karşılık gelen combobox kontrolüdür. Bu kontrolden Details özelliğini seçelim ve Edit Columns butonuna tıklayalım.

Add butonuna tıklayarak yeni bir kolon oluşturmalıyız.5 tane kolon oluşturup isimlerini aşağıdaki şekilde verip , ekranda görülecek yazıyı da text özelliği ile değiştirebiliriz.

OK butonuna tıklayarak işlemi bitiriyoruz. Sizde hala ızgaralar çıkmamıştır. Bunun için F4 e basarak properties penceresine geçip GridLines özelliğini “true” yapmalıyız.

Görsel kısım bitti. Artık Kod kısmına geçebiliriz.
Ekle butonunu seçip F4 ile properties penceresine geçtikten sonra Text özelliği ile Ekranda gösterilen buton ismini değiştirebiliriz. Bu diğerleri için de geçerlidir. Properties penceresinde şimşek şeklinde bir buton vardır. Events’leri gösterir. Butona tıklı olduğunda varsaylan event olarak Click olayı gelecektir. Karşısına bir isim verip enter yaptığımızda bu butona tıklandığında işlemler yaptıracak bir metod oluşturacaktır.

Bu metoda aşağıdaki kodları yazalım.

	ListViewItem li = new ListViewItem();
	// ilk kolon text kolonudur. simge görünümünde de buraya yazdığımız görünür.
	li.Text = textBoxTCKN.Text;
	// ikinci ve daha sonraki kolonlar sub items olarak geçer ve sırayla verilmelidir. 
	// sırası yanlış verilirse yanlış yerde görüntülenir.
	li.SubItems.Add(textBoxIsim.Text); 
	li.SubItems.Add(textBoxSoyisim.Text);

	// Datetime nesnesini (datetimepicker in value özelliği datetime tipindedir) 
	// string tipine çevireceğimizde ToString() metodu 
	// Gün Ay Yıl Saat Dakika Saniye Milisaniye şeklinde herşeyi yazdığı için 
	// alternatif olarak ToLongDateString() ToShortDateString() 
	// ToLongTimeString() ve ToShortTimeString() diye ekstra 4 metot getirilmiştir.
	li.SubItems.Add(dateTimePickerDogumTarihi.Value.ToShortDateString());
	li.SubItems.Add(textBoxTelefon.Text);
	//Listview item oluşturuldu artık bunu listview nesnesine eklemeliyiz.
	listView1.Items.Add(li);

	textBoxIsim.Clear();//isim textbox'ını temizler
	textBoxTCKN.Clear();
	textBoxTelefon.Clear();
	textBoxSoyisim.Clear();
	//dateTimePicker a şimdiki zamanı atar.
	dateTimePickerDogumTarihi.Value = DateTime.Now;
	 // TCKN textbox'ına odaklanır.
	textBoxTCKN.Focus();

Sil butonuna çift tıklayarak click metoduna aşağıdaki kodları yazıyoruz:

            // eğer listview de bir satır seçilmişse işlem yap
            if (listView1.SelectedItems != null)
            {
                // seçili satırlardan ilk satırı siler.
                listView1.Items.Remove(listView1.SelectedItems[0]);
            }

Çoklu sil butonunun click eventine de aşağıdaki kodları yazıp uygulamamızı sonlandırıyoruz.

            // seçilen nesneleri siler.
            foreach (ListViewItem item in listView1.SelectedItems)
            {
                listView1.Items.Remove(item);
            }

Uygulamadan bir ekran görüntüsü :

Bu yazım da buraya kadar. Bir sonraki yazımda görüşmek dileğiyle.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir