Listview Detaylı Arama Yapma
merhaba arkadaşlar bu gün sizlere listview içerisinde detaylı arama yapma ve normal arama yapma kutusunu nasıl yapacağımızı anlatacağım .
listview arama konusunda pek bilgi olmadığını gördüüm bende listedeki itemleri ve sub itemlerini alıp aramak isteidğimiz kelimeler ile karşılaştırıp focus veren küçük bir kod yazdım . Bu kodu kendiniz geliştirebilir aranan kelimeye focus vermek yerine üst sıraya taşımak gibi işlemler yapabilir aynı zamanda arama sonucu bulunmadığında listedeği verileri temizleyip filtreleme yapabilirsiniz .
Listview Detaylı Arama Yapma
Kodun geliştirme kısmı size kalmış detaylı arama ve normal arama olmak üzere iki kısımdan oluşan bir kod bulunmakta . Geliştirme yapmak istediğiniz yöntemi eğer başaramazsanız yorum olarak yazın . Biz size geri dönüş yapalım ve sizin için gerekli olan doğru kodu yazalım 🙂 . Listview nesnesi item ve sub item dediğimiz iki paramatreden ve bir column objesinden oluşmaktadır . itemler kolonlardaki her bir değer olmakta . Sub item ise item içerisinde bulunan diğer veriler olmaktadır . Bu konuda bilgi sahibi değilseniz şöyle açıklayalım.
Kolon içerisine item , item içerisine subitem verisi yazılmaktadır . Columns>İtem>Subitem . Jsondaki Children olayına benzetilebilir . Liste ağaçlandırmadada kullanılan yapılar her zaman children olayı ile alta doğru dallanmaktadır . Webbrowser nesnelerindeki taglar içerisindeki yapılar gibidir. Class içerisinde bir <td> ve onun içinde bir değer Class kısmının children bölümü olmaktadır . Fazla uzatmadan koda geçelim .
Tanım : Detaylı aramayı kaldırmak istiyorsanız kod içerisindeki yorum satırları arasını silebilirsiniz.
Kod Kullanımı :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
Sub aramayap(ByVal metin As String, Listview As ListView) Dim aranacakkelime As String = metin Dim ilkkelime As String = Mid(aranacakkelime, 1, 1) ListView1.SelectedIndices.Clear() For Each lvi As ListViewItem In ListView1.Items For Each lvisub As ListViewItem.ListViewSubItem In lvi.SubItems ‘ Hasssas arama yapabilmek istemiyorsanız burayı silebilirsiniz If ilkkelime = Mid(lvisub.Text, 1, 1) Then ListView1.SelectedIndices.Add(lvi.Index) End If ‘ Hasssas arama yapabilmek istemiyorsanız burayı silebilirsiniz If lvisub.Text = aranacakkelime Then ListView1.SelectedIndices.Add(lvi.Index) Exit For End If Next Next ListView1.Focus() End Sub |