Hallo,
ich habe mit dem unten gezeigten Code eine suchfunktion die mir auch gleich das oder die Ergebnisse im DGV farbig anzeigt.. das Problem was ich habe ist,
dass wenn ich eine Teilsuche mache wo nur nen teil einer Nummer vorhanden ist dann sucht er mir da nichts. Gibt es da eine einfache Lösung?
ich habe mit dem unten gezeigten Code eine suchfunktion die mir auch gleich das oder die Ergebnisse im DGV farbig anzeigt.. das Problem was ich habe ist,
dass wenn ich eine Teilsuche mache wo nur nen teil einer Nummer vorhanden ist dann sucht er mir da nichts. Gibt es da eine einfache Lösung?
VB.NET-Quellcode
- #Region "Suche im DataGridView"
- Private ReadOnly Property SelectedColor() As Color
- Get
- Return Color.BlueViolet 'Hintergrund Farbe der gefundenen Zelle
- End Get
- End Property
- Private ReadOnly Property SelectedForeColor() As Color
- Get
- Return Color.White 'Schrift Farbe der gefundenen Zelle
- End Get
- End Property
- Private Sub SetCellBackGroundToWhiteColor(ByVal dgv As DataGridView)
- Try
- For Rows As Integer = 0 To dgv.RowCount - 1
- dgv.Rows(Rows).DefaultCellStyle.BackColor = Color.White
- dgv.Rows(Rows).DefaultCellStyle.ForeColor = Color.Black
- Next
- Catch ex As Exception
- MessageBox.Show(ex.Message.ToString(), "Info")
- End Try
- End Sub
- Private Sub FindAndSelect(ByVal dgv As DataGridView, ByVal SearchWhat As String)
- If String.IsNullOrEmpty(SearchWhat) Then
- MessageBox.Show("Benoetigte Eingabe fehlt!", "Info")
- SetCellBackGroundToWhiteColor(dgv)
- Exit Sub
- End If
- Try
- With dgv
- SetCellBackGroundToWhiteColor(dgv)
- For Column As Integer = 0 To .ColumnCount - 1
- For Rows As Integer = 0 To .RowCount - 1
- If dgv(Column, Rows).Value IsNot Nothing AndAlso dgv(Column, Rows).Value.ToString().ToUpper = SearchWhat.ToUpper Then 'ToUpper sorgt für komplette großschreibung im Hintergrund
- .Rows(Rows).DefaultCellStyle.BackColor = SelectedColor()
- .Rows(Rows).DefaultCellStyle.ForeColor = SelectedForeColor()
- DataGridView1.FirstDisplayedScrollingRowIndex = Rows ' springt in die Zeile die markiert wurde
- End If
- Next
- Next
- End With
- Catch ex As Exception
- MessageBox.Show(ex.Message.ToString(), "Info")
- End Try
- End Sub
- Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
- With Me : .FindAndSelect(.DataGridView1, .TextBox1.Text) : End With
- End Sub
- #End Region