vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
SEPA-Dateien erstellen inkl. IBAN-, BLZ-/Kontonummernprüfung  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Fortgeschrittene
Beispiel für Suchen/Markieren 
Autor: Manfred X
Datum: 29.05.17 20:46

Public Class frmMultiSearch
 
    Dim WithEvents mtbo As New MaskedTextBox With _
        {.Parent = Me, .Width = 80}
 
    Dim dt As New DataTable
 
    Dim bs As New BindingSource
    Dim WithEvents dgv As New DataGridView With _
        {.Parent = Me, .Size = New Size(400, 400), .Top = 50, _
         .DataSource = bs, _
         .AllowUserToAddRows = False}
 
    Dim search_columnindex As Integer = 1 'Die kritische Spalte
 
    Dim searchlist As New List(Of String) 'Liste der Suchbegriffe
 
 
    Private Sub frmMultiSearch_Load(sender As System.Object, _
                    e As System.EventArgs) Handles MyBase.Load
 
        Me.Size = New Size(450, 500)
 
        mtbo.TextMaskFormat = MaskFormat.ExcludePromptAndLiterals
        mtbo.Mask = ">LLLL0LL"  'Eingabemaske für Suchstring
 
        'Die oben gegebenen Daten irgendwie in die Datatable ..... 
        For i As Integer = 0 To 4
            dt.Columns.Add("SP_" & CStr(i))
        Next i
 
        Dim lines() As String = IO.File.ReadAllLines("C:\daten\ex_xls.txt")
        For Each line As String In lines
            Dim fields() As String = line.Split(" "c)
            Dim k As Integer = -1
            Dim row As DataRow = dt.NewRow
            For Each field As String In fields
                If Not field.Trim = "" AndAlso k < 4 Then
                    k += 1
                    row(k) = field
                End If
            Next
            dt.Rows.Add(row)
        Next
 
        bs.DataSource = dt
    End Sub
 
 
    Private Sub mtbo_KeyDown(sender As Object, _
                e As System.Windows.Forms.KeyEventArgs) Handles mtbo.KeyDown
 
        If e.KeyCode = Keys.Return Then
            If Not mtbo.MaskFull Then
                Dim ret As MsgBoxResult = _
                    MsgBox("Keine vollständige Such-Eingabe", _
                    MsgBoxStyle.OkCancel)
                If ret = MsgBoxResult.Cancel Then Exit Sub
            End If
 
            'Anzahl der gefundenen Zeilen (incl. bereits markierte)
            Dim row_found As Integer = _
                   Aggregate row As DataRow In dt.AsEnumerable _
                      Where row(search_columnindex).ToString.StartsWith( _
                      mtbo.Text) _
                   Into Count()
 
            MsgBox(row_found.ToString & " Zeilen gefunden")
 
            If row_found > 0 AndAlso Not searchlist.Contains(mtbo.Text) Then
               searchlist.Add(mtbo.Text)
               dgv.InvalidateColumn(search_columnindex)
            End If            
        End If
    End Sub
 
 
    Private Sub dgv_CellPainting(sender As Object, _
                  e As System.Windows.Forms.DataGridViewCellPaintingEventArgs) _
            Handles dgv.CellPainting
 
        If e.RowIndex = -1 Or e.ColumnIndex = -1 Then Exit Sub
 
        Dim vl As String = _
            dgv.Rows(e.RowIndex).Cells(e.ColumnIndex).Value.ToString
 
        'Entspricht der Zellwert einem Suchbegriff (Startswith)
        Dim searched As Boolean
        For i As Integer = 0 To searchlist.Count - 1
            searched = vl.StartsWith(searchlist(i))
            If searched Then Exit For
        Next i
 
        If searched Then
            'Zelle gelb markieren
            Using bry As New SolidBrush(Color.Yellow)
                e.Graphics.FillRectangle(bry, e.CellBounds)
            End Using
            e.Paint(e.CellBounds, DataGridViewPaintParts.Border)
            e.Paint(e.CellBounds, DataGridViewPaintParts.ContentForeground)
            e.Handled = True
        End If
    End Sub
End Class


Beitrag wurde zuletzt am 29.05.17 um 20:52:19 editiert.
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Programm Code Abgleich XLS2.203ERBRU29.05.17 08:26
Re: Programm Code Abgleich XLS1.272Manfred X29.05.17 11:09
Re: Programm Code Abgleich XLS1.214ERBRU29.05.17 12:55
Re: Programm Code Abgleich XLS1.397ERBRU29.05.17 13:56
Re: Programm Code Abgleich XLS1.261Manfred X29.05.17 17:00
Re: Programm Code Abgleich XLS1.297ERBRU29.05.17 17:47
Re: Programm Code Abgleich XLS1.288Manfred X29.05.17 18:28
Re: Programm Code Abgleich XLS1.205ERBRU29.05.17 18:43
Re: Programm Code Abgleich XLS1.226Manfred X29.05.17 19:18
Re: Programm Code Abgleich XLS1.169ERBRU29.05.17 19:31
Beispiel für Suchen/Markieren1.202Manfred X29.05.17 20:46
Re: Beispiel für Suchen/Markieren1.216Manfred X29.05.17 21:40
Re: Beispiel für Suchen/Markieren1.299ERBRU29.05.17 21:51
Re: Beispiel für Suchen/Markieren1.286ERBRU30.05.17 09:14
Re: Beispiel für Suchen/Markieren1.253Manfred X30.05.17 09:32
Re: Beispiel für Suchen/Markieren1.138ERBRU30.05.17 15:40
Re: Beispiel für Suchen/Markieren1.283Manfred X30.05.17 17:54
Re: Beispiel für Suchen/Markieren1.194ERBRU30.05.17 19:23
Re: Programm Code Abgleich XLS1.171ERBRU02.06.17 12:29

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2024 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel