520 lines
20 KiB
VB.net
520 lines
20 KiB
VB.net
Imports System
|
|
Imports System.Data
|
|
Imports System.Data.SqlTypes
|
|
Imports System.Data.SqlClient
|
|
Public Class frmLifeCycle
|
|
Dim clslc As New TKB.VV.Lifecycle.clslifeCycle
|
|
Dim Produkt As New TKB.VV.Lifecycle.clsProdukt
|
|
Dim msg As New TKB.VV.Utils.MyMessage
|
|
Dim FormReadonly As Boolean = False
|
|
Dim FormDataChanged As Boolean = False
|
|
Dim IsNewProdukt As Boolean = False
|
|
Dim SpaltenTitel As New TKB.VV.Utils.Tabellenspalte
|
|
Dim sec As New TKB.VV.Utils.MySecurity
|
|
Dim WithEvents evh As Generic_Event_Handler = Globals.Generic_Event_Handler
|
|
|
|
|
|
|
|
|
|
#Region "Closing / Check_Changes"
|
|
''' <summary>
|
|
''' Schliessen des Formulars
|
|
''' </summary>
|
|
''' <param name="sender"></param>
|
|
''' <param name="e"></param>
|
|
''' <remarks></remarks>
|
|
Private Sub FormularClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
|
|
If Me.FormReadonly = True Then Exit Sub
|
|
If Check_Changes() = False Then
|
|
e.Cancel = True
|
|
Else
|
|
Produkt.Dispose()
|
|
Me.Dispose()
|
|
End If
|
|
End Sub
|
|
|
|
''' <summary>
|
|
''' Prüfung, ob Datenänderungen vorgenommen wurden.
|
|
''' </summary>
|
|
''' <remarks></remarks>
|
|
Private Function Check_Changes() As Boolean
|
|
If Me.FormReadonly Then
|
|
Return True
|
|
Exit Function
|
|
End If
|
|
Dim msgres As MsgBoxResult
|
|
If Me.FormDataChanged Then
|
|
msgres = msg.Show_MessageYesNoCancel(3)
|
|
Select Case msgres
|
|
Case MsgBoxResult.Yes
|
|
Save_data()
|
|
Return True
|
|
Case MsgBoxResult.Cancel
|
|
Return False
|
|
Case MsgBoxResult.No
|
|
Me.FormDataChanged = False
|
|
Return True
|
|
End Select
|
|
Else
|
|
Return True
|
|
End If
|
|
End Function
|
|
|
|
#End Region
|
|
|
|
#Region "Formular"
|
|
|
|
Sub New()
|
|
InitializeComponent()
|
|
Me.CtlPhasen1.Connectionstring = Globals.sConnectionString
|
|
End Sub
|
|
|
|
Private Sub dtPicker_Leave(ByVal sender As Object, ByVal e As System.EventArgs) Handles dtAbgeloestAm.Leave, _
|
|
dtEntscheidungsterminNachfolgeprodukt.Leave, dtNaechsteUeberpruefung.Leave
|
|
Dim s As String
|
|
Dim obj As DateTimePicker = sender
|
|
s = obj.Name
|
|
End Sub
|
|
#End Region
|
|
|
|
|
|
#Region "Buttons/Menu"
|
|
|
|
''' <summary>
|
|
''' Formular schliessen
|
|
''' </summary>
|
|
''' <param name="sender"></param>
|
|
''' <param name="e"></param>
|
|
''' <remarks></remarks>
|
|
Private Sub TSBtnQuit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TSBtnQuit.Click
|
|
Me.Close()
|
|
End Sub
|
|
|
|
''' <summary>
|
|
''' Sicherungs-Button betätigt
|
|
''' </summary>
|
|
''' <param name="sender"></param>
|
|
''' <param name="e"></param>
|
|
''' <remarks></remarks>
|
|
Private Sub TSBtnSave_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TSBtnSave.Click
|
|
Me.Save_data()
|
|
CtlPhasen1.Save_Phasen()
|
|
Me.TreeStruktur.SelectedNode.Text = Produkt.sBezeichnung.Value
|
|
' Me.txtmutiert_am.Text = Me.Applikation.daMutiert_am.ToString
|
|
Me.FormDataChanged = False
|
|
TreeStruktur.Nodes.Sort()
|
|
|
|
End Sub
|
|
''' <summary>
|
|
''' Neuer Datensatz erstellen
|
|
''' </summary>
|
|
''' <param name="sender"></param>
|
|
''' <param name="e"></param>
|
|
''' <remarks></remarks>
|
|
Private Sub TSBtnNew_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TSBtnNew.Click
|
|
|
|
If Me.TreeStruktur.SelectedNode.Tag < 1 Then
|
|
msg.show_standardmessage(896, MsgBoxStyle.Critical)
|
|
Exit Sub
|
|
End If
|
|
If Me.Check_Changes = False Then Exit Sub
|
|
Me.Get_Data(Me.Produkt.Add_New)
|
|
Me.IsNewProdukt = True
|
|
End Sub
|
|
''' <summary>
|
|
''' Aktueller Datensatz inaktivieren
|
|
''' </summary>
|
|
''' <param name="sender"></param>
|
|
''' <param name="e"></param>
|
|
''' <remarks></remarks>
|
|
Private Sub TSBtnDelete_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TSBtnDelete.Click
|
|
If Me.TreeStruktur.SelectedNode.Tag < 1 Then
|
|
msg.show_standardmessage(896, MsgBoxStyle.Critical)
|
|
Exit Sub
|
|
End If
|
|
If msg.Show_MessageYesNo(295) = MsgBoxResult.Yes Then
|
|
Me.Produkt.Delete_Produkt(Me.TreeStruktur.SelectedNode.Tag)
|
|
'TSBtnSuche_Click(sender, e)
|
|
Me.TreeStruktur.SelectedNode = Me.TreeStruktur.Nodes(0)
|
|
'Me.Close()
|
|
End If
|
|
End Sub
|
|
|
|
|
|
#End Region
|
|
|
|
|
|
|
|
#Region "Eventhandler ChangeEreignisse"
|
|
''' <summary>
|
|
''' Allg Eventhandler für Chanage-Ereignise festlegen
|
|
''' </summary>
|
|
''' <param name="Container"></param>
|
|
''' <remarks></remarks>
|
|
Private Sub AddChanges(ByVal Container As Control)
|
|
Dim l As New List(Of Control)
|
|
Me.GetControl(Me, "*", l)
|
|
Dim evh As EventHandler = AddressOf ChangesMade
|
|
For Each c As Control In l
|
|
If TypeOf c Is TextBox Then
|
|
Dim ctl As TextBox = c
|
|
AddHandler ctl.TextChanged, evh
|
|
End If
|
|
If TypeOf c Is MaskedTextBox Then
|
|
Dim ctl As MaskedTextBox = c
|
|
AddHandler ctl.TextChanged, evh
|
|
End If
|
|
If TypeOf c Is ComboBox Then
|
|
Dim ctl As ComboBox = c
|
|
AddHandler ctl.SelectedValueChanged, evh
|
|
End If
|
|
If TypeOf c Is RichTextBox Then
|
|
Dim ctl As RichTextBox = c
|
|
AddHandler ctl.TextChanged, evh
|
|
End If
|
|
If TypeOf c Is CheckBox Then
|
|
If c.Name <> "cboxNurAktive" Then
|
|
Dim ctl As CheckBox = c
|
|
AddHandler ctl.CheckedChanged, evh
|
|
End If
|
|
End If
|
|
If TypeOf c Is DateTimePicker Then
|
|
Dim ctl As DateTimePicker = c
|
|
AddHandler ctl.ValueChanged, evh
|
|
End If
|
|
If TypeOf c Is CheckedListBox Then
|
|
Dim ctl As CheckedListBox = c
|
|
AddHandler ctl.ItemCheck, AddressOf ChecketListBoxChange
|
|
End If
|
|
Next
|
|
End Sub
|
|
''' <summary>
|
|
''' Envent-Handler für Change-Ereignisse
|
|
''' </summary>
|
|
''' <param name="sender"></param>
|
|
''' <param name="e"></param>
|
|
''' <remarks></remarks>
|
|
Private Sub ChangesMade(ByVal sender As Object, ByVal e As System.EventArgs)
|
|
Me.FormDataChanged = True
|
|
Dim objtype As System.Type = sender.GetType
|
|
If objtype.Name = "MaskedTextBox" Then
|
|
Dim o As MaskedTextBox = sender
|
|
If o.Text = "01.01.1900" Then o.Text = " . . "
|
|
End If
|
|
End Sub
|
|
Private Sub ChecketListBoxChange(ByVal sender As Object, ByVal e As System.Windows.Forms.ItemCheckEventArgs)
|
|
Me.FormDataChanged = True
|
|
End Sub
|
|
|
|
|
|
''' <summary>
|
|
''' Sucht in den Base-Controls sämtliche Controls mit dem Namen in "Key" (Wildcards * möglich) und listet
|
|
''' die gefundnen Controls in der Liste L zur weiteren Bearbeitung
|
|
''' </summary>
|
|
''' <param name="BaseControl">Base-Contrlo (z.B. aktuelles Formular</param>
|
|
''' <param name="Key">Schlüssel welcher gesucht werden soll</param>
|
|
''' <param name="L">Liste der gefundenen Objekte</param>
|
|
''' <returns>True wenn eines oder mehr Controls gefunden wurden, false wenn kein Control gefunden wurde.
|
|
''' </returns>
|
|
''' <remarks></remarks>
|
|
Private Function GetControl(ByVal BaseControl As Control, ByVal Key As String, ByRef L As List(Of Control), Optional ByVal ReturnAtFirstElement As Boolean = False) As Boolean
|
|
If L Is Nothing Then L = New List(Of Control)
|
|
Dim Gut As Boolean
|
|
Dim ReturnFlag As Boolean = False
|
|
If Key IsNot Nothing Then Key = Key.ToLower
|
|
|
|
If BaseControl.HasChildren = True Then
|
|
For Each ctl As Control In BaseControl.Controls
|
|
Gut = False
|
|
If Key Is Nothing Then
|
|
Gut = True
|
|
Else
|
|
If ctl.Name.Length >= Key.Length Then
|
|
Key = Key.ToLower
|
|
If Key.StartsWith("*") Then
|
|
If Key.Substring(1) = ctl.Name.ToLower.Substring(ctl.Name.Length - (Key.Length - 1), Key.Length - 1) Then Gut = True
|
|
ElseIf Key.EndsWith("*") Then
|
|
If Key.Substring(0, Key.Length - 1) = ctl.Name.ToLower.Substring(0, Key.Length - 1) Then Gut = True
|
|
Else
|
|
If Key = ctl.Name.ToLower Then Gut = True
|
|
End If
|
|
End If
|
|
End If
|
|
|
|
If Gut = True Then
|
|
L.Add(ctl)
|
|
If ReturnAtFirstElement = True Then ReturnFlag = True
|
|
End If
|
|
If ReturnFlag = False Then
|
|
Call GetControl(ctl, Key, L)
|
|
End If
|
|
Next
|
|
End If
|
|
|
|
If L.Count - 1 > -1 Then
|
|
Return True
|
|
Else
|
|
Return False
|
|
End If
|
|
End Function
|
|
#End Region
|
|
|
|
|
|
#Region "Daten"
|
|
''' <summary>
|
|
''' Daten ab DB laden uns ins Form befüllen
|
|
''' </summary>
|
|
''' <param name="Vertragselementnr"></param>
|
|
''' <remarks></remarks>
|
|
Private Sub Get_Data(ByVal Produktnr As Integer)
|
|
Try
|
|
|
|
Produkt.Get_Produkt(Produktnr)
|
|
|
|
If Produkt.bIstStruktur = True Then
|
|
Me.GrpStammdaten.Visible = False
|
|
Me.GrpLifeCycle.Visible = False
|
|
Me.GrpDokumente.Visible = False
|
|
Me.GrpBilder.Visible = False
|
|
Me.GrpAenderungsnachweis.Visible = False
|
|
Me.GrpAblösung.Visible = False
|
|
Exit Sub
|
|
Else
|
|
Me.GrpStammdaten.Visible = True
|
|
Me.GrpLifeCycle.Visible = True
|
|
Me.GrpDokumente.Visible = True
|
|
Me.GrpBilder.Visible = True
|
|
Me.GrpAenderungsnachweis.Visible = True
|
|
Me.GrpAblösung.Visible = True
|
|
|
|
End If
|
|
Me.txtProduktname.Text = Produkt.sBezeichnung.Value
|
|
Me.txtBemerkung.Text = Produkt.sBeschreibung.Value
|
|
Me.txtVersion.Text = Produkt.sVersion.Value
|
|
Try
|
|
Me.txtAbgeloestdurch.Text = Produkt.sAbgeloest_durch.Value
|
|
Catch ex As Exception
|
|
Me.txtAbgeloestdurch.Text = ""
|
|
End Try
|
|
|
|
If Produkt.daAbgeloest_am.IsNull Then
|
|
Me.txtAbgeloestam.Text = "01.01.1900"
|
|
Else
|
|
Me.txtAbgeloestam.Text = Produkt.daAbgeloest_am.ToString
|
|
End If
|
|
If Produkt.daEntscheidungstermin.IsNull Then
|
|
Me.txtEntscheidungsterminNachfolgeprodukt.Text = "01.01.1900"
|
|
Else
|
|
Me.txtEntscheidungsterminNachfolgeprodukt.Text = Produkt.daEntscheidungstermin.ToString
|
|
End If
|
|
If Produkt.daNächste_Ueberprüfung.IsNull Then
|
|
Me.txtNaechsteUeberpruefung.Text = "01.01.1900"
|
|
Else
|
|
Me.txtNaechsteUeberpruefung.Text = Produkt.daNächste_Ueberprüfung.ToString
|
|
End If
|
|
Me.cbboxProdukttyp.SelectedValue = Produkt.iProdukttypNr.Value
|
|
If Produkt.iStatusNr = 0 Then Me.cbEingesetzt.Checked = False Else Me.cbEingesetzt.Checked = True
|
|
|
|
Me.txterstellt_am.Text = Produkt.daErstellt_am.ToString
|
|
Me.txtmutiert_am.Text = Produkt.daMutiert_am.ToString
|
|
Me.txtmutierer.Text = Produkt.MutiererText
|
|
|
|
Me.CtlPhasen1.Produktnr = Me.Produkt.iLC_ProduktNr.Value
|
|
Try
|
|
Me.LCDOkumente.ProduktNr = Me.Produkt.iLC_ProduktNr.Value
|
|
Catch
|
|
End Try
|
|
sec.Set_Form_Security(Me)
|
|
Me.FormDataChanged = False
|
|
|
|
Catch ex As Exception
|
|
MsgBox(ex.Message)
|
|
Try
|
|
For Each ctl As ToolStripButton In Me.ToolStrip1.Items
|
|
ctl.Enabled = False
|
|
Next
|
|
Catch
|
|
End Try
|
|
Me.TSBtnQuit.Enabled = True
|
|
End Try
|
|
Me.FormDataChanged = False
|
|
End Sub
|
|
|
|
Private Sub Set_Checkedlistbox(ByRef clb As CheckedListBox, ByRef data As DataTable)
|
|
Dim i As Integer
|
|
For i = 0 To clb.Items.Count - 1
|
|
clb.SetItemCheckState(i, CheckState.Unchecked)
|
|
Next
|
|
|
|
Dim chk As Integer = 0
|
|
Dim ii As Integer
|
|
Dim oc As CheckedListBox.ObjectCollection = clb.Items
|
|
For i = 0 To data.Rows.Count - 1
|
|
For ii = 0 To oc.Count - 1
|
|
If oc.Item(ii).item(0) = data.Rows(i).Item(2) Then
|
|
clb.SetItemCheckState(ii, CheckState.Checked)
|
|
End If
|
|
Next
|
|
Next
|
|
|
|
|
|
End Sub
|
|
''' <summary>
|
|
''' Daten ab Form speichern
|
|
''' </summary>
|
|
''' <remarks></remarks>
|
|
Private Sub Save_data()
|
|
|
|
Produkt.sBeschreibung = New SqlTypes.SqlString(CType(Me.txtBemerkung.Text, String))
|
|
Produkt.sBezeichnung = New SqlTypes.SqlString(CType(Me.txtProduktname.Text, String))
|
|
Produkt.sVersion = New SqlTypes.SqlString(CType(Me.txtVersion.Text, String))
|
|
Produkt.sAbgeloest_durch = New SqlTypes.SqlString(CType(Me.txtAbgeloestdurch.Text, String))
|
|
|
|
If IsDate(Me.txtAbgeloestam.Text) Then
|
|
Produkt.daAbgeloest_am = New SqlTypes.SqlDateTime(CType(Me.txtAbgeloestam.Text, DateTime))
|
|
Else
|
|
Produkt.daAbgeloest_am = New SqlTypes.SqlDateTime(CType(SqlDateTime.Null, DateTime))
|
|
End If
|
|
|
|
If IsDate(Me.txtEntscheidungsterminNachfolgeprodukt.Text) Then
|
|
Produkt.daEntscheidungstermin = New SqlTypes.SqlDateTime(CType(Me.txtEntscheidungsterminNachfolgeprodukt.Text, DateTime))
|
|
Else
|
|
Produkt.daEntscheidungstermin = New SqlTypes.SqlDateTime(CType(SqlDateTime.Null, DateTime))
|
|
End If
|
|
|
|
If IsDate(Me.txtNaechsteUeberpruefung.Text) Then
|
|
Produkt.daNächste_Ueberprüfung = New SqlTypes.SqlDateTime(CType(Me.txtNaechsteUeberpruefung.Text, DateTime))
|
|
Else
|
|
Produkt.daNächste_Ueberprüfung = New SqlTypes.SqlDateTime(CType(SqlDateTime.Null, DateTime))
|
|
End If
|
|
|
|
|
|
If Me.cbEingesetzt.Checked Then
|
|
Produkt.iStatusNr = New SqlTypes.SqlInt32(CType(1, Int32))
|
|
Else
|
|
Produkt.iStatusNr = New SqlTypes.SqlInt32(CType(0, Int32))
|
|
End If
|
|
Produkt.iProdukttypNr = New SqlTypes.SqlInt32(CType(Me.cbboxProdukttyp.SelectedValue, Int32))
|
|
Produkt.Save_Data()
|
|
Me.FormDataChanged = False
|
|
End Sub
|
|
|
|
Private Function Get_CheckedItems(ByRef clb As CheckedListBox) As String
|
|
Dim i As Integer = 0
|
|
Dim s As String = ""
|
|
For i = 1 To clb.CheckedItems.Count
|
|
s = s + clb.CheckedItems(i).ToString
|
|
Next
|
|
Return s
|
|
End Function
|
|
#End Region
|
|
Private Sub frmLifeCycle_Load(sender As Object, e As EventArgs) Handles MyBase.Load
|
|
clslc.Load_Treestrukutr(Me.TreeStruktur)
|
|
Me.cbboxProdukttyp.DataSource = clslc.Produkttypen
|
|
Me.cbboxProdukttyp.DisplayMember = "Bezeichnung"
|
|
Me.cbboxProdukttyp.ValueMember = "LC_Produkttypnr"
|
|
AddChanges(Me)
|
|
TreeStruktur.Nodes.Sort()
|
|
Me.CtlPhasen1.Connectionstring = Globals.sConnectionString
|
|
Me.CtlPhasen1.Mitarbeiternr = Globals.clsmitarbeiter.iMitarbeiternr.Value
|
|
Me.LCDOkumente.ConnectionString = Globals.sConnectionString
|
|
Me.LCDOkumente.Mitarbeiternr = Globals.clsmitarbeiter.iMitarbeiternr
|
|
Me.LCDOkumente.Doktype = 1
|
|
Me.LCDOkumente.TempFilePath = Globals.clsapplication.sTmp_filepath.ToString
|
|
Try
|
|
Me.LCDOkumente.ProduktNr = Me.TreeStruktur.SelectedNode.Tag
|
|
Catch
|
|
End Try
|
|
End Sub
|
|
|
|
Private Sub TreeStruktur_AfterNodeDrop(sender As Object, e As DevComponents.AdvTree.TreeDragDropEventArgs) Handles TreeStruktur.AfterNodeDrop
|
|
For Each n As DevComponents.AdvTree.Node In e.Nodes
|
|
Produkt.Get_Produkt(n.Tag)
|
|
Produkt.iLC_ProduktNr_Parent = New SqlInt32(CType(e.NewParentNode.Tag, Int32))
|
|
Produkt.Save_Data()
|
|
e.NewParentNode.Nodes.Sort()
|
|
Next
|
|
Me.TreeStruktur.SelectedNode = clslc.FindNode(Me.TreeStruktur.Nodes, e.Node.Tag, e.Node.Tag)
|
|
End Sub
|
|
|
|
Private Sub TreeStruktur_Click(sender As Object, e As EventArgs) Handles TreeStruktur.Click
|
|
Me.Cursor = Cursors.WaitCursor
|
|
Try
|
|
Me.GrpBilder.Enabled = False
|
|
Get_Data(Me.TreeStruktur.SelectedNode.Tag)
|
|
Me.LCDOkumente.ProduktNr = Me.TreeStruktur.SelectedNode.Tag
|
|
Application.DoEvents()
|
|
|
|
If Me.GrpBilder.Visible = True Then
|
|
Me.GrpBilder.Enabled = True
|
|
Me.CtlPictures1.Connectionstring = Globals.sConnectionString
|
|
Me.CtlPictures1.Produktnr = Me.Produkt.iLC_ProduktNr.Value
|
|
Me.CtlPictures1.Mitarbeiternr = Globals.clsmitarbeiter.iMitarbeiternr.Value
|
|
Me.CtlPictures1.TempfilePath = Globals.clsapplication.sTmp_filepath
|
|
Me.CtlPictures1.Refresh()
|
|
End If
|
|
Catch
|
|
End Try
|
|
Me.Cursor = Cursors.Default
|
|
End Sub
|
|
|
|
Private Sub DateTimePicker_ValueChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles _
|
|
dtAbgeloestAm.ValueChanged, dtEntscheidungsterminNachfolgeprodukt.ValueChanged, dtNaechsteUeberpruefung.ValueChanged
|
|
Dim s As String
|
|
Dim obj As DateTimePicker = sender
|
|
s = obj.Name
|
|
s = "txt" + s.Substring(2, s.Length - 2)
|
|
Dim l As New List(Of Control)
|
|
Dim txtb As MaskedTextBox
|
|
GetControl(Me, s, l)
|
|
For Each ctl As Control In l
|
|
txtb = CType(ctl, MaskedTextBox)
|
|
txtb.Text = obj.Value
|
|
Next
|
|
End Sub
|
|
|
|
|
|
Private Sub frmLifeCycle_Resize(sender As Object, e As EventArgs) Handles Me.Resize
|
|
Me.GrpBilder.Height = Me.ClientSize.Height - Me.GrpDokumente.Height - Me.GrpLifeCycle.Height - 30
|
|
End Sub
|
|
|
|
|
|
Private Sub NeuesElementToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles NeuesElementToolStripMenuItem.Click
|
|
Produkt.Add_New(Me.TreeStruktur.SelectedNode.Tag)
|
|
Produkt.bIstStruktur = New SqlBoolean(CType(False, Boolean))
|
|
Produkt.sBezeichnung = New SqlString(CType("Neues Element", String))
|
|
Produkt.iImageindex = New SqlInt32(CType(Me.TreeStruktur.SelectedNode.ImageIndex, Int32))
|
|
Produkt.Save_Data()
|
|
Dim NewNode As New DevComponents.AdvTree.Node
|
|
NewNode.Text = "Neues Element"
|
|
NewNode.ImageIndex = Produkt.iImageindex.Value
|
|
NewNode.Tag = Produkt.iLC_ProduktNr.Value
|
|
Me.TreeStruktur.SelectedNode.Nodes.Add(NewNode)
|
|
If NewNode.Parent.Expanded = False Then NewNode.Parent.Expand()
|
|
TreeStruktur.SelectedNode = clslc.FindNode(TreeStruktur.Nodes, NewNode.Tag, NewNode.Tag)
|
|
Get_Data(NewNode.Tag)
|
|
End Sub
|
|
|
|
|
|
|
|
#Region "EVH"
|
|
Private Sub evh_Icon_Changed(keyvalue As Integer, Iconid As Integer) Handles evh.Icon_Changed
|
|
Try
|
|
Dim foundnode As DevComponents.AdvTree.Node
|
|
foundnode = Me.clslc.FindNode(Me.TreeStruktur.Nodes, keyvalue, keyvalue)
|
|
foundnode.ImageIndex = Iconid
|
|
Catch
|
|
End Try
|
|
End Sub
|
|
|
|
Private Function get_Icon(ByVal node As DevComponents.AdvTree.Node, Optional newNode As Boolean = False) As Integer
|
|
If node.ImageIndex > 20 Then Return node.ImageIndex
|
|
If node.Nodes.Count > 0 And node.ImageIndex < 10 Then
|
|
Return node.ImageIndex + 10
|
|
End If
|
|
Return node.ImageIndex
|
|
End Function
|
|
#End Region
|
|
|
|
|
|
End Class |