TREEVIEW - ESTRUTURAÇÃO E LOCALIZAÇÃO

CRSTIANO 14/01/2023 20:23:09
#500947
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.

  
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
PEDROHCC4 22/01/2023 15:16:35
#500949
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
Citaçã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