vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Brandneu! sevEingabe v3.0 - Das Eingabecontrol der Superlative!  
 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
Zwei Treeviews vergleichen 
Autor: Manfred X
Datum: 22.06.17 20:37

Die Suche nach abweichenden Knotenpfaden funktioniert also in Deinem Sinn.
Der Vergleich ist einfach als "rekursive Doppelschleife" programmiert,
d.h. die Performance ist zwar gering, aber es werden auch Korrespondenzen
gefunden, wenn Datenabschnitte verschoben sind oder einzelne Einträge fehlen.

Ich hatte übersehen, daß Du (auch) den zugehörigen HQR-Knoten markieren willst.
Füge zu diesem Zweck z.B. folgende Routine hinzu:
Private Function GetLevel0Node(ByVal tn As TreeNode) As TreeNode
   Dim ret As TreeNode = tn
   While ret.Parent IsNot Nothing
      ret = ret.Parent
   End While
   Return ret
End Function
Knoten in einem Treeview sind natürlich keine Strings, sondern treenode-Objekte.

Erstelle auf Formularebene (wo im obigen Formular-Beispiel "nodeclicked"
deklariert ist), folgende Variable (Klasseninstanzen):
'Für nicht identische Knoten-Verweise
Dim notfound_nodes As New List(Of TreeNode) 
Dim notfound_text As New System.Text.StringBuilder
Erweitere die Routine "CompareTreeValues" um einige Zeilen:
Private Sub CompareTreeValues(ByVal tnbase As TreeNode, _
            searchtree As TreeNodeCollection)
 
    Dim tnfound As TreeNode = _
        FindNodeByFullPath(searchtree, tnbase.FullPath)
 
    With tnbase
 
       If tnfound Is Nothing Then
          .BackColor = Color.Red
          .ForeColor = Color.White
 
          'zugehörigen HGR-Knoten markieren
          Dim tnlevel0 As TreeNode = GetLevel0Node(tnbase)
          tnlevel0.BackColor = Color.Green 
 
          'Verweis auf Knoten in trv1, der nicht trv2 entspricht
          'in der Liste anhängen 
          notfound_nodes.Add(tnbase)
 
       Else
          .BackColor = Color.White
          .ForeColor = Color.Black
       End If
    End With
End Sub
Anwendung nach dem Füllen der Treeviews:
NextNode(trv1.Nodes)
 
notfound_text.Clear()
For i As Integer = 0 To notfound_nodes.Count - 1
    'In dieser Liste kannst Du auf String-Eigenschaften der nicht
    'gefundenen Knoten zugreifen z.b. FullPath, Text, Name, ... 
    'und sie im Stringbuilder anhängen  
    notfound_text.Append(notfound_nodes(i).FullPath & vbNewLine)
Next i
Den Inhalt dieses "Stringbuilders" kannst Du per "ToString"-Methode
z.B. auf die Text-Eigenschaft einer Textbox zuweisen.

Beitrag wurde zuletzt am 22.06.17 um 20:48:14 editiert.
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
ini in Treeview einlesen3.612schwesig28.03.17 21:03
Re: ini in Treeview einlesen2.472Franki29.03.17 03:49
Re: ini in Treeview einlesen2.569schwesig29.03.17 05:26
Re: ini in Treeview einlesen2.458Manfred X29.03.17 07:38
Beispiel irgendwie ????2.563Manfred X29.03.17 08:09
Re: Beispiel irgendwie ????2.497schwesig29.03.17 20:18
Re: Beispiel irgendwie ????2.525Manfred X29.03.17 21:46
Re: Beispiel irgendwie ????2.332effeff08.04.17 17:26
Re: ini in Treeview einlesen2.363Franki30.03.17 02:32
Re: ini in Treeview einlesen2.384Manfred X30.03.17 11:05
Re: ini in Treeview einlesen2.345schwesig30.03.17 17:10
Treeview editieren2.541Manfred X30.03.17 17:53
Re: Treeview editieren2.490schwesig30.03.17 18:07
Re: Treeview editieren2.418Manfred X30.03.17 18:51
Re: ini in Treeview einlesen2.318Franki31.03.17 03:08
Windows-Ini ?2.434Manfred X31.03.17 08:12
Re: Windows-Ini ?2.494Franki01.04.17 04:31
Re: Windows-Ini ?2.325Manfred X01.04.17 08:48
Re: Windows-Ini ?2.348Franki08.04.17 05:01
Re: Windows-Ini ?2.488Manfred X08.04.17 12:07
Re: Windows-Ini ?2.426Franki10.04.17 04:17
Re: Windows-Ini ?2.288effeff11.04.17 09:00
Re: Windows-Ini ?2.276Franki13.04.17 03:04
Re: ini in Treeview einlesen2.287schwesig13.04.17 06:40
Re: ini in Treeview einlesen2.385Manfred X13.04.17 08:35
Re: ini in Treeview einlesen2.283schwesig13.04.17 09:10
Re: ini in Treeview einlesen2.364Manfred X13.04.17 09:23
Re: ini in Treeview einlesen2.360schwesig13.04.17 09:28
Re: ini in Treeview einlesen2.321Manfred X13.04.17 09:40
Re: ini in Treeview einlesen2.080schwesig21.06.17 20:48
Zwei Treeviews vergleichen2.307Manfred X22.06.17 09:22
Re: ini in Treeview einlesen2.062schwesig22.06.17 19:17
Zwei Treeviews vergleichen2.175Manfred X22.06.17 20:37
Re: ini in Treeview einlesen2.178schwesig22.06.17 22:19
Re: ini in Treeview einlesen2.076Manfred X22.06.17 22:53
Re: ini in Treeview einlesen2.080schwesig23.06.17 19:12
Re: ini in Treeview einlesen2.186Manfred X24.06.17 07:31
Re: ini in Treeview einlesen2.039schwesig24.06.17 09:40
Re: ini in Treeview einlesen2.097Manfred X24.06.17 13:39
Größe ändern2.126schwesig25.06.17 19:56
Re: Größe ändern2.094Manfred X25.06.17 21:58
Re: Größe ändern2.132schwesig26.06.17 18:47
Schlüssel-Auswahl in Knoten eintragen2.213Manfred X26.06.17 20:35
Re: Schlüssel-Auswahl in Knoten eintragen2.091schwesig29.06.17 20:40
Re: Schlüssel-Auswahl in Knoten eintragen2.159Manfred X29.06.17 23:47
Re: Schlüssel-Auswahl in Knoten eintragen2.021schwesig04.08.17 12:25
Re: Schlüssel-Auswahl in Knoten eintragen2.006Manfred X04.08.17 14:10
Re: Größe ändern1.966schwesig04.08.17 15:44
Re: Größe ändern1.839schwesig05.08.17 17:40

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