Listview’i sevenler derneği açılsa üye olan ilk insan ben olurum herhalde. Bir kontrol bu kadar sevilmez… Neyse konuya dönelim, database den listview çekilen onlarca veri içinde listview üzerinden silme işlemi yaptığınızda db den verinin silindiğini gösterebilmek için listview i bir şekilde yenileriz.
Listview üzerin herhangi bir elemanı sildikten sonra focus alanı listview listesinin en başındaki elemana focuslanır. Örnek verecek olursak, e-posta adresimizdeki 30. sıradaki bir maili sildiğimizde otomatik olarak bir sonraki mail işaretlenir yani focus olur. Ancak bu olay listview de müdahele etmeden yapılamıyor.
Mevzuyu anlatabildiysem listview e eleman nasıl eklenir, nasıl silinir, silinen elemandan sırasına göre elemana nasıl focus edilir görelim. Resimdeki gibi bir form ekranı düzenleyip listview e eleman ekleme kodu ile başlayalım.
Listview e eleman eklemek için;
[cc lang=’csharp’ ] private void btnEkle_Click(object sender, EventArgs e)
{
ListViewItem lv = new ListViewItem();
lv.Text = txtAdi.Text;
lv.SubItems.Add(txtSoyadi.Text);
listView1.Items.Add(lv);
}[/cc]
Listviewden sıralı eleman silmek için;
[cc lang=’csharp’ ] private void btnSil_Click(object sender, EventArgs e)
{
int secilenEleman = 0;
if (listView1.Items.Count > 0)
{
secilenEleman = listView1.SelectedItems[0].Index;
}
listView1.SelectedItems[0].Remove();
listView1.Focus();
listView1.Items[secilenEleman].Selected = true;
}[/cc]
Hali hazırda örneği indirmek için alttaki bağlantıyı kullanabilirsiniz.
[wpdm_file id=9]