Skip to main content

AccessTr.neT


VB.NET DataGridViev İçinde Arama Yapma

VB.NET DataGridViev İçinde Arama Yapma

#1
Merhaba.

Ben programımda datagridview içinde arama yapmak istiyorum elimde kod var fakat bi sorun var

TextBoxa girdigim degeri seçtirince sorun olmuyor ama girdigim deger harici olanları gizleyince sorun oluyor.

Sorunlu halini size veriyorum.

Kolay Gelsin.

Özür Dileyerek bir düzeltme yapmak istiyorum.

Projenin içindeki TextBox1 kodundaki kodlar bu şekilde olucak :

Try
           For Each rw As DataGridViewRow In DataGridView1.Rows

               Dim cumle As String
               cumle = rw.Cells(1).Value

               If (cumle.IndexOf(TextBox1.Text, StringComparison.InvariantCultureIgnoreCase) = 0) Then

                   rw.Visible = True

               Else
                   rw.Visible = False


               End If
           Next

       Catch ex As Exception
       End Try

Ve programı her açmanızda veritabanını sıfırlıyor.

kayıtları ekledikten sonra projeden degilde direk exeden açmanızı öneririm.
.rar wwww.rar (Dosya Boyutu: 196,23 KB | İndirme Sayısı: 17)
Son Düzenleme: 20/12/2016, 23:24, Düzenleyen: Mettleshade.
Cevapla
#2
TextBox1'in TextChanged olayına aşağıdaki kodları ekleyin:

Dim aranacak As String = TextBox1.Text

   Try

     For Each row As DataGridViewRow In DataGridView1.Rows

       If (String.IsNullOrEmpty(row.Cells(1).Value)) Then Exit For

       If row.Cells(1).Value.ToString().Equals(aranacak) Then

         row.Selected = True
         Exit For

       End If

     Next

   Catch ex As Exception

     MessageBox.Show(ex.Message)

   End Try

Form'un Load olayına alttaki kodu ekleyin:

DataGridView1.SelectionMode = DataGridViewSelectionMode.FullRowSelect

Arama kutusuna yazdığınız değer Eğer 1. sütunda yani ad soyad sütununda varsa o satır seçili hale gelecek.

Sorunuza göre bu şekilde cevap verdim ancak eğer veritabanından gelen veriler varsa -ki sizin örnekte var- Sql ile arama yapmak en güzelidir.
AccessTr.Net teknik konular içeren bir sitedir. Bu tip sitelerde en iyi şekilde yardım alabilmeniz için Site Kurallarını mutlaka okumanız ve buna göre hareket etmeniz lazım.
Cevapla
#3
(21/12/2016, 18:03)alpeki99 yazdı: TextBox1'in TextChanged olayına aşağıdaki kodları ekleyin:

Dim aranacak As String = TextBox1.Text

   Try

     For Each row As DataGridViewRow In DataGridView1.Rows

       If (String.IsNullOrEmpty(row.Cells(1).Value)) Then Exit For

       If row.Cells(1).Value.ToString().Equals(aranacak) Then

         row.Selected = True
         Exit For

       End If

     Next

   Catch ex As Exception

     MessageBox.Show(ex.Message)

   End Try

Form'un Load olayına alttaki kodu ekleyin:

DataGridView1.SelectionMode = DataGridViewSelectionMode.FullRowSelect

Arama kutusuna yazdığınız değer Eğer 1. sütunda yani ad soyad sütununda varsa o satır seçili hale gelecek.

Sorunuza göre bu şekilde cevap verdim ancak eğer veritabanından gelen veriler varsa -ki sizin örnekte var- Sql ile arama yapmak en güzelidir.

Peki hocam sonucu seçtirme degilde sonuç harici verileri gizleme nasıl yapmam gerekiyor ?
Cevapla
#4
Eğer bu yöntem ile gideceksen tavsiye edeceğim bir şey yok çünkü bu şekilde kullanmadığım için çok tecrübem yok. Klasik Ado.Net ya da Entity Framework ile kullanırsan daha kolay yardımcı olabilirim Img-grin
AccessTr.Net teknik konular içeren bir sitedir. Bu tip sitelerde en iyi şekilde yardım alabilmeniz için Site Kurallarını mutlaka okumanız ve buna göre hareket etmeniz lazım.
Cevapla
#5
(22/12/2016, 22:34)alpeki99 yazdı: Eğer bu yöntem ile gideceksen tavsiye edeceğim bir şey yok çünkü bu şekilde kullanmadığım için çok tecrübem yok. Klasik Ado.Net ya da Entity Framework ile kullanırsan daha kolay yardımcı olabilirim Img-grin

Hocam cahillik işte yeni yeni ögreniyorum Img-grin Img-grin

Daha kolay bir şekilde yaptım biraz beynimi kullanarak Lol

Dim dv As DataView = New DataView()
dv.Table = DatabaseDataSet.isimler
dv.RowFilter = "[AdiSoyadi] Like '" & TextBox1.Text & "%'"
DataGridView1.DataSource = dv

Bilmeyenler bilsin Img-grin

Teşekkür ederim hocam sizide ugraştırdım iyi günler Img-grin
Cevapla

Bir hesap oluşturun veya yorum yapmak için giriş yapın

Yorum yapmak için üye olmanız gerekiyor

ya da
Task