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 - Ein- und Umsteiger
Re: Datagridview Currentcell und Select 
Autor: Manfred X
Datum: 27.06.18 15:50

Hallo!

Falls Du unbedingt neu laden mußt,
hier ein Beispiel zum Speichern der Schlüsselwerte des
aktuellen Satzes und zum Finden des entsprechenden Satzes
in der Datenquelle (Datatable), z.B. nach dem Neuladen.
Public Class frmFindRow
 
    Dim dt As New DataTable
    Dim bs As New BindingSource
 
    Dim dgv As New DataGridView With
        {.Parent = Me, .DataSource = bs, 
        .Size = New Drawing.Size(500, 400),
        .AllowUserToAddRows = False}
 
    Dim WithEvents btnSetRow As New Button With
        {.Parent = Me, .Text = "Notiere Satz", 
         .Top = 410, .Width = 150}
 
    Dim WithEvents btnFindRow As New Button With
        {.Parent = Me, .Text = "Markiere Satz", 
         .Top = 410, .Width = 150, .Left = 160}
 
    'Klasse, um Schlüsselwerte zu speichern
    Private Class RowKey
        Public Name As String = ""
        Public Vorname As String = ""
        Public Ort As String = ""
        Public Strasse As String = ""
        Public Nummer As Integer
    End Class
 
    'Für die Schlüsselwerte des zuletzt notierten Satzes
    Dim CurrentRowkey As RowKey = New RowKey
 
 
    Private Sub frmFindRow_Load(sender As Object, 
                    e As EventArgs) Handles MyBase.Load
 
        Me.Size = New Size(520, 480)
 
        'Testdaten erstellen
        With dt
            With .Columns
                .Add("Name", GetType(String))
                .Add("Vorname", GetType(String))
                .Add("Ort", GetType(String))
                .Add("Strasse", GetType(String))
                .Add("Nummer", GetType(String))
            End With
 
            .PrimaryKey = 
           {.Columns(0), .Columns(1), .Columns(2), .Columns(3), .Columns(4)}
 
            With .Rows
                .Add("Albert", "Wolfgang", "Brüssel", "xyz", 12)
                .Add("Alberti", "Dieter", "München", "xyz", 22)
                .Add("Meyer", "Dieter", "München", "xyz", 22)
                .Add("Albert", "Magnus", "München", "abc", 44)
                .Add("Albert", "Wolfgang", "Brüssel", "xyz", 32)
                .Add("Alberti", "Dieter", "München", "xyz", 52)
                .Add("Meyer", "Dieter", "München", "xyz", 21)
                .Add("Albert", "Magnus", "München", "abc", 45)
            End With
        End With
 
        'Datenbindung 
        bs.DataSource = dt
    End Sub
 
 
    Private Sub btnSetRow_Click(sender As Object, 
                      e As EventArgs) Handles btnSetRow.Click
 
 
        'Aktuelle Zeile: Schlüsselwerte notieren
        Dim cr As DataGridViewRow = dgv.CurrentRow
        With CurrentRowkey
            .Name = cr.Cells("Name").Value.ToString
            .Vorname = cr.Cells("Vorname").Value.ToString
            .Ort = cr.Cells("Ort").Value.ToString
            .Strasse = cr.Cells("Strasse").Value.ToString
            .Nummer = CInt(cr.Cells("Nummer").Value)
        End With
    End Sub
 
 
    Private Sub btnFindRow_Click(sender As Object, 
                e As EventArgs) Handles btnFindRow.Click
 
        'Zeile in der Datenquelle suchen
        Dim dr As DataRow
        With CurrentRowkey
            dr = dt.Rows.Find 
              ({ .Name, .Vorname, .Ort, .Strasse, .Nummer})
        End With
        If dr Is Nothing Then
            MsgBox("Schlüssel nicht gefunden")
            Exit Sub
        End If
 
        'Zeilenposition im der Bindingsource ermitteln
        Dim index As Integer = -1
        Dim found As Boolean
        Do
            index += 1
            found = DirectCast(bs(index), DataRowView).Row.Equals(dr)
        Loop While Not found And index < bs.Count - 1
 
        If found Then bs.Position =index
    End Sub
End Class
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Datagridview Currentcell und Select4.205Vaubehnet25.06.18 11:18
Re: Datagridview Currentcell und Select2.898effeff25.06.18 13:41
Re: Datagridview Currentcell und Select2.896Vaubehnet25.06.18 14:28
Re: Datagridview Currentcell und Select2.855Manfred X25.06.18 15:40
Re: Datagridview Currentcell und Select2.806Vaubehnet27.06.18 08:07
Re: Datagridview Currentcell und Select2.823Manfred X27.06.18 09:25
Re: Datagridview Currentcell und Select2.807Vaubehnet27.06.18 10:21
Re: Datagridview Currentcell und Select2.829Manfred X27.06.18 10:45
Re: Datagridview Currentcell und Select2.783Vaubehnet27.06.18 11:17
Re: Datagridview Currentcell und Select2.855Manfred X27.06.18 15:50
Re: Datagridview Currentcell und Select2.814Vaubehnet29.06.18 10:57

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