TREEVIEW - ESTRUTURAÇÃO E LOCALIZAÇÃO
                    Olá,
Não estou conseguindo achar onde estou errando para que quando efetuado a estruturação para em certo nivel.
Conforme a imagem em anexo se fazer com um arquivo abaixo ele abre ate o final. (arquivo basicamente tem cascata simples)
Já a imagem da direita, contem um nivel acima que conta com arquivos contidos em 3 niveis diferentes..
Acredito que estou dando uma volta muita grande para conseguir estruturar conforme os arquivos.
            Não estou conseguindo achar onde estou errando para que quando efetuado a estruturação para em certo nivel.
Conforme a imagem em anexo se fazer com um arquivo abaixo ele abre ate o final. (arquivo basicamente tem cascata simples)
Já a imagem da direita, contem um nivel acima que conta com arquivos contidos em 3 niveis diferentes..
Acredito que estou dando uma volta muita grande para conseguir estruturar conforme os arquivos.
Public Class Form1
    Public list As New List(Of Linha)
    Public Lid As Integer = 0
    Dim iPathDoc As String
	
Private MainSub()
        	
        Dim strDocName As String
        strDocName = oApprenticeApp.FileManager.GetFullDocumentName(txtFileName.Text, "Master")
        oApprenticeServerDoc = oApprenticeApp.Open(strDocName)
        iPathDoc = Microsoft.VisualBasic.Left(oApprenticeServerDoc.FullFileName, InStrRev(oApprenticeServerDoc.FullFileName, "\"))
		BuildTreeView()
        "Build child nodes
        SubNivel()               
    End Sub
    Sub SubNivel()
        Dim Final As Boolean = False
        "executa ate terminar toda a list,
        "devido a list nao incluir item de forma correta, se verifica a list item a item para garantir
        If list.Count <> 0 Then
            Do While Final = False
                For n = 0 To list.Count - 1
                    "verifica cada linha na list se o rgistro esta feito
                    If list(n).reg = False Then
                        "se false garante que o Final continue em False
                        Final = False
                        "já aproveita o item e executa
                        BuildTreeViewRef(list(n).pai, list(n).filho)
                    Else
                        "caso o item esteja em True.. segue assim
                        Final = True
                    End If
                Next
            Loop
        End If
    End Sub
    Private Sub BuildTreeView()
        "define o node que principal (topnode)
        Dim conj As TreeNode = TreeView1.Nodes.Add(oApprenticeServerDoc.FullFileName, oApprenticeServerDoc.DisplayName)
        Dim oRefFileDesc As ReferencedFileDescriptor
        For Each oRefFileDesc In oApprenticeServerDoc.ReferencedFileDescriptors
            If oRefFileDesc.DocumentType = Inventor.DocumentTypeEnum.kAssemblyDocumentObject Then
                conj.Nodes.Add(oRefFileDesc.FullFileName, oRefFileDesc.DisplayName, 0, 0)
                "add na list de cj
                "cria uma ordem para a list = Lid
                Lid = Lid + 1
                list.Add(New Linha(Lid, oApprenticeServerDoc.FullFileName, oRefFileDesc.FullFileName, False))
            Else
                conj.Nodes.Add(oRefFileDesc.FullFileName, oRefFileDesc.DisplayName, 1, 1)
            End If
        Next
    End Sub
    Private Sub BuildTreeViewRef(Painode As String, refDocName As String)
        "abrir arquivo recebido e local
        Dim oRefDoc As String
        oRefDoc = oApprenticeApp.FileManager.GetFullDocumentName(refDocName, "Master")
        Dim oAssyDoc As Inventor.ApprenticeServerDocument
        oAssyDoc = oApprenticeApp.Open(refDocName)
        "define o node onde será incluso o refDocname, = painode
        Dim Root() As TreeNode
        Root = TreeView1.Nodes.Find(Painode, True) "TreeView1.SelectedNode
        Dim SubCj() As TreeNode
        "verificar todas rotas do pai
        "If Root.Length > 1 Then
        For i = 0 To Root.Length - 1
            SubCj = Root(i).Nodes.Find(refDocName, True) "TreeView1.SelectedNode
            Dim oRefFileDesc As ReferencedFileDescriptor
            For Each oRefFileDesc In oAssyDoc.ReferencedFileDescriptors
                If oRefFileDesc.DocumentType = Inventor.DocumentTypeEnum.kAssemblyDocumentObject Then
                    SubCj(0).Nodes.Add(oRefFileDesc.FullFileName, oRefFileDesc.DisplayName, 0, 0)
                    Lid = Lid + 1
                    list.Add(New Linha(Lid, refDocName, oRefFileDesc.FullFileName, False))
                Else
                    SubCj(0).Nodes.Add(oRefFileDesc.FullFileName, oRefFileDesc.DisplayName, 1, 1)
                End If
            Next
        Next
        "verifica se realmente o item foi adicionado ao treeview
        For n = 0 To list.Count - 1
            If list(n).pai = Painode And list(n).filho = refDocName Then          
                list(n).reg = True           
            End If
        Next
    End Sub
	
Public Class Linha
    Public Property Id() As Integer
    Public Property filho() As String
    Public Property pai() As String
    Public Property reg As Boolean
    "Public Property FullPath As String " nao usado
    Public Sub New(ByVal _id As Integer, ByVal _pai As String, ByVal _filho As String, ByVal _reg As Boolean)
        Me.Id = _id
        Me.filho = _filho
        Me.pai = _pai
        Me.reg = _reg
        "Me.FullPath = _FullPath "nao usado
    End Sub
End Class
                    Nec vero in hoc quod est animal, sed in iis etiam quae sunt inanima, consuetudo valet, cum locis ipsis delectemur, montuosis etiam et silvestribus, in quibus diutius commorati sumus. tu autem, fanni, quod mihi tantum tribui dicis quantum ego nec adgnosco nec postulo, facis amice; sed, ut mihi videris, non recte iudicas de catone; aut enim nemo, quod quidem magis credo, aut si quisquam, ille sapiens fuit. quo modo, ut alia omittam, mortem filii tulit! memineram paulum, videram galum, sed hi in pueris, cato in perfecto et spectato viro.   per hoc minui studium suum existimans paulus, ut erat in conplicandis negotiis artifex dirus, unde ei catenae inditum est cognomentum, vicarium ipsum eos quibus praeerat adhuc defensantem ad sortem periculorum communium traxit. et instabat ut eum quoque cum tribunis et aliis pluribus ad
 per hoc minui studium suum existimans paulus, ut erat in conplicandis negotiis artifex dirus, unde ei catenae inditum est cognomentum, vicarium ipsum eos quibus praeerat adhuc defensantem ad sortem periculorum communium traxit. et instabat ut eum quoque cum tribunis et aliis pluribus ad
             per hoc minui studium suum existimans paulus, ut erat in conplicandis negotiis artifex dirus, unde ei catenae inditum est cognomentum, vicarium ipsum eos quibus praeerat adhuc defensantem ad sortem periculorum communium traxit. et instabat ut eum quoque cum tribunis et aliis pluribus ad
 per hoc minui studium suum existimans paulus, ut erat in conplicandis negotiis artifex dirus, unde ei catenae inditum est cognomentum, vicarium ipsum eos quibus praeerat adhuc defensantem ad sortem periculorum communium traxit. et instabat ut eum quoque cum tribunis et aliis pluribus adCitação:comitatum imperatoris vinctum perduceret: quo percitus ille exitio urgente abrupto ferro eundem adoritur paulum. et quia languente dextera, letaliter ferire non potuit, iam districtum mucronem in proprium latus.
                            Faça seu login para responder
                        
                    