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