Imports System.Data Imports System.Data.SqlTypes Imports System.Data.SqlClient ''' ''' Vertragsübersicht: Beachten: TabControl wird von TKB.VV.Utils.clsMyTabControl ''' überschrieben ''' ''' yes ''' ''' ''' ''' ''' ''' ''' ''' ''' Public Class frmVertragsuebersicht #Region "Deklarationen" ''' ''' Klasse für die Bewirtschaftung der Tree-Strukturen ''' ''' Dim Strukturen As New TKB.VV.Vertrag.clsVertragsuebersicht_Strukturen ''' ''' Klasse für die Beschreibung der Tree-Tags ''' ''' Dim Tag_Descriptor As TKB.VV.Vertrag.Treenode_Descriptor ''' ''' Vertragselement ''' ''' Dim Vertragselement As TKB.VV.Vertrag.clsVertragselement ''' ''' Dokument-Management-Klasse ''' ''' Dim Docs As New TKB.VV.Utils.MyDocMgmt Dim Services As New TKB.VV.Vertrag.clsVertragsleistung ''' ''' Security-Klasse ''' ''' Dim sec As New TKB.VV.Utils.MySecurity ''' ''' Message-Klasse ''' ''' Dim msg As New TKB.VV.Utils.MyMessage Dim Profil As New TKB.VV.Utils.clsProfile Dim FormReadonly As Boolean = False Dim FormDataChanged As Boolean = False Dim SpaltenTitel As New TKB.VV.Utils.Tabellenspalte Friend selectPoint As New System.Drawing.Point() Dim c1data As New DataTable Dim Save_LizenzTabPage As TabPage Dim PartnerToSelect As Integer = 0 Dim IsOnLoad As Boolean = False Dim PartnerNode As TreeNode Dim inExport As Boolean = False Dim multiline As New TabControlMultiLine ''' ''' Generic Event-Handler ''' ''' Dim WithEvents evh As MyGenericEventHandler = Globals.MyEventHanlder #End Region #Region "Buttons/Menu" ''' ''' Formular schliessen ''' ''' ''' ''' Private Sub TSBtnQuit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TSBtnQuit.Click Me.Close() End Sub ''' ''' Datensatz kopieren ''' ''' ''' ''' Private Sub TSBtnCopy_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TSBtnCopy.Click End Sub ''' ''' Neuer Datensatz erstellen ''' ''' ''' ''' Private Sub TSBtnNew_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TSBtnNew.Click End Sub ''' ''' Aktueller Datensatz inaktivieren ''' ''' ''' ''' Private Sub TSBtnDelete_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TSBtnDelete.Click End Sub ''' ''' Menu Beenden ''' ''' ''' ''' Private Sub BeendenToolStipMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BeendenToolStipMenuItem.Click Me.TSBtnQuit_Click(sender, e) End Sub ''' ''' Vertragspartner suchen ''' ''' ''' ''' Private Sub TSBtnSuche_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TSBtnSuche.Click Me.C1Dokumente.DataSource = Nothing If Me.rbSortVertragspartner.Checked = True Then Strukturen.Get_Struktur(Me.TreeStruktur, 0, Me.cbInaktiv.Checked, 1, Me.TStxtSuche.Text) Else Strukturen.Get_Struktur(Me.TreeStruktur, 1, Me.cbInaktiv.Checked, 1, Me.TStxtSuche.Text) End If Try Me.TreeStruktur.SelectedNode = Me.TreeStruktur.Nodes(0) Me.TreeStruktur_Click(sender, e) If Me.TreeStruktur.GetNodeCount(False) = 1 Then Try Update_Node(Me.TreeStruktur.SelectedNode, Me.Profil.bV_Struktur_Details.Value) Catch ex As Exception End Try End If Catch ex As Exception End Try End Sub Private Sub TSBtnSucheInhalt_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TSBtnSucheInhalt.Click Me.C1Dokumente.DataSource = Nothing If Me.rbSortVertragspartner.Checked = True Then Strukturen.Get_Struktur(Me.TreeStruktur, 0, Me.cbInaktiv.Checked, 2, Me.TStxtSucheInhalt.Text) Else Strukturen.Get_Struktur(Me.TreeStruktur, 1, Me.cbInaktiv.Checked, 2, Me.TStxtSucheInhalt.Text) End If Try Me.TreeStruktur.SelectedNode = Me.TreeStruktur.Nodes(0) Me.TreeStruktur_Click(sender, e) If Me.TreeStruktur.GetNodeCount(False) = 1 Then Try Update_Node(Me.TreeStruktur.SelectedNode, Me.Profil.bV_Struktur_Details.Value) Catch ex As Exception End Try End If Catch ex As Exception End Try End Sub 'Try ' Me.TreeStruktur.SelectedNode = Me.TreeStruktur.Nodes(0) ' Me.TreeStruktur_Click(sender, e) 'Catch ex As Exception ' If F.DialogResult = Windows.Forms.DialogResult.OK Then ' Me.C1Vertragselemente.DataSource = Nothing ' If Me.rbSortVertragspartner.Checked = True Then ' If F.txtVertragspartner.Text <> "" Then ' Strukturen.Get_Struktur(Me.TreeStruktur, 0, Me.cbInaktiv.Checked, 1, F.txtVertragspartner.Text) ' Else ' Strukturen.Get_Struktur(Me.TreeStruktur, 0, Me.cbInaktiv.Checked, 2, F.txtVertragselement.Text) ' End If ' End If ' If Me.rbSortVertragstyp.Checked = True Then ' If F.txtVertragspartner.Text <> "" Then ' Strukturen.Get_Struktur(Me.TreeStruktur, 1, Me.cbInaktiv.Checked, 1, F.txtVertragspartner.Text) ' Else ' Strukturen.Get_Struktur(Me.TreeStruktur, 1, Me.cbInaktiv.Checked, 1, F.txtVertragselement.Text) ' End If ' End If ' Try ' Me.TreeStruktur.SelectedNode = Me.TreeStruktur.Nodes(0) ' Me.TreeStruktur_Click(sender, e) ' Catch ex As Exception ' End Try ' End If #End Region #Region "Formular" Sub New() Me.IsOnLoad = True InitializeComponent() End Sub Sub New(ByVal Partnernr As Integer) Me.IsOnLoad = True InitializeComponent() Me.PartnerToSelect = Partnernr End Sub ''' ''' Formular-Load ''' ''' ''' ''' Wurde das Form mit einer Partnernr initialisiert, wird die Partnerstruktur geöffnet Private Sub frmVertragsuebersicht_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 'Try ' multiline.Set_Multiline(Me.TabControlDiverse) 'Catch 'End Try Me.Cursor = Cursors.WaitCursor Me.Save_LizenzTabPage = Me.TabControlDiverse.TabPages("TabLizenz") If Me.TSBtnSave.Enabled = False Then Me.FormReadonly = True Me.TSBtnCopy.Enabled = False Me.TSBtnNew.Enabled = False Me.TSBtnDelete.Enabled = False Else Me.FormReadonly = False End If Profile_Aktualisieren() Try Me.TSComboboxProfil.SelectedIndex = 0 Select Case Me.cbaktiveVertraege.CheckState Case CheckState.Checked Me.cbaktiveVertraege.Text = "aktive Verträge" Me.TSDropDwonVertraege.Text = "aktive Verträge" 'C1Vertragselemente.Columns("aktiv").FilterText = True Case CheckState.Unchecked Me.cbaktiveVertraege.Text = "inaktive Verträge" Me.TSDropDwonVertraege.Text = "inaktive Verträge" 'C1Vertragselemente.Columns("aktiv").FilterText = False Case CheckState.Indeterminate Me.cbaktiveVertraege.Text = "alle Verträge" Me.TSDropDwonVertraege.Text = "alle Verträge" 'C1Vertragselemente.Columns("aktiv").FilterText = "" End Select Select Case Me.cbInaktiv.CheckState Case CheckState.Checked Me.cbInaktiv.Text = "aktive Partner" Me.TSDropDownPartner.Text = "aktive Partner" Case CheckState.Unchecked Me.cbInaktiv.Text = "alle Partner" Me.TSDropDownPartner.Text = "alle Partner" End Select Catch End Try If PartnerToSelect <> 0 Then Load_Struktur(PartnerToSelect) Me.TreeStruktur.SelectedNode = Me.TreeStruktur.Nodes(0) Me.PartnerNode = Me.TreeStruktur.SelectedNode Me.TreeStruktur_Click(sender, e) If Me.TreeStruktur.GetNodeCount(False) = 1 Then Me.TreeStruktur.ExpandAll() Try Update_Node(Me.TreeStruktur.SelectedNode, Me.Profil.bV_Struktur_Details.Value) Me.TreeStruktur.SelectedNode = Me.TreeStruktur.Nodes(0) Catch ex As Exception End Try End If Else Load_Struktur() End If Me.Order_Tabcontrol() PartnerToSelect = 0 Me.IsOnLoad = False Load_Securitylevel() sec.Set_Form_Security(Me) Me.Cursor = Cursors.Default End Sub ''' ''' Laden der Treestruktur ''' ''' Private Sub Load_Struktur(Optional ByVal Partnernr As Integer = 0) Me.Cursor = Cursors.WaitCursor If Me.rbSortVertragspartner.Checked = True Then If Me.TStxtSuche.Text <> "" Then Strukturen.Get_Struktur(Me.TreeStruktur, 0, Me.cbInaktiv.Checked, 1, Me.TStxtSuche.Text, Partnernr) Else If Me.TStxtSucheInhalt.Text <> "" Then Strukturen.Get_Struktur(Me.TreeStruktur, 0, Me.cbInaktiv.Checked, 2, Me.TStxtSucheInhalt.Text, Partnernr) Else Strukturen.Get_Struktur(Me.TreeStruktur, 0, Me.cbInaktiv.Checked, , , Partnernr) End If End If End If If Me.rbSortVertragstyp.Checked = True Then Strukturen.Get_Struktur(Me.TreeStruktur, 1, Me.cbInaktiv.Checked, , , Partnernr) End If Try '20110828 - Update supergrid If Me.C1Vertragselemente.DataView <> C1.Win.C1TrueDBGrid.DataViewEnum.GroupBy Then Me.TreeStruktur.SelectedNode = Me.TreeStruktur.Nodes(0) End If Catch End Try Me.Cursor = Cursors.Default 'Me.Refresh_Details() End Sub ''' ''' Bei Änderung der Inaktiv-Checkbox werden die Hauptstrukturen neu geladen ''' ''' ''' ''' Private Sub cbocInaktiv_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cbInaktiv.CheckedChanged Try Me.Load_Struktur() Select Case Me.cbInaktiv.CheckState Case CheckState.Checked Me.cbInaktiv.Text = "aktive Partner" Case CheckState.Unchecked Me.cbInaktiv.Text = "alle Partner" End Select Catch ex As Exception End Try End Sub #End Region #Region "Tree" ''' ''' Aktueller Tag des gewählten Nodes auslesen und Aktualisierung aufrufen ''' ''' ''' ''' Me.Profil.bV_Struktur_Details.Value Private Sub treeStruktur_BeforeExpand(ByVal sender As Object, ByVal e As System.Windows.Forms.TreeViewCancelEventArgs) Handles TreeStruktur.BeforeExpand If Me.inExport = True Then e.Cancel = True Exit Sub End If If Me.TreeStruktur.SelectedNode.GetNodeCount(True) = 1 And Me.TreeStruktur.SelectedNode.Level = 0 Then Dim xx As TKB.VV.Vertrag.Treenode_Descriptor = Me.TreeStruktur.SelectedNode.Nodes(0).Tag 'Dim xx As TKB.VV.Vertrag.Treenode_Descriptor = Me.TreeStruktur.SelectedNode.Tag If xx.Keyvalue = -99 Then Try Me.PartnerNode = Me.TreeStruktur.SelectedNode Update_Node(Me.TreeStruktur.SelectedNode, Me.Profil.bV_Struktur_Details.Value) Catch ex As Exception End Try End If End If End Sub Private Sub Update_Node(ByRef tn As TreeNode, ByVal Details As Integer) Dim x As TKB.VV.Vertrag.Treenode_Descriptor = tn.Tag Select Case x.Type Case "Vertragspartner" tn.Nodes.Clear() Me.Strukturen.Load_SubStruktur(tn, Details, Me.TStxtSucheInhalt.Text, Me.cbaktiveVertraege.CheckState) If Not inExport Then tn.ExpandAll() Case "Vertragstyp" tn.Nodes.Clear() If Me.TStxtSuche.Text <> "" Then Me.Strukturen.Load_SubStruktur(tn, Details, "V:" + Me.TStxtSuche.Text, Me.cbaktiveVertraege.CheckState) Else If Me.TStxtSucheInhalt.Text <> "" Then Me.Strukturen.Load_SubStruktur(tn, Details, "I:" + Me.TStxtSucheInhalt.Text, Me.cbaktiveVertraege.CheckState) Else Me.Strukturen.Load_SubStruktur(tn, Details, "", Me.cbaktiveVertraege.CheckState) End If End If tn.ExpandAll() End Select End Sub ''' ''' Treeview-Click ''' ''' ''' ''' Ist die Sortierung nach Vertragstyp und der Click auf dem Root-Entry, wird das Datenauslesen speziell behandelt, sodass sämtliche Vertragspartner berücksichtigt werden Private Sub TreeStruktur_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles TreeStruktur.Click Refresh_Details() End Sub ''' ''' Toplevel-Treenode suchen ''' ''' ''' ''' Private Function RootTreeNode(ByVal tn As TreeNode) As TreeNode While Not tn.Parent Is Nothing tn = tn.Parent RootTreeNode(tn) End While Return tn End Function ''' ''' Mousedown-Ereignis auf dem Tree ''' ''' ''' ''' Private Sub TreeStruktur_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles TreeStruktur.MouseDown Try Dim mouseEvents As MouseEventArgs mouseEvents = e selectPoint.Y = mouseEvents.Y selectPoint.X = mouseEvents.X Me.TreeStruktur.SelectedNode = Me.TreeStruktur.GetNodeAt(selectPoint) Catch ex As Exception MsgBox(ex.Message) End Try End Sub ''' ''' Handling RB_Changed für den Aufbau der Struktur ''' ''' ''' ''' Private Sub RB_CheckedChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles rbSortVertragspartner.CheckedChanged, rbSortVertragstyp.CheckedChanged If Me.IsOnLoad Then Exit Sub If Me.rbSortVertragspartner.Checked = False And Me.rbSortVertragstyp.Checked = False Then Exit Sub Me.Load_Struktur() End Sub ''' ''' Suchen eines Knoten Treeview ''' ''' Nodes des TreeView ''' Tag.Keyvalue ''' Node.Text als Suchbegriff ''' ''' Public Function FindNode(ByVal _nodeCollection As TreeNodeCollection, ByVal SearchVal As Integer, ByVal SearchString As String) As TreeNode Dim tmpNode As TreeNode For Each _child As TreeNode In _nodeCollection Dim xtag As TKB.VV.Vertrag.Treenode_Descriptor = _child.Tag If xtag.Keyvalue = SearchVal And SearchString = _child.Text Then Return _child End If tmpNode = FindNode(_child.Nodes, SearchVal, SearchString) If Not tmpNode Is Nothing Then Return tmpNode End If Next Return Nothing End Function #End Region #Region "TreeStruktur-Menu" ''' ''' Aktualisierung des aktuellen Knotens ''' ''' ''' ''' Private Sub TreeStrukturAktualisierenToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TreeStrukturAktualisierenToolStripMenuItem.Click Cursor = Cursors.WaitCursor Dim SaveTn As TreeNode = Me.TreeStruktur.SelectedNode Me.TreeStruktur.Enabled = False Me.TreeStruktur.BeginUpdate() Dim tmptn As TreeNode = Me.RootTreeNode(Me.TreeStruktur.SelectedNode) tmptn.Nodes.Clear() tmptn.Nodes.Add("") Me.Update_Node(tmptn, Me.Profil.bV_Struktur_Details.Value) tmptn.ExpandAll() Dim kvalue As TKB.VV.Vertrag.Treenode_Descriptor = SaveTn.Tag Me.TreeStruktur.Enabled = True Me.TreeStruktur.EndUpdate() Me.TreeStruktur.SelectedNode = FindNode(Me.TreeStruktur.Nodes, kvalue.Keyvalue, SaveTn.Text) TreeStruktur_Click(sender, e) Cursor = Cursors.Default End Sub ''' ''' Vollständiger Treeview aktualisieren ''' ''' ''' ''' Private Sub TreeStrukturTreeAktualisierenToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TreeStrukturTreeAktualisierenToolStripMenuItem.Click Refresh_All() End Sub ''' ''' Treeview Struktur aktualisieren ''' ''' Private Sub Refresh_All() Cursor = Cursors.WaitCursor Me.TreeStruktur.Enabled = False Me.TreeStruktur.BeginUpdate() Dim SaveTn As TreeNode = Me.TreeStruktur.SelectedNode Dim tmptn As TreeNode = Me.RootTreeNode(Me.TreeStruktur.SelectedNode) Me.TreeStruktur.Nodes.Clear() Me.Load_Struktur() Dim keyvalue As TKB.VV.Vertrag.Treenode_Descriptor = tmptn.Tag Me.TreeStruktur.Enabled = True Me.TreeStruktur.EndUpdate() Me.TreeStruktur.SelectedNode = FindNode(Me.TreeStruktur.Nodes, keyvalue.Keyvalue, tmptn.Text) Me.TreeStruktur.Enabled = False Me.TreeStruktur.BeginUpdate() Me.Update_Node(tmptn, Me.Profil.bV_Struktur_Details.Value) Me.TreeStruktur.SelectedNode.ExpandAll() Me.TreeStruktur.Enabled = True Me.TreeStruktur.EndUpdate() keyvalue = SaveTn.Tag Me.TreeStruktur.SelectedNode = FindNode(Me.TreeStruktur.Nodes, keyvalue.Keyvalue, SaveTn.Text) Refresh_Details() Cursor = Cursors.Default End Sub ''' '''Details aktualisieren ''' ''' Dim xxx() As String Private Sub Refresh_Details() Try Dim bm As Integer = 0 bm = Me.C1Vertragselemente.Bookmark Cursor = Cursors.WaitCursor If Me.rbSortVertragstyp.Checked And Me.TreeStruktur.SelectedNode.Level = 0 Then c1data = Me.Strukturen.Update_Vertragsuebersicht(Me.TreeStruktur.SelectedNode.Tag, True, Me.TStxtSucheInhalt.Text) Else c1data = Me.Strukturen.Update_Vertragsuebersicht(Me.TreeStruktur.SelectedNode.Tag, , Me.TStxtSucheInhalt.Text) End If If Me.Profil.sV_Sort.ToString <> "" Then c1data.DefaultView.Sort = Me.Profil.sV_Sort.ToString End If Dim gv As C1.Win.C1TrueDBGrid.DataViewEnum Dim s As New Collection Dim i As Integer = -1 For Each g As C1.Win.C1TrueDBGrid.C1DataColumn In Me.C1Vertragselemente.GroupedColumns s.Add(g.Caption) i = i + 1 ' xxx(i) = g.Caption Next i = Me.C1Vertragselemente.DataView Me.C1Vertragselemente.Enabled = False Me.C1Vertragselemente.DataSource = c1data Me.C1Vertragselemente.DataMember = c1data.TableName Me.SpaltenTitel.Spaltentitel_aktualisieren_Optionaler_Aktiv_Filer(Me.C1Vertragselemente, "Vertragsuebersicht", Me.c1data, Me.Profil.sV_Aktiv_Vertragselemente.Value) Update_Details() Docs.Get_Layout(Me.C1Vertragselemente, 1, Me.Profil.iProfilnr.Value) Me.C1Vertragselemente.FetchRowStyles = True If i <> 0 Then Try Me.C1Vertragselemente.DataView = C1.Win.C1TrueDBGrid.DataViewEnum.Normal Me.C1Vertragselemente.DataView = i For Each ss As String In s Me.C1Vertragselemente.GroupedColumns.Add(Me.C1Vertragselemente.Columns(ss)) Next Catch ex As Exception End Try End If s = Nothing Try Select Case Me.cbaktiveVertraege.CheckState Case CheckState.Checked C1Vertragselemente.Columns("aktiv").FilterText = True Case CheckState.Unchecked C1Vertragselemente.Columns("aktiv").FilterText = False Case CheckState.Indeterminate C1Vertragselemente.Columns("aktiv").FilterText = "" End Select Catch ex As Exception End Try Try Me.C1Vertragselemente.Bookmark = bm Catch ex As Exception End Try Me.C1Vertragselemente.Enabled = True Catch ex As Exception Finally Cursor = Cursors.Default Me.C1Vertragselemente.Focus() End Try End Sub Private Sub Refresh_Vertragselemente() c1data = Me.Strukturen.Get_Alle_Vertragselemente() Me.C1Vertragselemente.DataSource = c1data Me.C1Vertragselemente.DataMember = c1data.TableName Me.SpaltenTitel.Spaltentitel_aktualisieren(Me.C1Vertragselemente, "Vertragselemente_vollstaendig", Me.c1data) End Sub ''' ''' Vertragspartner anzeigen / bearbeiten ''' ''' ''' ''' Private Sub TreeStrukturVertragspartnerAnzeigenToolStipMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TreeStrukturVertragspartnerAnzeigenToolStipMenuItem.Click Dim tmptag As TKB.VV.Vertrag.Treenode_Descriptor = Me.TreeStruktur.SelectedNode.Tag If tmptag.Type = "Vertragspartner" Then Dim f As New frmVertragspartner(tmptag.Vertragspartnernr, Me.FormReadonly) f.MdiParent = Me.MdiParent f.Show() End If End Sub ''' ''' TreeStrukturContetmenu anzeigen und allfällige MenuItems disablen ''' ''' ''' ''' Private Sub TreeStrukturContextMenuStrip_Opening(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles TreeStrukturContextMenuStrip.Opening Try Me.TreeStrukturVertragspartnerAnzeigenToolStipMenuItem.Enabled = False Tag_Descriptor = Me.TreeStruktur.SelectedNode.Tag Select Case Tag_Descriptor.Type Case "Vertragspartner" Me.TreeStrukturVertragspartnerAnzeigenToolStipMenuItem.Enabled = True End Select Catch ex As Exception End Try End Sub #End Region #Region "VertragselementMenu" ''' ''' Neuer Vertragspartner eröffnen ''' ''' ''' ''' Private Sub NeuerVertragspartnerToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles NeuerVertragspartnerToolStripMenuItem.Click Dim f As New frmVertragspartner(0, Me.FormReadonly, True) f.ShowDialog() End Sub ''' ''' Spaltenlayout C1Vertragselemente speichern ''' ''' ''' ''' Private Sub SpaltendarstellungSichernToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TabellendarstellungSichernToolStripMenuItem.Click Docs.Save_LayoutFile(Me.C1Vertragselemente, 1, Me.Profil.iProfilnr.Value) End Sub ''' ''' Vertragselement anzeigen / bearbeiten ''' ''' ''' ''' Private Sub VertragselementAnzeigenBearbeitenToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles VertragselementAnzeigenBearbeitenToolStripMenuItem.Click Me.C1Vertragselemente_DoubleClick(sender, e) End Sub ''' ''' Neues Vertragselement laden ''' ''' ''' ''' Sind keine Elemente in der Vertragselement-Liste, Vertragspartner über Struktureintrag auslesen. ''' Geht dies aufgrund der Datenkonstellation nicht, Vertragspartner 0 übergaben, damit ein Partner ausgesucht werden muss Private Sub NeuesVertragselementErstellenToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles NeuesVertragselementErstellenToolStripMenuItem.Click Try If Me.C1Vertragselemente.Splits(0).Rows.Count = 0 Then Dim x As TKB.VV.Vertrag.Treenode_Descriptor = Me.TreeStruktur.SelectedNode.Tag Dim f As New frmVertragselement(-1, False, True, x.Vertragspartnernr) f.MdiParent = Me.MdiParent f.Show() Else Dim f As New frmVertragselement(-1, False, True, Me.C1Vertragselemente.Columns("Vertragspartnernr").Value) f.MdiParent = Me.MdiParent f.Show() End If Catch ex As Exception Dim f As New frmVertragselement(-1, False, True, 0) f.MdiParent = Me.MdiParent f.Show() End Try End Sub #End Region #Region "C1Vertragselemente" ''' ''' Doubleklick auf C1Vertragselemente ''' ''' ''' ''' Steht der MenuEintrag VertragselementAnzeigenBearbeitenToolStripMenuItem nicht ''' zur Verfügung, muss der Doppelclick ignoriert werden Private Sub C1Vertragselemente_DoubleClick(ByVal sender As Object, ByVal e As System.EventArgs) Handles C1Vertragselemente.DoubleClick If VertragselementAnzeigenBearbeitenToolStripMenuItem.Enabled = False Then Exit Sub End If Try Dim f As New frmVertragselement(Me.C1Vertragselemente.Columns("Vertragselementnr").Value, Me.FormReadonly, False) f.MdiParent = Me.MdiParent f.Show() Catch ex As Exception End Try End Sub ''' ''' Bei inaktiven Einträgen Schrift "grau" setzen und durchstreichen ''' ''' ''' ''' ''' Private Sub C1TrueDBGrid1_FetchGroupCellStyle(ByVal sender As Object, ByVal e As C1.Win.C1TrueDBGrid.FetchCellStyleEventArgs) Handles C1Vertragselemente.FetchGroupCellStyle If Me.C1Vertragselemente.Columns("aktiv").CellValue(e.Row) = False Then Dim FNT As Font = e.CellStyle.Font e.CellStyle.Font = New Font(FNT, FontStyle.Strikeout) e.CellStyle.ForeColor = Color.Gray End If End Sub Private Sub C1Vertragselemente_FetchRowStyle(ByVal sender As Object, ByVal e As C1.Win.C1TrueDBGrid.FetchRowStyleEventArgs) Handles C1Vertragselemente.FetchRowStyle Try ' Dim fntdefault As Font = e.CellStyle.Font ' e.CellStyle.Font = New Font(fntdefault, FontStyle.Regular) ' e.CellStyle.ForeColor = Color.Black If Me.C1Vertragselemente.Splits(0).Rows(e.Row).RowType = C1.Win.C1TrueDBGrid.RowTypeEnum.DataRow Then Dim row As Integer = Me.C1Vertragselemente.RowBookmark(e.Row) If Me.C1Vertragselemente.Columns("aktiv").CellValue(row) = False Then Dim FNT As Font = e.CellStyle.Font e.CellStyle.Font = New Font(FNT, FontStyle.Strikeout) e.CellStyle.ForeColor = Color.Gray End If End If Catch Finally Me.C1Vertragselemente.Enabled = True If Me.C1Vertragselemente.Splits(0).Rows.Count > 0 And Me.TabControlDiverse.Enabled = False Then Me.TabControlDiverse.Enabled = False Update_Details() Me.TabControlDiverse.Enabled = True End If End Try End Sub ''' ''' Datum Formatieren ''' ''' ''' ''' Private Sub C1Vertragselemente_FormatText(ByVal sender As Object, ByVal e As C1.Win.C1TrueDBGrid.FormatTextEventArgs) Handles C1Vertragselemente.FormatText If e.Column.DataType.Name = "DateTime" And e.Value = "01.01.1900 00:00:00" Then e.Value = "" End Sub Private Sub C1Vertragselemente_MouseClick(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles C1Vertragselemente.MouseClick If Me.TSBtnAlleElemente.CheckState = CheckState.Checked Then Try Update_Details() Catch ex As Exception End Try End If End Sub ''' ''' Mousedown-Ereignis auf C1Certragselemente, damit die Details aktualisiert werden können ''' ''' ''' ''' Private Sub C1Vertragselemente_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles C1Vertragselemente.MouseDown If Me.TSBtnAlleElemente.CheckState = CheckState.Checked Then Update_Details() Exit Sub End If Me.C1Vertragselemente.Bookmark = Me.C1Vertragselemente.RowContaining(e.Y) Me.C1Vertragselemente.Bookmark = Me.C1Vertragselemente.RowBookmark(Me.C1Vertragselemente.RowContaining(e.Y)) Update_Details() End Sub #End Region #Region "Detailinformationen" ''' ''' Detailelemente und die allfällig ausgewählte TabPage aktualisieren ''' ''' Private Sub Update_Details() If Me.C1Vertragselemente.Splits(0).Rows.Count < 1 Then Me.TabControlDiverse.Enabled = False Exit Sub End If Me.TabControlDiverse.Enabled = True Update_DetailInformationen() Select Case Me.TabControlDiverse.SelectedTab.Text Case "Vertragsinhalt", "Suchbegriffe" Case "Kündigungsfristen" Refresh_Kuendigungsfrist() Case "Kontakte" Refresh_Kontakte() Case "Dokumente" Refresh_Dokumente() Case "Services" Refresh_services() Case "Ereignisse" Refresh_Ereignisse() Case "Aktivitäten" Refresh_Aktivitaeten() Case "Pendenzen" Refresh_Pendenzen() Case "Referenzverträge" Refresh_Referenzvertraege() Case "History" Refresh_History() Case "Applikationen" Refresh_Applikationen() Me.Lizenzkauf_Aktualisieren() End Select End Sub #End Region #Region "TabControl" ''' ''' Index-Wechsel auf TabControlDiverse. Abhängig der gewählten Registerlasche, werden deren Daten aktualisiert. ''' ''' ''' ''' Private Sub TabControlDiverse_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles TabControlDiverse.SelectedIndexChanged Update_Details() End Sub ''' ''' Detail-Informationen der ersten 2 TabPages aktualisieren ''' ''' Private Sub Update_DetailInformationen() Try Me.txtParentelement.Text = Me.C1Vertragselemente.Columns("Parent").Value.ToString Me.txtBeschreibung.Text = Me.C1Vertragselemente.Columns("Beschreibung").Value.ToString Me.txtVertragstyp.Text = Me.C1Vertragselemente.Columns("Vertragstyp").Value.ToString Me.txtBezeichnung.Text = Me.C1Vertragselemente.Columns("Bezeichnung").Value.ToString Me.txtSuchbegriffe.Text = Me.C1Vertragselemente.Columns("Suchbegriffe").Value.ToString Me.txtVersion.Text = Me.C1Vertragselemente.Columns("Version").Value.ToString Me.txtVertragsnummer.Text = Me.C1Vertragselemente.Columns("Nummer").Value If Not Me.C1Vertragselemente.Columns("Versionsdatum").Value Is System.DBNull.Value Then Me.txtVersionsdatum.Text = Me.C1Vertragselemente.Columns("Versionsdatum").Value Else Me.txtVersionsdatum.Text = "" End If If Not Me.C1Vertragselemente.Columns("Vertragsbeginn").Value Is System.DBNull.Value Then Me.txtVertragsbegin.Text = Me.C1Vertragselemente.Columns("Vertragsbeginn").Value Else Me.txtVertragsbegin.Text = "" End If If Not Me.C1Vertragselemente.Columns("Vertragsablauf").Value Is System.DBNull.Value Then Me.txtVertragsende.Text = Me.C1Vertragselemente.Columns("Vertragsablauf").Value Else Me.txtVertragsende.Text = "" End If If Not Me.C1Vertragselemente.Columns("Mindestvertragsdauer_bis").Value Is System.DBNull.Value Then Me.txtMindestvertragsdauerbis.Text = Me.C1Vertragselemente.Columns("Mindestvertragsdauer_bis").Value Else Me.txtMindestvertragsdauerbis.Text = "" End If If Not Me.C1Vertragselemente.Columns("Unterzeichnet_am").Value Is System.DBNull.Value Then Me.txtUnterzeichnetam.Text = Me.C1Vertragselemente.Columns("Unterzeichnet_am").Value Else Me.txtUnterzeichnetam.Text = "" End If If Not Me.C1Vertragselemente.Columns("Gekuendigt_am").Value Is System.DBNull.Value Then Me.txtGekuendigtam.Text = Me.C1Vertragselemente.Columns("Gekuendigt_am").Value Else Me.txtGekuendigtam.Text = "" End If If Not Me.C1Vertragselemente.Columns("Gekuendigt_per").Value Is System.DBNull.Value Then Me.txtGekuendigtper.Text = Me.C1Vertragselemente.Columns("Gekuendigt_per").Value Else Me.txtGekuendigtper.Text = "" End If Me.cboxSecurityLevel.SelectedValue = Me.C1Vertragselemente.Columns("SecurityLevelNr").Value Try Me.rbbefristet.Checked = Me.C1Vertragselemente.Columns("befristet_unbefristet").Value If Me.rbbefristet.Checked = False Then Me.rbUnbefristet.Checked = True Catch Me.rbbefristet.Checked = False Me.rbUnbefristet.Checked = True End Try Me.txtErstelltam.Text = Me.C1Vertragselemente.Columns("Erstellt_am").Value.ToString Me.txtMutiertam.Text = Me.C1Vertragselemente.Columns("Mutiert_am").Value.ToString Me.txtMutierer.Text = Me.C1Vertragselemente.Columns("Mutierername").Value.ToString Try Me.cbaktiv.Checked = Me.C1Vertragselemente.Columns("aktiv").Value = True Catch ex As Exception Me.cbaktiv.Checked = True End Try Catch ex As Exception MsgBox(ex.Message) End Try End Sub Private Function update_details(ByRef s As String, ByVal c1element As String) Try If Not Me.C1Vertragselemente.Columns(c1element).Value Is System.DBNull.Value Then s = Me.C1Vertragselemente.Columns(c1element).Value Else s = "" End If Catch ex As Exception s = "" End Try End Function ''' ''' Reihenfolge der Register im Tabcontrol anpassen ''' ''' Private Sub Order_Tabcontrol() Try If Me.Profil.sV_Register.Value = "" Then Exit Sub Dim tabs() As String Dim i As Integer = 0 tabs = Me.Profil.sV_Register.Value.Split(";") For Each tb As String In tabs If tb = "" Then Exit For For Each tbp As TabPage In Me.TabControlDiverse.TabPages If tbp.Text = tb Then Try Me.TabControlDiverse.TabPages.Remove(tbp) Catch End Try Try Me.TabControlDiverse.TabPages.Insert(i, tbp) Catch End Try i = i + 1 End If Next Next Catch End Try End Sub ''' ''' Kündigungsfristen aktualisieren ''' ''' Private Sub Refresh_Kuendigungsfrist() Me.Vertragselement = New TKB.VV.Vertrag.clsVertragselement Me.C1Kuendigungsfristen.Enabled = False Me.Vertragselement.Get_Kuendigungsfristen(Me.C1Kuendigungsfristen, Me.C1Vertragselemente.Columns("Vertragselementnr").Value) ' Me.SpaltenTitel.Spaltentitel_aktualisieren(Me.C1Kuendigungsfristen, "Kuendigungsfrist", Me.Vertragselement.Kuendigungsfristen.Tabledata) Me.SpaltenTitel.Spaltentitel_aktualisieren_Optionaler_Aktiv_Filer(Me.C1Kuendigungsfristen, "Kuendigungsfrist", Me.Vertragselement.Kuendigungsfristen.Tabledata.Tables(0), Me.Profil.sV_Aktiv_Vertragselemente.Value) Me.C1Kuendigungsfristen.Enabled = True Me.Vertragselement.dispose() End Sub ''' ''' Bei inaktiven Einträgen Schrift "grau" setzen und durchstreichen ''' ''' ''' ''' Private Sub C1Kuendigungsfristen_FetchRowStyle(ByVal sender As Object, ByVal e As C1.Win.C1TrueDBGrid.FetchRowStyleEventArgs) Handles C1Kuendigungsfristen.FetchRowStyle Try If Me.C1Kuendigungsfristen.Columns("aktiv").CellValue(e.Row) = False Then Dim FNT As Font = e.CellStyle.Font e.CellStyle.Font = New Font(FNT, FontStyle.Strikeout) e.CellStyle.ForeColor = Color.Gray End If Catch End Try End Sub ''' ''' Kontakte aktualisieren ''' ''' Private Sub Refresh_Kontakte() Me.Vertragselement = New TKB.VV.Vertrag.clsVertragselement Me.C1Kontakte.Enabled = False Me.Vertragselement.Get_Vertragskontakte(Me.C1Kontakte, Me.C1Vertragselemente.Columns("Vertragselementnr").Value) ' Me.SpaltenTitel.Spaltentitel_aktualisieren(Me.C1Kontakte, "Vertragskontakt", Me.Vertragselement.Vertragskontakte.Tabledata) Me.SpaltenTitel.Spaltentitel_aktualisieren_Optionaler_Aktiv_Filer(Me.C1Kontakte, "Vertragskontakt", Me.Vertragselement.Vertragskontakte.Tabledata.Tables(0), Me.Profil.sV_Aktiv_Vertragselemente.Value) sec.Set_Form_Security(Me) Me.C1Kontakte.Enabled = True Me.Vertragselement.dispose() End Sub ''' ''' Bei inaktiven Einträgen Schrift "grau" setzen und durchstreichen ''' ''' ''' ''' Private Sub C1Kontakte_FetchRowStyle(ByVal sender As Object, ByVal e As C1.Win.C1TrueDBGrid.FetchRowStyleEventArgs) Handles C1Kontakte.FetchRowStyle Try If Me.C1Kontakte.Columns("aktiv").CellValue(e.Row) = False Then Dim FNT As Font = e.CellStyle.Font e.CellStyle.Font = New Font(FNT, FontStyle.Strikeout) e.CellStyle.ForeColor = Color.Gray End If Catch End Try End Sub ''' ''' Dokumente aktualisieren ''' ''' Private Sub Refresh_Dokumente() Try Me.Vertragselement = New TKB.VV.Vertrag.clsVertragselement Me.C1Dokumente.Enabled = False Me.Vertragselement.Get_Dokumente(Me.C1Dokumente, Me.C1Vertragselemente.Columns("Vertragselementnr").Value, Me.ImageListeDocIcon) ' Me.SpaltenTitel.Spaltentitel_aktualisieren(Me.C1Dokumente, "Dokument", Me.Vertragselement.dokumente.Tabledata.Tables(0), False) Me.SpaltenTitel.Spaltentitel_aktualisieren_Optionaler_Aktiv_Filer(Me.C1Dokumente, "dokument", Me.Vertragselement.dokumente, Me.Profil.sV_Aktiv_Vertragselemente.Value) Me.C1Dokumente.Enabled = True Me.Vertragselement.dispose() Catch ex As Exception End Try End Sub ''' ''' Bei inaktiven Einträgen Schrift "grau" setzen und durchstreichen ''' ''' ''' ''' Private Sub C1Dokumente_FetchRowStyle(ByVal sender As Object, ByVal e As C1.Win.C1TrueDBGrid.FetchRowStyleEventArgs) Handles C1Dokumente.FetchRowStyle Try If Me.C1Dokumente.Columns("aktiv").CellValue(e.Row) = False Then Dim FNT As Font = e.CellStyle.Font e.CellStyle.Font = New Font(FNT, FontStyle.Strikeout) e.CellStyle.ForeColor = Color.Gray End If Catch End Try End Sub ''' ''' Ereignisse aktualisieren ''' ''' Private Sub Refresh_Ereignisse() Me.Vertragselement = New TKB.VV.Vertrag.clsVertragselement Me.C1Ereignisse.Enabled = False Me.Vertragselement.Get_Vertragsereignisse(Me.C1Ereignisse, Me.C1Vertragselemente.Columns("Vertragselementnr").Value) Me.SpaltenTitel.Spaltentitel_aktualisieren_Optionaler_Aktiv_Filer(Me.C1Ereignisse, "Vertragsereignis", Me.Vertragselement.Vertragsereignisse.Tabledata.Tables(0), Me.Profil.sV_Aktiv_Vertragselemente.Value) sec.Set_Form_Security(Me) Me.C1Ereignisse.Enabled = True Me.Vertragselement.dispose() End Sub ''' ''' Bei inaktiven Einträgen Schrift "grau" setzen und durchstreichen ''' ''' ''' ''' Private Sub C1Ereignisse_FetchRowStyle(ByVal sender As Object, ByVal e As C1.Win.C1TrueDBGrid.FetchRowStyleEventArgs) Handles C1Ereignisse.FetchRowStyle Try If Me.C1Ereignisse.Columns("aktiv").CellValue(e.Row) = False Then Dim FNT As Font = e.CellStyle.Font e.CellStyle.Font = New Font(FNT, FontStyle.Strikeout) e.CellStyle.ForeColor = Color.Gray End If Catch End Try End Sub ''' ''' Pendenzen aktualisieren ''' ''' Private Sub Refresh_Pendenzen() Me.Vertragselement = New TKB.VV.Vertrag.clsVertragselement Me.C1Ereignisse.Enabled = False Me.Vertragselement.Get_Pendenzen(Me.C1Pendenzen, Me.C1Vertragselemente.Columns("Vertragselementnr").Value) Me.SpaltenTitel.Spaltentitel_aktualisieren_Optionaler_Aktiv_Filer(Me.C1Pendenzen, "Pendenz", Me.Vertragselement.Pendenzen.Tabledata.Tables(0), Me.Profil.sV_Aktiv_Vertragselemente.Value) sec.Set_Form_Security(Me) Me.C1Pendenzen.Enabled = True Me.Vertragselement.dispose() End Sub ''' ''' Bei inaktiven Einträgen Schrift "grau" setzen und durchstreichen ''' ''' ''' ''' Private Sub C1Pendenzen_FetchRowStyle(ByVal sender As Object, ByVal e As C1.Win.C1TrueDBGrid.FetchRowStyleEventArgs) Handles C1Pendenzen.FetchRowStyle Try If Me.C1Pendenzen.Columns("aktiv").CellValue(e.Row) = False Then Dim FNT As Font = e.CellStyle.Font e.CellStyle.Font = New Font(FNT, FontStyle.Strikeout) e.CellStyle.ForeColor = Color.Gray End If If Me.C1Pendenzen.Columns("PendenzStatusNr").CellValue(e.Row) < 3 Then If Me.C1Pendenzen.Columns("Termin").Value < Now Then Dim fnt As Font = e.CellStyle.Font e.CellStyle.ForeColor = Color.Red End If End If Catch End Try End Sub ''' ''' Referenzverträge aktualisieren ''' ''' Private Sub Refresh_Referenzvertraege() Me.Vertragselement = New TKB.VV.Vertrag.clsVertragselement Me.C1ReferenzVertraege.Enabled = False Me.Vertragselement.Get_Vertragselement_Referenzen(Me.C1ReferenzVertraege, Me.C1Vertragselemente.Columns("Vertragselementnr").Value) Me.SpaltenTitel.Spaltentitel_aktualisieren_Optionaler_Aktiv_Filer(Me.C1ReferenzVertraege, "Vertragselement_Referenz", Me.Vertragselement.Vertragselement_Referenzen.Tabledata.Tables(0), Me.Profil.sV_Aktiv_Vertragselemente.Value) sec.Set_Form_Security(Me) Dim bmp0 As New Bitmap(Me.ImageListeReferenzVertrasege.Images(1)) Dim bmp1 As New Bitmap(Me.ImageListeReferenzVertrasege.Images(0)) Dim v0 As New C1.Win.C1TrueDBGrid.ValueItem() Dim v1 As New C1.Win.C1TrueDBGrid.ValueItem() v0.DisplayValue = bmp0 v0.Value = 0 v1.DisplayValue = bmp1 v1.Value = 1 Me.C1ReferenzVertraege.Columns("Owner").ValueItems.Values.Add(v0) Me.C1ReferenzVertraege.Columns("Owner").ValueItems.Values.Add(v1) Me.C1ReferenzVertraege.Columns("Owner").ValueItems.Translate = True Me.C1ReferenzVertraege.Enabled = True Me.Vertragselement.dispose() End Sub ''' ''' Bei inaktiven Einträgen Schrift "grau" setzen und durchstreichen ''' ''' ''' ''' Private Sub C1ReferenzVertraege_FetchRowStyle(ByVal sender As Object, ByVal e As C1.Win.C1TrueDBGrid.FetchRowStyleEventArgs) Handles C1ReferenzVertraege.FetchRowStyle Try If Me.C1ReferenzVertraege.Columns("aktiv").CellValue(e.Row) = False Then Dim FNT As Font = e.CellStyle.Font e.CellStyle.Font = New Font(FNT, FontStyle.Strikeout) e.CellStyle.ForeColor = Color.Gray End If Catch End Try 'Try ' If Me.C1ReferenzVertraege.Columns("Owner").CellValue(e.Row) = 0 Then ' e.CellStyle.BackColor = Color.CadetBlue ' End If 'Catch ex As Exception 'End Try End Sub ''' ''' Services aktualisieren ''' ''' Private Sub Refresh_services() Me.Vertragselement = New TKB.VV.Vertrag.clsVertragselement Me.C1Services.Enabled = False Me.Vertragselement.Get_Services(Me.C1Services, Me.C1Vertragselemente.Columns("Vertragselementnr").Value) Me.SpaltenTitel.Spaltentitel_aktualisieren_Optionaler_Aktiv_Filer(Me.C1Services, "Vertragsleistung", Me.Vertragselement.Services.Tabledata.Tables(0), Me.Profil.sV_Aktiv_Vertragselemente.Value) sec.Set_Form_Security(Me) Me.C1Services.Enabled = True Me.Vertragselement.dispose() End Sub ''' ''' Bei inaktiven Einträgen Schrift "grau" setzen und durchstreichen ''' ''' ''' ''' Private Sub C1Services_FetchRowStyle(ByVal sender As Object, ByVal e As C1.Win.C1TrueDBGrid.FetchRowStyleEventArgs) Handles C1Services.FetchRowStyle Try If Me.C1Services.Columns("aktiv").CellValue(e.Row) = False Then Dim FNT As Font = e.CellStyle.Font e.CellStyle.Font = New Font(FNT, FontStyle.Strikeout) e.CellStyle.ForeColor = Color.Gray End If Catch End Try End Sub ''' ''' History aktualisieren ''' ''' Private Sub Refresh_History() Me.Vertragselement = New TKB.VV.Vertrag.clsVertragselement Me.C1History.Enabled = False Me.Vertragselement.Get_History(Me.C1History, Me.C1Vertragselemente.Columns("Vertragselementnr").Value) Me.SpaltenTitel.Spaltentitel_aktualisieren_Optionaler_Aktiv_Filer(Me.C1History, "History", Me.Vertragselement.History.Tabledata.Tables(0), Me.Profil.sV_Aktiv_Vertragselemente.Value) sec.Set_Form_Security(Me) Me.C1History.Enabled = True Me.Vertragselement.dispose() End Sub ''' ''' Applikationen aktualisieren ''' ''' Private Sub Refresh_Applikationen() Me.Vertragselement = New TKB.VV.Vertrag.clsVertragselement Me.C1Applikationen.Enabled = False Me.Vertragselement.Get_Applikationen(Me.C1Applikationen, Me.C1Vertragselemente.Columns("Vertragselementnr").Value) Me.SpaltenTitel.Spaltentitel_aktualisieren_Optionaler_Aktiv_Filer(Me.C1Applikationen, "Vertragselementapplikation", Me.Vertragselement.VertragselementApplikationen.Tabledata.Tables(0), Me.Profil.sV_Aktiv_Vertragselemente.Value) sec.Set_Form_Security(Me) Me.C1Applikationen.Enabled = True Me.Vertragselement.dispose() End Sub ''' ''' Bei inaktiven Einträgen Schrift "grau" setzen und durchstreichen ''' ''' ''' ''' Private Sub C1Applikationen_FetchRowStyle(ByVal sender As Object, ByVal e As C1.Win.C1TrueDBGrid.FetchRowStyleEventArgs) Handles C1Applikationen.FetchRowStyle Try If Me.C1Applikationen.Columns("aktiv").CellValue(e.Row) = False Then Dim FNT As Font = e.CellStyle.Font e.CellStyle.Font = New Font(FNT, FontStyle.Strikeout) e.CellStyle.ForeColor = Color.Gray End If Catch End Try End Sub ''' ''' Aktivitäten aktualisieren ''' ''' Private Sub Refresh_Aktivitaeten() Me.Vertragselement = New TKB.VV.Vertrag.clsVertragselement Me.C1Aktivitaeten.Enabled = False Me.Vertragselement.Get_Aktivitaeten(Me.C1Aktivitaeten, Me.C1Vertragselemente.Columns("Vertragselementnr").Value) Me.SpaltenTitel.Spaltentitel_aktualisieren_Optionaler_Aktiv_Filer(Me.C1Aktivitaeten, "Aktivitaet", Me.Vertragselement.Aktivitaeten.Tabledata.Tables(0), Me.Profil.sV_Aktiv_Vertragselemente.Value) sec.Set_Form_Security(Me) Me.C1Aktivitaeten.Enabled = True Me.Vertragselement.dispose() End Sub ''' ''' Bei inaktiven Einträgen Schrift "grau" setzen und durchstreichen ''' ''' ''' ''' Private Sub C1Aktivitaeten_FetchRowStyle(ByVal sender As Object, ByVal e As C1.Win.C1TrueDBGrid.FetchRowStyleEventArgs) Handles C1Aktivitaeten.FetchRowStyle Try If Me.C1Aktivitaeten.Columns("aktiv").CellValue(e.Row) = False Then Dim FNT As Font = e.CellStyle.Font e.CellStyle.Font = New Font(FNT, FontStyle.Strikeout) e.CellStyle.ForeColor = Color.Gray End If Catch End Try End Sub #End Region #Region "Generic Event-Handler-Ereignisse" Private Sub evh_FormularVertragelement_Closed(ByVal Vertragspartnernr As Integer, ByVal Vertragselementnr As Integer) Handles evh.FormularVertragelement_Closed Try If Globals.clsapplication.bVertragsuebersicht_aktualisieren.Value = True Then Refresh_All() Catch ex As Exception End Try End Sub Private Sub evh_FormularVertragspartner_Closed(ByVal Vertragspartnernr As Integer) Handles evh.FormularVertragspartner_Closed Try If Globals.clsapplication.bVertragsuebersicht_aktualisieren.Value = True Then Refresh_All() Catch ex As Exception End Try End Sub Private Sub Refresh_Register() Handles evh.Update_Uebersicht If Globals.clsapplication.bVertragsuebersicht_aktualisieren.Value = True Then Refresh_All() End Sub #End Region #Region "Dokumente" ''' ''' Dokument ab Datenbank anzeigen ''' ''' ''' ''' Private Sub DokumentAnzeigenToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles DokumentAnzeigenToolStripMenuItem.Click Try Dim tmpdok As New TKB.VV.DMS.clsDok tmpdok.Show_Doc(Me.C1Dokumente.Columns("Dokumentnr").Value) tmpdok.Dispose() Catch ex As Exception End Try End Sub ''' ''' Dokument ab Datenbank anzeigen ''' ''' ''' ''' Steht der MenuEintrag DokumentAnzeigenToolStripMenuIte nicht ''' zur Verfügung, muss der Doppelclick ignoriert werden Private Sub C1Dokumente_DoubleClick(ByVal sender As Object, ByVal e As System.EventArgs) Handles C1Dokumente.DoubleClick If Me.DokumentAnzeigenToolStripMenuItem.Enabled = False Then Exit Sub End If Try Me.DokumentAnzeigenToolStripMenuItem_Click(sender, e) Catch End Try End Sub #End Region #Region "Profile" ''' ''' Profilliste des Mitarbeiters aktualisieren ''' ''' Private Sub Profile_Aktualisieren(Optional ByVal Aktuelles_Profil As String = "") Me.Profil.Get_Profil_By_Mitarbeiter() Me.TSComboboxProfil.Items.Clear() Dim i As Integer = 0 Dim SelIndex As Integer = -1 For Each dr As DataRow In Me.Profil.Profildata.Rows Me.TSComboboxProfil.Items.Add(dr.Item("Bezeichnung")) If Aktuelles_Profil = dr.Item("Bezeichnung") Then SelIndex = i i = i + 1 Next If SelIndex > -1 Then Me.TSComboboxProfil.SelectedIndex = SelIndex End Sub ''' ''' Bestehendes Profl auswählen ''' ''' ''' ''' Private Sub TSComboboxProfil_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles TSComboboxProfil.SelectedIndexChanged Me.TreeStruktur.BeginUpdate() Me.C1Vertragselemente.DataSource = Nothing Me.Profil.Set_Aktuelles_Profil(Me.TSComboboxProfil.Text) Try Select Case Me.Profil.sV_Aktiv_Vertragselemente.Value Case "True" Me.cbaktiveVertraege.CheckState = CheckState.Checked Case "False" Me.cbaktiveVertraege.CheckState = CheckState.Unchecked Case Else Me.cbaktiveVertraege.CheckState = CheckState.Indeterminate End Select Catch ex As Exception MsgBox(ex.Message) End Try Me.cbInaktiv.Checked = Me.Profil.bV_Aktiv_Vertragspartner = True Me.rbSortVertragspartner.Checked = False Me.rbSortVertragstyp.Checked = False If Me.Profil.bSelektionsart.Value = True Then Me.rbSortVertragspartner.Checked = True Else Me.rbSortVertragstyp.Checked = True End If '20110828 - Update Supergrid ' Me.TreeStruktur.BeginUpdate() Me.C1Vertragselemente.BeginInit() Me.TreeStruktur_Click(sender, e) Application.DoEvents() Me.C1Vertragselemente.DataView = C1.Win.C1TrueDBGrid.DataViewEnum.Normal Docs.Get_Layout(Me.C1Vertragselemente, 1, Me.Profil.iProfilnr.Value) Application.DoEvents() If Me.C1Vertragselemente.DataView = C1.Win.C1TrueDBGrid.DataViewEnum.GroupBy Then Me.TSBtnAlleElemente.CheckState = CheckState.Unchecked Me.TSBtnAlleElemente_Click(sender, e) Docs.Get_Layout(Me.C1Vertragselemente, 1, Me.Profil.iProfilnr.Value) Filter_Aktualisieren() Else Me.TSBtnAlleElemente.CheckState = CheckState.Checked Me.TSBtnAlleElemente_Click(sender, e) Docs.Get_Layout(Me.C1Vertragselemente, 1, Me.Profil.iProfilnr.Value) Me.SplitContainer1.SplitterDistance = 250 Filter_Aktualisieren() End If Me.C1Vertragselemente.EndInit() Me.TreeStruktur.EndUpdate() Me.Order_Tabcontrol() ' Me.TreeStruktur_Click(sender, e) ' Me.Order_Tabcontrol() End Sub Dim Filtercollection As New Collection Private Sub Filter_Aktualisieren() Try Filtercollection.Clear() Dim i As Integer For i = 0 To Me.C1Vertragselemente.Columns.Count - 1 If Me.C1Vertragselemente.Columns(i).FilterText <> "" Then Filtercollection.Add(New FilterClass(Me.C1Vertragselemente.Columns(i).DataField.ToString, Me.C1Vertragselemente.Columns(i).FilterText.ToString)) End If Next Catch ex As Exception End Try Try Dim i As Integer For i = 1 To Me.Filtercollection.Count Dim fc As New FilterClass fc = Me.Filtercollection.Item(i) Dim ii As Integer For ii = 0 To Me.C1Vertragselemente.Columns.Count - 1 If Me.C1Vertragselemente.Columns(ii).DataField.ToString = fc.Columname Then Me.C1Vertragselemente.Columns(ii).FilterText = fc.FilterValue Exit For End If Next Next Catch ex As Exception End Try End Sub ''' ''' Neues Profil erstellen ''' ''' ''' ''' Private Sub TSBrnNeuesProfil_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Dim a As String = InputBox(msg.Get_Meldungstext(503)) If a <> "" Then If UCase(a) = "STANDARD" Then msg.show_standardmessage(504, MsgBoxStyle.Information) Exit Sub End If Me.Profil.Set_Aktuelles_Profil(Me.Profil.Add_New(a)) Me.ProfilspeichernToolStripMenuItem_Click(sender, e) Me.Profile_Aktualisieren(a) End If End Sub #End Region Private Sub GruppieToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles GruppieToolStripMenuItem.Click If Me.C1Vertragselemente.DataView = C1.Win.C1TrueDBGrid.DataViewEnum.Normal Then Me.C1Vertragselemente.DataView = C1.Win.C1TrueDBGrid.DataViewEnum.GroupBy Else Me.C1Vertragselemente.DataView = C1.Win.C1TrueDBGrid.DataViewEnum.Normal End If End Sub Private Sub RegisterSpeichernToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RegisterSpeichernToolStripMenuItem.Click Dim s As String = "" For Each tbp As TabPage In Me.TabControlDiverse.TabPages s = s + tbp.Text + ";" Next Me.Profil.sV_Register = New SqlString(CType(s, String)) Me.Profil.Save_Data() Me.Docs.Save_LayoutFile(Me.C1Vertragselemente, 1, Me.Profil.iProfilnr.Value) msg.show_standardmessage_ReplaceText(505, MsgBoxStyle.Information, Me.Profil.sBezeichnung.Value, "") End Sub ''' ''' Neues Profil erstellen ''' ''' ''' ''' Private Sub NeuesProfilToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles NeuesProfilToolStripMenuItem.Click Dim a As String = InputBox(msg.Get_Meldungstext(503)) If a <> "" Then If UCase(a) = "STANDARD" Then msg.show_standardmessage(504, MsgBoxStyle.Information) Exit Sub End If Me.Profil.Set_Aktuelles_Profil(Me.Profil.Add_New(a)) Me.ProfilspeichernToolStripMenuItem_Click(sender, e) Me.Profile_Aktualisieren(a) End If End Sub ''' ''' Profil löschen ''' ''' ''' ''' Private Sub ProfilLöschenToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ProfilLöschenToolStripMenuItem.Click If msg.Show_MessageYesNo(500) = MsgBoxResult.Yes Then Me.Profil.Delete_Profil(Me.Profil.iProfilnr.Value) Profile_Aktualisieren() End If End Sub ''' ''' Profil speichern ''' ''' ''' ''' Private Sub ProfilspeichernToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ProfilspeichernToolStripMenuItem.Click Me.Profil.bSelektionsart = New SqlBoolean(CType(Me.rbSortVertragspartner.Checked, Boolean)) Me.Profil.bV_Aktiv_Vertragspartner = New SqlBoolean(CType(Me.cbInaktiv.Checked, Boolean)) Me.Profil.sV_Aktiv_Vertragselemente = New SqlString(CType(Me.C1Vertragselemente.Columns("aktiv").FilterText, String)) Me.Profil.Save_Data() Me.Docs.Save_LayoutFile(Me.C1Vertragselemente, 1, Me.Profil.iProfilnr.Value) msg.show_standardmessage(502, MsgBoxStyle.Information) End Sub ''' ''' Profil Editieren ''' ''' ''' ''' Private Sub ProfilBearbeitenToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ProfilBearbeitenToolStripMenuItem.Click Dim f As New frmProfilVerwaltung(Me.C1Vertragselemente, Me.Profil.iProfilnr.Value, Me.TabControlDiverse) f.ShowDialog() Me.Profile_Aktualisieren(f.txtBezeichnung.Text) Me.Profil.Get_Profil(Me.Profil.iProfilnr.Value) Me.Order_Tabcontrol() End Sub ''' ''' Alle Knoten im Tree schliessen ''' ''' ''' ''' Private Sub AlleKnotenSchliessenToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles AlleKnotenSchliessenToolStripMenuItem.Click Me.TreeStruktur.CollapseAll() End Sub ''' ''' Alle Knoten im Tree öffnen ''' ''' ''' ''' Private Sub AlleKnotenÖffnenToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles AlleKnotenÖffnenToolStripMenuItem.Click Me.TreeStruktur.ExpandAll() End Sub Private Sub TStxtSuche_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles TStxtSuche.KeyDown If e.KeyCode = Keys.Enter Then Me.TSBtnSuche_Click(sender, e) Else Me.TStxtSucheInhalt.Text = "" End If End Sub Private Sub TStxtSucheInhalt_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles TStxtSucheInhalt.KeyDown If e.KeyCode = Keys.Enter Then Me.TSBtnSucheInhalt_Click(sender, e) Else Me.TStxtSuche.Text = "" End If End Sub Private Sub TSBtnFilterAufheben_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TSBtnFilterAufheben.Click Me.TStxtSucheInhalt.Text = "" Me.TStxtSuche.Text = "" Strukturen.Get_Struktur(Me.TreeStruktur, 0, Me.cbInaktiv.Checked, 1, "") Try Me.TreeStruktur.SelectedNode = Me.TreeStruktur.Nodes(0) Me.TreeStruktur_Click(sender, e) Catch ex As Exception End Try End Sub Private Sub EinzelnerVertragsparterToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles EinzelnerVertragsparterToolStripMenuItem.Click Dim t As TKB.VV.Vertrag.Treenode_Descriptor = Me.TreeStruktur.SelectedNode.Tag Dim f As New frmVertragsuebersicht(t.Vertragspartnernr) f.MdiParent = Me.MdiParent f.Show() End Sub Private Sub txtVertragsende_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles txtVertragsende.TextChanged, txtVertragsbegin.TextChanged, _ txtVersionsdatum.TextChanged, txtGekuendigtam.TextChanged, txtGekuendigtper.TextChanged, txtMindestvertragsdauerbis.TextChanged, txtUnterzeichnetam.TextChanged 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 ''' ''' Laden der Securitylevel-Daten in die Combobox ''' ''' Private Sub Load_Securitylevel() Dim seclevel As New TKB.VV.DB.clsSecurityLevel Dim secleveldata As New DataTable seclevel.cpMainConnectionProvider = Globals.conn Globals.conn.OpenConnection() secleveldata = seclevel.SelectAll Globals.conn.CloseConnection(True) Me.cboxSecurityLevel.DataSource = secleveldata Me.cboxSecurityLevel.DisplayMember = "Bezeichnung" Me.cboxSecurityLevel.ValueMember = "SecurityLevelNr" seclevel.Dispose() End Sub Private Sub RegisterSpeichernDokumentToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RegisterSpeichernDokumentToolStripMenuItem.Click RegisterSpeichernToolStripMenuItem_Click(sender, e) End Sub Private Sub TreeStruktur_AfterSelect(ByVal sender As System.Object, ByVal e As System.Windows.Forms.TreeViewEventArgs) Handles TreeStruktur.AfterSelect Refresh_Details() End Sub Private Sub cbaktiveVertraege_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cbaktiveVertraege.CheckStateChanged Try If Me.IsOnLoad Then Exit Sub If Not Me.TreeStruktur.SelectedNode Is Nothing And Not Me.PartnerNode Is Nothing Then Me.TreeStruktur.SelectedNode = Me.PartnerNode Else Me.TreeStruktur.SelectedNode = Me.TreeStruktur.Nodes(0) End If TreeStrukturAktualisierenToolStripMenuItem_Click(sender, e) Select Case Me.cbaktiveVertraege.CheckState Case CheckState.Checked Me.cbaktiveVertraege.Text = "aktive Verträge" C1Vertragselemente.Columns("aktiv").FilterText = True Case CheckState.Unchecked Me.cbaktiveVertraege.Text = "inaktive Verträge" C1Vertragselemente.Columns("aktiv").FilterText = False Case CheckState.Indeterminate Me.cbaktiveVertraege.Text = "alle Verträge" C1Vertragselemente.Columns("aktiv").FilterText = "" End Select Catch ex As Exception Me.TreeStruktur.Enabled = False Me.TreeStruktur.BeginUpdate() End Try End Sub Private Sub C1Applikationen_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles C1Applikationen.MouseDown Me.c1Lizenzkäufe.DataSource = Nothing Me.C1Lizenzschluessel.DataSource = Nothing Me.Lizenzkauf_Aktualisieren() End Sub Private Sub c1Lizenzkäufe_FetchRowStyle(ByVal sender As Object, ByVal e As C1.Win.C1TrueDBGrid.FetchRowStyleEventArgs) Handles c1Lizenzkäufe.FetchRowStyle Try If Me.c1Lizenzkäufe.Columns("aktiv").CellValue(e.Row) = False Then Dim FNT As Font = e.CellStyle.Font e.CellStyle.Font = New Font(FNT, FontStyle.Strikeout) e.CellStyle.ForeColor = Color.Gray End If Catch End Try End Sub Private Sub c1Lizenzschluessel_FetchRowStyle(ByVal sender As Object, ByVal e As C1.Win.C1TrueDBGrid.FetchRowStyleEventArgs) Handles C1Lizenzschluessel.FetchRowStyle Try If Me.C1Lizenzschluessel.Columns("aktiv").CellValue(e.Row) = False Then Dim FNT As Font = e.CellStyle.Font e.CellStyle.Font = New Font(FNT, FontStyle.Strikeout) e.CellStyle.ForeColor = Color.Gray End If Catch End Try End Sub Private Sub C1Lizenzkäufe_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles c1Lizenzkäufe.MouseDown Me.Lizenzschluessel_Aktualisieren() End Sub ''' ''' Aktualiserung der Grids Lizenzkauf und Lizenzschluessel ''' ''' Dim applikation As New TKB.VV.Applikation.clsApplikation Private Sub Lizenzkauf_Aktualisieren() Try Try Me.c1Lizenzkäufe.Enabled = False Me.C1Lizenzschluessel.DataSource = Nothing Me.c1Lizenzkäufe.DataSource = Nothing Catch End Try Me.applikation.Get_Lizenzen(Me.C1Applikationen.Columns("Vertragselementapplikationnr").Value, Me.C1Applikationen.Columns("Applikationnr").Value) 'Me.applikation.Get_Lizenzkauf(Me.C1Applikationen.Columns("Vertragselementapplikationnr").Value, Me.C1Applikationen.Columns("Applikationnr").Value) For Each dr As DataRow In Me.applikation.Lizenzkauf.Rows If dr.Item("Kaufdatum").ToString = "01.01.1900 00:00:00" Then dr.Item("Kaufdatum") = System.DBNull.Value If dr.Item("Gueltigbis").ToString = "01.01.1900 00:00:00" Then dr.Item("Gueltigbis") = System.DBNull.Value Next Me.c1Lizenzkäufe.DataSource = Me.applikation.Lizenzkauf Me.SpaltenTitel.Spaltentitel_aktualisieren(Me.c1Lizenzkäufe, "Lizenzkauf_Uebersicht", Me.applikation.Lizenzkauf) 'Me.c1Lizenzkäufe.Columns("applikationversionnr").FilterText = Me.C1Applikationen.Columns("applikationversionnr").Value Me.Lizenzschluessel_Aktualisieren() Catch ex As Exception Exit Sub Finally Me.c1Lizenzkäufe.Enabled = True End Try End Sub ''' ''' Aktualiserung der Grids Lizenzkauf und Lizenzschluessel ''' ''' Private Sub Lizenzschluessel_Aktualisieren() Try Me.C1Lizenzschluessel.Enabled = False Try Me.C1Lizenzschluessel.DataSource = Nothing Catch End Try Me.applikation.Get_Lizenzschluessel(Me.c1Lizenzkäufe.Columns(0).Value) Me.C1Lizenzschluessel.DataSource = Me.applikation.Lizenzschluessel Me.SpaltenTitel.Spaltentitel_aktualisieren(Me.C1Lizenzschluessel, "Lizenzschluessel_Uebersicht", Me.applikation.Lizenzschluessel) Catch ex As Exception Exit Sub Finally Me.C1Lizenzschluessel.Enabled = True End Try End Sub Private Sub C1Applikationen_RowColChange(ByVal sender As Object, ByVal e As C1.Win.C1TrueDBGrid.RowColChangeEventArgs) Handles C1Applikationen.RowColChange Me.Lizenzkauf_Aktualisieren() End Sub Private Sub c1Lizenzkäufe_RowColChange(ByVal sender As Object, ByVal e As C1.Win.C1TrueDBGrid.RowColChangeEventArgs) Handles c1Lizenzkäufe.RowColChange Me.Lizenzschluessel_Aktualisieren() End Sub Private Sub StrukturNachXMLExportierenToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles StrukturNachXMLExportierenToolStripMenuItem.Click Me.inExport = True Dim f As New frmAktFortschritt f.MdiParent = Me.MdiParent f.Show() f.Label1.Text = "Daten zusammentragen" f.ProgressBar1.Value = 0 f.ProgressBar1.Minimum = 0 f.ProgressBar1.Maximum = Me.TreeStruktur.Nodes.Count f.Show() Me.TreeStruktur.CollapseAll() For Each tn As TreeNode In Me.TreeStruktur.Nodes f.ProgressBar1.Value = f.ProgressBar1.Value + 1 f.Refresh() tn.Nodes.Clear() Me.PartnerNode = tn Update_Node(tn, Me.Profil.bV_Struktur_Details.Value) Try tn.ExpandAll() Catch ex As Exception End Try Next f.Close() f.Dispose() TVToExcel.Export_Vertragselemente(Me.TreeStruktur, "") 'If Me.SaveFileDialog1.FileName <> "" Then 'TVToExcel.Export_Vertragselemente(Me.TreeStruktur, Me.SaveFileDialog1.FileName) 'End If ' Me.SaveFileDialog1.DefaultExt.Insert(0, "*.xls") ' Me.SaveFileDialog1.Filter = "-Dateien|*.xls|Alle Dateien|*.*" ' Me.SaveFileDialog1.ShowDialog() ' If Me.SaveFileDialog1.FileName <> "" Then 'TVToExcel.Export_Vertragselemente(Me.TreeStruktur, Me.SaveFileDialog1.FileName) 'End If Me.inExport = False End Sub Private Sub ApplikationAnzeigenToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ApplikationAnzeigenToolStripMenuItem.Click Dim f As New frmApplikation(Me.C1Applikationen.Columns("Applikationnr").Value, Me.FormReadonly) f.MdiParent = Me.MdiParent f.Show() End Sub Private Sub DetailContextMenuStrip_Opened(ByVal sender As Object, ByVal e As System.EventArgs) Handles DetailContextMenuStrip.Opened Dim showmenu As Boolean = False Dim velement As New TKB.VV.Vertrag.clsVertragselement ToolStripMenuItem4.Visible = False DokumenteToolStripMenuItem.Visible = False Try Dim doks, doks1 As New DataTable doks1 = velement.Get_Dokumente(Me.C1Vertragselemente.Columns("Vertragselementnr").Value) Dim dv As New DataView(doks1) dv.Sort = "Bezeichnung" doks = dv.ToTable Dim i As Integer = 0 Me.DokumenteToolStripMenuItem.DropDownItems.Clear() For i = 0 To doks.Rows.Count - 1 If doks.Rows(i).Item("aktiv") = True Then Dim ms As New ToolStripMenuItem(doks.Rows(i).Item("Bezeichnung"), Nothing, AddressOf ToolStripMenuItem_Click, doks.Rows(i).Item(0).ToString) ms.Tag = doks.Rows(i).Item("Dokumentnr").ToString Me.DokumenteToolStripMenuItem.DropDownItems.Add(ms) showmenu = True End If ''Me.DokumenteToolStripMenuItem.DropDownItems.Add(doks.Rows(i).Item("Bezeichnung"), Nothing, AddressOf ToolStripMenuItem_Click) Next If showmenu Then Me.ToolStripMenuItem4.Visible = True Me.DokumenteToolStripMenuItem.Visible = True sec.Set_Menu_Security(Me, Me.DokumenteToolStripMenuItem, "DetailContextMenuStrip") End If Catch ex As Exception End Try End Sub Private Sub ToolStripMenuItem_Click(ByVal sender As Object, ByVal e As System.EventArgs) Dim menuItem As ToolStripMenuItem = TryCast(sender, ToolStripMenuItem) If menuItem IsNot Nothing Then Dim tmpdok As New TKB.VV.DMS.clsDok tmpdok.Show_Doc(menuItem.Tag) tmpdok.Dispose() End If End Sub Private Sub ContextMenuApplikation_Opening(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles ContextMenuApplikation.Opening End Sub Private Sub DokumentinformationenAnzeigenToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles DokumentinformationenAnzeigenToolStripMenuItem.Click Try Dim f As New frmDokument(Me.C1Dokumente.Columns("Dokumentnr").Value, 1, Me.C1Vertragselemente.Columns("Vertragselementnr").Value, True) f.MdiParent = Me.MdiParent f.Show() Catch ex As Exception End Try End Sub Private Sub AktivePartToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles AktivePartToolStripMenuItem.Click Me.TSDropDownPartner.Text = "aktive Partner" Me.cbInaktiv.Checked = True End Sub Private Sub AllePartnerToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles AllePartnerToolStripMenuItem.Click Me.TSDropDownPartner.Text = "alle Partner" Me.cbInaktiv.Checked = False End Sub Private Sub AlleVerträgeToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles AlleVerträgeToolStripMenuItem.Click Me.TSDropDwonVertraege.Text = "alle Vertraege" Me.cbaktiveVertraege.CheckState = CheckState.Indeterminate End Sub Private Sub AktiveVerträgeToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles AktiveVerträgeToolStripMenuItem.Click Me.TSDropDwonVertraege.Text = "aktive Vertraege" Me.cbaktiveVertraege.CheckState = CheckState.Checked End Sub Private Sub InaktiveVerträgeToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles InaktiveVerträgeToolStripMenuItem.Click Me.TSDropDwonVertraege.Text = "inaktive Vertraege" Me.cbaktiveVertraege.CheckState = CheckState.Unchecked End Sub Dim save_splitterdistance As Integer = 0 Private Sub TSBtnAlleElemente_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TSBtnAlleElemente.Click If Me.TSBtnAlleElemente.CheckState <> CheckState.Checked Then Me.C1Vertragselemente.Enabled = False Me.SpaltenAnsichtToolStripMenuItem.Visible = True Me.save_splitterdistance = Me.SplitContainer1.SplitterDistance Me.SplitContainer1.SplitterDistance = 2 If Me.C1Vertragselemente.DataView <> C1.Win.C1TrueDBGrid.DataViewEnum.GroupBy Then Me.C1Vertragselemente.DataView = C1.Win.C1TrueDBGrid.DataViewEnum.GroupBy End If Me.TSBtnAlleElemente.CheckState = CheckState.Checked Me.Refresh_Vertragselemente() Docs.Get_Layout(Me.C1Vertragselemente, 1, Me.Profil.iProfilnr.Value) Filter_Aktualisieren() Me.C1Vertragselemente.Enabled = True Else Me.C1Vertragselemente.Enabled = False Me.SpaltenAnsichtToolStripMenuItem.Visible = False Me.SplitContainer1.SplitterDistance = Me.save_splitterdistance Me.TSBtnAlleElemente.CheckState = CheckState.Unchecked Me.SplitContainer1.SplitterDistance = 250 If Me.C1Vertragselemente.DataView = C1.Win.C1TrueDBGrid.DataViewEnum.GroupBy Then Me.C1Vertragselemente.DataView = C1.Win.C1TrueDBGrid.DataViewEnum.Normal End If Try Me.Refresh_Details() Filter_Aktualisieren() Catch ex As Exception End Try Me.C1Vertragselemente.Enabled = True End If End Sub Private Sub ToolStripButton1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Me.C1Vertragselemente.DataView = C1.Win.C1TrueDBGrid.DataViewEnum.GroupBy Me.C1Vertragselemente.Dock = DockStyle.Fill End Sub Private Sub ToolStripButton2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Me.C1Vertragselemente.DataView = C1.Win.C1TrueDBGrid.DataViewEnum.Form 'Me.C1Vertragselemente.Dock = DockStyle.Left End Sub Private Sub ToolStripButton3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Me.C1Vertragselemente.DataView = C1.Win.C1TrueDBGrid.DataViewEnum.Inverted Me.C1Vertragselemente.Dock = DockStyle.Fill End Sub Private Sub ToolStripButton1_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TsBtnPrint.Click Dim fontbold As New Font("Arial", 12, FontStyle.Bold) Dim fontregular As New Font("Arial", 12, FontStyle.Regular) With Me.C1Vertragselemente.PrintInfo .PageHeaderStyle.Font = fontbold .PageSettings.Margins.Bottom = 20 .PageSettings.Margins.Top = 20 .PageSettings.Landscape = True .PageFooter = "Seite \p von \P" & vbLf & "Druckdatum " & Now() .PageHeader = "Vertragselemente" .ShowProgressForm = True .UseGridColors = True .RepeatColumnHeaders = True .VarRowHeight = .RowHeightEnum.StretchToFit .WrapText = C1.Win.C1TrueDBGrid.PrintInfo.WrapTextEnum.NoWrap .PageBreak = .PageBreaksEnum.OnColumn .FillAreaWidth = .FillEmptyEnum.None .PrintPreview() End With End Sub Private Sub TSBtnExport_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TSBtnExport.Click MsgBox(Me.C1Vertragselemente.Splits(0).Rows.Count) Dim xls As New XLSLib.clsXLSLib xls.Write_Excel(Me.C1Vertragselemente.DataSource, True) Exit Sub Me.C1Vertragselemente.ExportTo() MsgBox("Der Export ist abgeschlossen", MsgBoxStyle.Information) End Sub Private Sub SpaltenAnsichtToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SpaltenAnsichtToolStripMenuItem.Click Dim f As New FrmGridSpalten(Me.C1Vertragselemente) f.MdiParent = Me.MdiParent 'f.Parent = Me f.Show() End Sub Private Sub TSBtnExcelExport_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Me.SaveFileDialog1.AddExtension = True Me.SaveFileDialog1.DefaultExt.Insert(0, "*.xls") Me.SaveFileDialog1.Filter = "Excel-Dateien|*.xls" Me.SaveFileDialog1.ShowDialog() If Me.SaveFileDialog1.FileName <> "" Then If Me.SaveFileDialog1.FileName.EndsWith(".xls") Or Me.SaveFileDialog1.FileName.EndsWith("XLS") Then Me.DatatableToExcel(Me.C1Vertragselemente.DataSource, Me.SaveFileDialog1.FileName) Else Me.C1Vertragselemente.ExportToDelimitedFile(Me.SaveFileDialog1.FileName, C1.Win.C1TrueDBGrid.RowSelectorEnum.AllRows, ";", "", "", True, System.Text.Encoding.Default.BodyName) End If End If Exit Sub End Sub Public Shared Function DatatableToExcel(ByVal aDataTable As DataTable, ByVal aOutputFilename As String) As Boolean Application.DoEvents() Dim f As New FrmFortschritt Dim app As New Object Dim wb As New Object Dim ws As New Object Try f.Show() Application.DoEvents() f.ProgressBar1.Minimum = 0 f.ProgressBar1.Maximum = aDataTable.Rows.Count app = CreateObject("Excel.application") 'Dim wb As Object 'Dim ws As Object ' Dim app As New Excel.ApplicationClass ' Dim wb As Excel.Workbook ' Dim ws As Excel.Worksheet wb = app.Workbooks.add() 'wb = app.Workbooks.Add() ws = wb.ActiveSheet() Dim dc As DataColumn Dim dr As DataRow Dim colIndex As Integer Dim rowIndex As Integer ' Columns erstellen For Each dc In aDataTable.Columns colIndex += 1 app.Cells(1, colIndex) = dc.ColumnName Next ' Rows hinzufügen For Each dr In aDataTable.Rows f.ProgressBar1.Value = rowIndex rowIndex += 1 colIndex = 0 For Each dc In aDataTable.Columns colIndex += 1 app.Cells(rowIndex + 1, colIndex) = dr(dc.ColumnName) Next Next ws.Columns.AutoFit() wb.SaveAs(aOutputFilename) app.Workbooks.Open(aOutputFilename) ' Excel anzeigen wenn fertig exportiert app.Visible = True ws = Nothing wb = Nothing app = Nothing f.Close() Return True Catch ex As Exception f.Close() MsgBox(ex.Message) End Try End Function Private Sub C1Vertragselemente_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles C1Vertragselemente.Click End Sub Private Sub LizenzelementAnzeigenToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles LizenzelementAnzeigenToolStripMenuItem.Click Dim f As New frmLizenzverwaltung(Me.c1Lizenzkäufe.Columns("Lizenznr").Value, Me.FormReadonly) 'Dim f As New FrmLizenz(Me.c1Lizenzkäufe.Columns("Lizenznr").Value, Me.FormReadonly, 0) f.MdiParent = Me.MdiParent f.Show() End Sub Private Sub ctxMenuLizenzen_Opening(ByVal sender As System.Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles ctxMenuLizenzen.Opening Try Dim i As Integer i = Me.c1Lizenzkäufe.Columns("Lizenznr").Value Me.ctxMenuLizenzen.Items(0).Enabled = True Catch ex As Exception Me.ctxMenuLizenzen.Items(0).Enabled = False End Try End Sub End Class