Child-Nodes hinzufügen
[Visual Basic] Private Sub RecursivelyLoadNode( _
ByVal oDataRow As DataRow, _
ByRef oNode As TreeNode, _
ByVal type As String, _
ByVal Details As Integer, _
ByVal AktiveVertraege As CheckState _
)
[Visual Basic] Private Sub RecursivelyLoadNode(ByVal oDataRow As DataRow, ByRef oNode As TreeNode, ByVal type As String, ByVal Details As Integer, ByVal AktiveVertraege As CheckState)
Dim oChildRow As DataRow
For Each oChildRow In oDataRow.GetChildRows("SelfRefenceRelation")
Dim oChildNode As New TreeNode()
Dim Fremdstruktur As Boolean = False
oChildNode.Text = oChildRow("Bezeichnung").ToString()
Dim i As Integer = oChildRow("vertragselementnr")
Try
If oChildRow("vertragstypnr") <> oChildRow("basevertragstypnr") * -100 Then Fremdstruktur = True
If i > 100000 Then
'Fremdstruktur = True
i = oChildRow("vertragselementnr")
i = i - 100000
i = oChildRow("vertragselementnrursprung")
oChildNode.Tag = New Treenode_Descriptor("Vertragselement", i.ToString(), xVertragspartnernr, oDataRow("vertragstypnr").ToString)
oChildNode.ToolTipText = oChildRow("Vertragselementnr")
Else
oChildNode.Tag = New Treenode_Descriptor("Vertragselement", oChildRow("Vertragselementnr").ToString(), xVertragspartnernr, oDataRow("vertragstypnr").ToString)
oChildNode.ToolTipText = oChildRow("Vertragselementnr")
End If
Catch
oChildNode.Tag = New Treenode_Descriptor("Vertragselement", oChildRow("Vertragselementnr").ToString(), xVertragspartnernr, oDataRow("vertragstypnr").ToString)
End Try
If oChildRow("Aktiv") = 0 Then
If Fremdstruktur Then
oChildNode.ImageIndex = 10
oChildNode.SelectedImageIndex = 10
oChildNode.StateImageIndex = 10
Else
oChildNode.ImageIndex = 8
oChildNode.SelectedImageIndex = 8
oChildNode.StateImageIndex = 8
End If
oChildNode.NodeFont = Me.fnt_Strikeout
Else
If Fremdstruktur Then
oChildNode.ImageIndex = 9
oChildNode.SelectedImageIndex = 9
oChildNode.StateImageIndex = 9
Else
oChildNode.ImageIndex = 2
oChildNode.SelectedImageIndex = 2
oChildNode.StateImageIndex = 2
End If
oChildNode.NodeFont = Me.fnt_normal
End If
Select Case AktiveVertraege
Case CheckState.Checked
If oChildRow("Aktiv") = True Then oNode.Nodes.Add(oChildNode)
Case CheckState.Unchecked
If oChildRow("Aktiv") = False Then oNode.Nodes.Add(oChildNode)
Case Else
oNode.Nodes.Add(oChildNode)
End Select
RecursivelyLoadNode(oChildRow, oChildNode, type, Details, AktiveVertraege)
Next oChildRow
End Sub
Plattformen: Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition