You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
268 lines
10 KiB
268 lines
10 KiB
Imports System.ComponentModel
|
|
Imports DevComponents.AdvTree
|
|
Public Class frmdokumentvorlagen
|
|
Dim m_toSelect As Boolean = False
|
|
Property Vorlagenselect As Boolean
|
|
Get
|
|
Return m_toSelect
|
|
End Get
|
|
Set(value As Boolean)
|
|
m_toSelect = value
|
|
If value = True Then
|
|
Me.tsbtnnew.Visible = False
|
|
Me.ToolStripButton1.Visible = False
|
|
Me.ToolStripButton2.Visible = False
|
|
Me.ToolStripButton4.Visible = False
|
|
End If
|
|
End Set
|
|
End Property
|
|
|
|
Private Sub frmdokumentvorlagen_Load(sender As Object, e As EventArgs) Handles MyBase.Load
|
|
Load_Tree()
|
|
End Sub
|
|
|
|
#Region "LoadTree"
|
|
Sub Load_Tree()
|
|
Me.treestruktur.Nodes.Clear()
|
|
Get_tree()
|
|
Dim db As New clsDB
|
|
Dim s As String = "SELECT dbo.dms_vorlage.nreintrag, dbo.dms_vorlage.strukturnr, dbo.dms_vorlage.Bezeichnung, dbo.DMS_Struktur.Bezeichnung as Node FROM dbo.dms_vorlage INNER JOIN dbo.DMS_Struktur ON dbo.dms_vorlage.strukturnr = dbo.DMS_Struktur.Eintragnr where dbo.dms_vorlage.aktiv=1"
|
|
db.Get_Tabledata("DMS", "", s)
|
|
For Each dr As DataRow In db.dsDaten.Tables(0).Rows
|
|
Dim n As DevComponents.AdvTree.Node
|
|
n = SearchTheTreeView(Me.treestruktur, dr.Item("node"))
|
|
If Not n Is Nothing Then
|
|
Me.treestruktur.SelectedNode = n
|
|
Dim tn As New DevComponents.AdvTree.Node
|
|
tn.Text = dr.Item("Bezeichnung")
|
|
tn.Tag = "V:" + dr.Item("nreintrag").ToString
|
|
tn.ImageIndex = 2
|
|
Me.treestruktur.SelectedNode.Nodes.Add(tn)
|
|
End If
|
|
Next
|
|
Me.treestruktur.ExpandAll()
|
|
End Sub
|
|
|
|
Sub Get_tree()
|
|
Dim db As New clsDB
|
|
db.Get_Tabledata("DMS_Struktur", "", "Select * from dms_struktur where aktiv=1")
|
|
Load_Treeview(db.dsDaten, Me.treestruktur)
|
|
End Sub
|
|
Private Sub Load_Treeview(ByVal oSourceData As DataSet, ByRef tree As AdvTree)
|
|
If Not (oSourceData Is Nothing) Then
|
|
Dim oView As DataView = oSourceData.Tables(0).DefaultView
|
|
Dim oTable As DataTable = oView.Table
|
|
Dim oDS As DataSet = New DataSet()
|
|
oDS.Tables.Add(oTable.Copy())
|
|
|
|
If oDS.Relations.Contains("SelfRefenceRelation") = False Then
|
|
oDS.Relations.Add("SelfRefenceRelation",
|
|
oDS.Tables(0).Columns("eintragnr"),
|
|
oDS.Tables(0).Columns("parentid"))
|
|
End If
|
|
oTable.Dispose()
|
|
oTable = Nothing
|
|
LoadTreeView(oDS, tree)
|
|
oDS.Dispose()
|
|
oDS = Nothing
|
|
End If
|
|
End Sub
|
|
|
|
''' <summary>
|
|
''' Tree aufbauen
|
|
''' </summary>
|
|
''' <param name="oDS"></param>
|
|
''' <param name="oTreeview"></param>
|
|
''' <remarks></remarks>
|
|
Private Sub LoadTreeView(ByVal oDS As DataSet, ByRef oTreeview As AdvTree)
|
|
'Dim oTreeView As TreeView = New TreeView()
|
|
Dim oDataRow As DataRow
|
|
For Each oDataRow In oDS.Tables(0).Rows
|
|
If Not oDataRow.IsNull("Parentid") Then
|
|
If oDataRow.Item("Parentid") = 0 Then
|
|
Dim oNode As New DevComponents.AdvTree.Node
|
|
oNode.Text = oDataRow("Bezeichnung").ToString()
|
|
oNode.Tag = oDataRow("eintragnr").ToString
|
|
oNode.ImageIndex = 0
|
|
oNode.ImageIndex = 0
|
|
oTreeview.Nodes.Add(oNode)
|
|
RecursivelyLoadTree(oDataRow, oNode)
|
|
End If
|
|
End If
|
|
Next oDataRow
|
|
oDS.Dispose()
|
|
oDS = Nothing
|
|
End Sub
|
|
|
|
''' <summary>
|
|
''' Child-Nodes hinzufügen
|
|
''' </summary>
|
|
''' <param name="oDataRow"></param>
|
|
''' <param name="oNode"></param>
|
|
''' <remarks></remarks>
|
|
Private Sub RecursivelyLoadTree(ByVal oDataRow As DataRow, ByRef oNode As DevComponents.AdvTree.Node)
|
|
Dim oChildRow As DataRow
|
|
For Each oChildRow In oDataRow.GetChildRows("SelfRefenceRelation")
|
|
Dim oChildNode As New DevComponents.AdvTree.Node()
|
|
oChildNode.Text = oChildRow("Bezeichnung").ToString()
|
|
oChildNode.Tag = oChildRow("eintragnr").ToString()
|
|
If oChildRow("eintragnr") = 0 Then
|
|
oChildNode.ImageIndex = 0
|
|
oChildNode.ImageIndex = 0
|
|
Else
|
|
oChildNode.ImageIndex = 1
|
|
oChildNode.ImageIndex = 1
|
|
End If
|
|
oNode.Nodes.Add(oChildNode)
|
|
RecursivelyLoadTree(oChildRow, oChildNode)
|
|
Next oChildRow
|
|
End Sub
|
|
|
|
Dim NodesThatMatch As New List(Of DevComponents.AdvTree.Node)
|
|
|
|
Private Function SearchTheTreeView(ByVal TV As AdvTree, ByVal TextToFind As String) As DevComponents.AdvTree.Node
|
|
' Empty previous
|
|
NodesThatMatch.Clear()
|
|
|
|
' Keep calling RecursiveSearch
|
|
For Each TN As DevComponents.AdvTree.Node In TV.Nodes
|
|
If TN.Text = TextToFind Then
|
|
NodesThatMatch.Add(TN)
|
|
End If
|
|
|
|
RecursiveSearch(TN, TextToFind)
|
|
Next
|
|
|
|
If NodesThatMatch.Count > 0 Then
|
|
Return NodesThatMatch(0)
|
|
Else
|
|
Return Nothing
|
|
End If
|
|
|
|
End Function
|
|
|
|
Private Sub RecursiveSearch(ByVal treeNode As DevComponents.AdvTree.Node, ByVal TextToFind As String)
|
|
|
|
' Keep calling the test recursively.
|
|
For Each TN As DevComponents.AdvTree.Node In treeNode.Nodes
|
|
If TN.Text = TextToFind Then
|
|
NodesThatMatch.Add(TN)
|
|
End If
|
|
|
|
RecursiveSearch(TN, TextToFind)
|
|
Next
|
|
End Sub
|
|
|
|
Private Sub ToolStripButton1_Click(sender As Object, e As EventArgs) Handles ToolStripButton1.Click
|
|
Me.Close()
|
|
End Sub
|
|
|
|
#End Region
|
|
|
|
Private Sub tsbtnnew_Click(sender As Object, e As EventArgs) Handles tsbtnnew.Click
|
|
|
|
Dim f As New frmImportVorlage
|
|
Dim strukturnr As String
|
|
strukturnr = Me.treestruktur.SelectedNode.Tag
|
|
If strukturnr.IndexOf("V:") > -1 Then
|
|
f.Strukturnr = Me.treestruktur.SelectedNode.Parent.Tag
|
|
Else
|
|
f.Strukturnr = Me.treestruktur.SelectedNode.Tag
|
|
End If
|
|
f.ShowDialog()
|
|
If f.DialogResult = DialogResult.OK Then
|
|
Load_Tree()
|
|
Me.treestruktur.SelectedNode = SearchTheTreeView(Me.treestruktur, f.TextBox1.Text)
|
|
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub ToolStripButton4_Click(sender As Object, e As EventArgs) Handles ToolStripButton4.Click
|
|
If Me.treestruktur.SelectedNode.Tag.ToString.IndexOf("V:") > -1 Then
|
|
Dim f As New frmImportVorlage
|
|
f.TextBox1.Text = Me.treestruktur.SelectedNode.Text
|
|
f.TextBox2.Visible = False
|
|
f.Label2.Visible = False
|
|
f.Button1.Visible = False
|
|
f.TextBox1.Select()
|
|
f.eintragnr = Me.treestruktur.SelectedNode.Tag
|
|
f.Text = "Vorlagenbezeichnung ändern"
|
|
f.ShowDialog()
|
|
If f.DialogResult = DialogResult.OK Then
|
|
Load_Tree()
|
|
Me.treestruktur.SelectedNode = SearchTheTreeView(Me.treestruktur, f.TextBox1.Text)
|
|
End If
|
|
Else
|
|
MsgBox("Es ist keine Vorlage für die Änderung gewählt.", vbExclamation)
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub ToolStripButton2_Click(sender As Object, e As EventArgs) Handles ToolStripButton2.Click
|
|
If Me.treestruktur.SelectedNode.Tag.ToString.IndexOf("V:") > -1 Then
|
|
If MsgBox("Möchten Sie die Vorlage '" + Me.treestruktur.SelectedNode.Text + "' wirklich löschen?", vbYesNo + vbQuestion) = MsgBoxResult.Yes Then
|
|
Dim db As New clsDB
|
|
Dim s As String
|
|
s = Me.treestruktur.SelectedNode.Tag.ToString.Replace("V:", "")
|
|
db.Get_Tabledata("DMS", "", "Select * from dms_vorlage where nreintrag=" + s)
|
|
db.dsDaten.Tables(0).Rows(0).Item(4) = False
|
|
db.dsDaten.Tables(0).Rows(0).Item(6) = Now
|
|
db.dsDaten.Tables(0).Rows(0).Item(7) = Globals.ActUser
|
|
db.Update_Data()
|
|
Load_Tree()
|
|
End If
|
|
Else
|
|
MsgBox("Es ist keine Vorlage zum Löschen gewählt.", vbExclamation)
|
|
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub NeueVorlageToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles NeueVorlageToolStripMenuItem.Click
|
|
tsbtnnew_Click(sender, e)
|
|
End Sub
|
|
|
|
Private Sub VorlageÄndernToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles VorlageÄndernToolStripMenuItem.Click
|
|
ToolStripButton4_Click(sender, e)
|
|
End Sub
|
|
|
|
Private Sub VorlagelöschenToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles VorlagelöschenToolStripMenuItem.Click
|
|
ToolStripButton2_Click(sender, e)
|
|
End Sub
|
|
|
|
Private Sub ContextMenuStrip1_Opening(sender As Object, e As CancelEventArgs) Handles ContextMenuStrip1.Opening
|
|
If Me.treestruktur.SelectedNode.Tag.ToString.IndexOf("V:") = -1 Then
|
|
Me.VorlageÄndernToolStripMenuItem.Enabled = False
|
|
Me.VorlagelöschenToolStripMenuItem.Enabled = False
|
|
Else
|
|
|
|
Me.VorlageÄndernToolStripMenuItem.Enabled = True
|
|
Me.VorlagelöschenToolStripMenuItem.Enabled = True
|
|
End If
|
|
If Me.Vorlagenselect = True Then
|
|
Me.NeueVorlageToolStripMenuItem.Visible = False
|
|
Me.VorlageÄndernToolStripMenuItem.Visible = False
|
|
Me.VorlagelöschenToolStripMenuItem.Visible = False
|
|
Me.VorlageAuswählenToolStripMenuItem.Visible = True
|
|
Else
|
|
Me.NeueVorlageToolStripMenuItem.Visible = True
|
|
Me.VorlageÄndernToolStripMenuItem.Visible = True
|
|
Me.VorlagelöschenToolStripMenuItem.Visible = True
|
|
Me.VorlageAuswählenToolStripMenuItem.Visible = False
|
|
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub VorlageAuswählenToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles VorlageAuswählenToolStripMenuItem.Click
|
|
If Me.treestruktur.SelectedNode.Tag.ToString.IndexOf("V:") < 0 Then
|
|
MsgBox("Es wirde keine Vorlage ausgwählt.", vbInformation)
|
|
Exit Sub
|
|
End If
|
|
Me.DialogResult = DialogResult.OK
|
|
Me.Close()
|
|
End Sub
|
|
|
|
Private Sub treestruktur_DoubleClick(sender As Object, e As EventArgs) Handles treestruktur.DoubleClick
|
|
If Me.Vorlagenselect = True Then
|
|
VorlageAuswählenToolStripMenuItem_Click(sender, e)
|
|
End If
|
|
End Sub
|
|
End Class |