Imports System Imports System.Data Imports System.Data.SqlTypes Imports System.Data.SqlClient Public Class FrmLizenz #Region "Deklarationen" Dim Vertragselement As New TKB.VV.Vertrag.clsVertragselement Dim Applikation As New TKB.VV.DB.clsApplikation Dim sec As New TKB.VV.Utils.MySecurity Dim msg As New TKB.VV.Utils.MyMessage Dim FormReadonly As Boolean = False Dim FormDataChanged As Boolean = False Dim SpaltenTitel As New TKB.VV.Utils.Tabellenspalte Dim Lizenztyp As New DataTable Dim clsLizenztyp As New TKB.VV.DB.clsLizenztyp Dim Vertragselementapplikationnr As Integer Private Anzeige As Boolean = False Dim Neuer_Datensatz As Boolean = False Dim Applikationnr As Integer 'Dim ApplikationVersionNr As Integer 'Dim Vertragselementnr As Integer #End Region #Region "Closing / Check_Changes" ''' ''' Schliessen des Formulars ''' ''' ''' ''' Private Sub FormularClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing UpdateGrids() If Me.FormReadonly = True Then Exit Sub If Check_Changes() = False Then e.Cancel = True Else Me.dispose() End If End Sub ''' ''' Prüfung, ob Datenänderungen vorgenommen wurden. ''' ''' Private Function Check_Changes() As Boolean UpdateGrids() If Me.FormReadonly Then Exit Function Dim msgres As MsgBoxResult If Me.FormDataChanged Then msgres = msg.Show_MessageYesNoCancel(3) Select Case msgres Case MsgBoxResult.Yes Me.Vertragselement.Lizenzinformationen.Lizenzkauf.Save_Data() Me.Vertragselement.Lizenzinformationen.Lizenzschluessel.Save_Data() Me.FormDataChanged = False Return True Case MsgBoxResult.Cancel Return False Case MsgBoxResult.No Return True End Select Else Return True End If End Function #End Region #Region "Formular" ''' ''' Standard Constructore New ''' ''' Sub New() InitializeComponent() End Sub ''' ''' Formualr mit Vertragselementnr und Anzeigestatus öffnen ''' ''' Nr des Vertragspartners ''' True=Readonly, False=normal ''' 'Sub New(ByVal vertragselementnr As Integer, ByVal applikationnr As Integer, ByVal anzeige As Boolean, ByVal ApplikationVersionNr As Integer) ' MyBase.New() ' InitializeComponent() ' Me.Vertragselementnr = vertragselementnr ' Me.Applikationnr = applikationnr ' Me.Anzeige = anzeige ' Me.ApplikationVersionNr = ApplikationVersionNr 'End Sub Sub New(ByVal vertragselementapplikationnr As Integer, ByVal anzeige As Boolean, ByVal applikationnr As Integer) MyBase.New() InitializeComponent() Me.Vertragselementapplikationnr = vertragselementapplikationnr Me.Applikationnr = applikationnr Me.Anzeige = anzeige End Sub Public Overloads Sub dispose() Me.Vertragselement.dispose() Me.Vertragselement = Nothing sec = Nothing msg = Nothing MyBase.Dispose() End Sub Private Sub FrmLizenz_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Me.Vertragselement.Lizenzinformationen.Get_Lizenzkauf(Me.Vertragselementapplikationnr, Me.C1Lizenzkäufe) Me.SpaltenTitel.Spaltentitel_aktualisieren(Me.C1Lizenzkäufe, "Lizenzkauf", Me.Vertragselement.Lizenzinformationen.Lizenzkauf.Tabledata) Set_Lizenzkauf_Filter() Me.C1Lizenzkäufe.Columns("Vertragselementapplikationnr").FilterText = Me.Vertragselementapplikationnr Me.Lizenzschluessel_Aktualisieren() Me.Applikation.cpMainConnectionProvider = Globals.conn Me.Applikation.iApplikationNr = New SqlInt32(CType(Me.Applikationnr, Int32)) Me.Applikation.SelectOne() Me.Text = "Lizenzverwaltung " + Me.Applikation.sBezeichnung.Value Me.Applikation.Dispose() Me.Lizenztyp.Rows.Clear() Me.clsLizenztyp.cpMainConnectionProvider = Globals.conn Me.Lizenztyp = Me.clsLizenztyp.SelectAll Me.C1LizenztypDropDwon.DataSource = Me.Lizenztyp Dim i As Integer For i = 0 To Me.C1LizenztypDropDwon.DisplayColumns.Count - 1 Me.C1LizenztypDropDwon.DisplayColumns(i).Visible = False Next Me.C1LizenztypDropDwon.DisplayColumns("Bezeichnung").Visible = True Me.C1LizenztypDropDwon.ValueMember = "Lizenztypnr" Me.C1LizenztypDropDwon.DisplayMember = "Bezeichnung" Me.C1LizenztypDropDwon.ValueTranslate = True Me.C1Lizenzkäufe.Columns("Lizenztypnr").DropDown = Me.C1LizenztypDropDwon Me.C1Lizenzkäufe.Columns("Lizenztypnr").ValueItems.Translate = True Me.C1Lizenzkäufe.AllowAddNew = False Me.C1Lizenzschluessel.AllowAddNew = False End Sub Private Function Get_Lizenzkauf() As DataTable Dim scmCmdToExecute As SqlCommand = New SqlCommand() Dim dtToReturn As DataTable = New DataTable() Dim sdaAdapter As SqlDataAdapter = New SqlDataAdapter(scmCmdToExecute) scmCmdToExecute.CommandText = "dbo.sp_get_lizenzkauf" scmCmdToExecute.CommandType = CommandType.StoredProcedure scmCmdToExecute.Connection = conn.scoDBConnection Try scmCmdToExecute.Parameters.Add(New SqlParameter("@vertragselementapplikationnr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, Me.Vertragselementapplikationnr)) scmCmdToExecute.Parameters.Add(New SqlParameter("@applikationnr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, Me.Applikationnr)) sdaAdapter.Fill(dtToReturn) Return dtToReturn Catch ex As Exception Throw New Exception("clsParentelemente::" & scmCmdToExecute.CommandText & "::Error occured." & ex.Message, ex) Finally scmCmdToExecute.Dispose() sdaAdapter.Dispose() End Try End Function #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 ''' ''' Sicherungs-Button betätigt ''' ''' ''' ''' Private Sub TSBtnSave_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TSBtnSave.Click Me.UpdateGrids() Me.Vertragselement.Lizenzinformationen.Lizenzkauf.Save_Data() Me.Vertragselement.Lizenzinformationen.Lizenzschluessel.Save_Data() Me.FormDataChanged = False End Sub ''' ''' Menu Beenden ''' ''' ''' ''' Private Sub BeendenToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BeendenToolStripMenuItem.Click Me.TSBtnQuit_Click(sender, e) End Sub #End Region ''' ''' Anzeige gem. Aktivstatus ändern ''' ''' ''' ''' Private Sub cbLizenzkaufAktiv_CheckedChanged_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Set_Lizenzkauf_Filter() End Sub #Region "Lizenzschluessel" ''' ''' Aktualiserung des Grids Lizenzschlüssel ''' ''' Private Sub Lizenzschluessel_Aktualisieren() Try Me.Vertragselement.Lizenzinformationen.Get_Lizenzschluessel(Me.C1Lizenzkäufe.Columns(0).Value, Me.C1Lizenzschluessel) Me.SpaltenTitel.Spaltentitel_aktualisieren(Me.C1Lizenzschluessel, "Lizenzschluessel", Me.Vertragselement.Lizenzinformationen.Lizenzschluessel.Tabledata) Set_Lizenzschluessel_Filter() Me.C1Lizenzschluessel.AllowAddNew = False Catch ex As Exception Exit Sub End Try End Sub ''' ''' Aktualisierung der Spalten mutiert_am und mutierern. Sofern noch kein Schlüsselwert gesetzt ist (bei neuem Datensatz) ''' wird dieser aus der Keytabelle ausgelesen und zugewiesen. ''' ''' ''' ''' Je Domaintable ist ein Eintrag in der Key-Tabelle notwendig Private Sub C1Lizenzschluessel_AfterColUpdate(ByVal sender As Object, ByVal e As C1.Win.C1TrueDBGrid.ColEventArgs) Handles C1Lizenzschluessel.AfterColUpdate Update_Lizenzschluessel_data() End Sub Sub Update_Lizenzschluessel_Data() 'Aktualisieren von Mutierer und Mutiert_am Dim i As Integer Try Me.FormDataChanged = True For i = 0 To Me.C1Lizenzschluessel.Columns.Count - 1 If LCase(Me.C1Lizenzschluessel.Columns(i).DataField) = "mutiert_am" Then Me.C1Lizenzschluessel.Columns(i).Value = Now If LCase(Me.C1Lizenzschluessel.Columns(i).DataField) = "mutierer" Then Me.C1Lizenzschluessel.Columns(i).Value = Globals.clsmitarbeiter.iMitarbeiternr.Value Next 'neuer DB-Key auslösen, sofern kein Key vorhanden ist If Me.C1Lizenzschluessel.Columns(0).Value Is DBNull.Value Then Dim dbkey As New TKB.VV.DB.clsMyKey_Tabelle() Dim key As Long dbkey.cpMainConnectionProvider = conn key = dbkey.get_dbkey("Lizenzschluessel") Me.C1Lizenzschluessel.Columns(0).Value = key For i = 0 To Me.C1Lizenzschluessel.Columns.Count - 1 If LCase(Me.C1Lizenzschluessel.Columns(i).DataField) = "mandantnr" Then Me.C1Lizenzschluessel.Columns(i).Value = Globals.clsmitarbeiter.iMandantnr.Value End If If LCase(Me.C1Lizenzschluessel.Columns(i).DataField) = "erstellt_am" Then Me.C1Lizenzschluessel.Columns(i).Value = Now End If If LCase(Me.C1Lizenzschluessel.Columns(i).DataField) = "securitylevel" Then Me.C1Lizenzschluessel.Columns(i).Value = 0 End If If LCase(Me.C1Lizenzschluessel.Columns(i).DataField) = "aktiv" Then Me.C1Lizenzschluessel.Columns(i).Value = 1 End If If LCase(Me.C1Lizenzschluessel.Columns(i).DataField) = "extern" Then Me.C1Lizenzschluessel.Columns(i).Value = 0 End If If LCase(Me.C1Lizenzschluessel.Columns(i).DataField) = "lizenzkaufnr" Then Me.C1Lizenzschluessel.Columns(i).Value = Me.C1Lizenzkäufe.Columns(0).Value End If Next dbkey.Dispose() End If Catch End Try End Sub ''' ''' Aktualisierung der Default-Werte ''' ''' ''' ''' Private Sub C1Lizenzschluessel_AfterInsert(ByVal sender As Object, ByVal e As System.EventArgs) Handles C1Lizenzschluessel.AfterInsert insert_Lizenzschluessel_Data() End Sub Sub Insert_Lizenzschluessel_Data() Dim i As Integer 'Defaulwerte erstellt_am, mutiert_am, mutierer und aktiv setzen Try For i = 0 To C1Lizenzschluessel.Columns.Count - 1 If LCase(Me.C1Lizenzschluessel.Columns(i).DataField) = "aktiv" Then Me.C1Lizenzschluessel.Columns(i).Value = 1 End If If LCase(Me.C1Lizenzschluessel.Columns(i).DataField) = "lizenzkaufnr" Then Me.C1Lizenzschluessel.Columns(i).Value = Me.C1Lizenzkäufe.Columns(0).Value End If If LCase(Me.C1Lizenzschluessel.Columns(i).DataField) = "mutiert_am" Then Me.C1Lizenzschluessel.Columns(i).Value = Now End If If LCase(Me.C1Lizenzschluessel.Columns(i).DataField) = "mutierer" Then Me.C1Lizenzschluessel.Columns(i).Value = Globals.clsmitarbeiter.iMitarbeiternr.Value End If If LCase(Me.C1Lizenzschluessel.Columns(i).DataField) = "mandantnr" Then Me.C1Lizenzschluessel.Columns(i).Value = Globals.clsmitarbeiter.iMandantnr.Value End If If LCase(Me.C1Lizenzschluessel.Columns(i).DataField) = "mandant" Then Me.C1Lizenzschluessel.Columns(i).Value = Globals.clsmitarbeiter.iMandantnr.Value End If Next Catch End Try End Sub ''' ''' Anzeige allfälliger Cellen-Tips ''' ''' ''' ''' Private Sub C1Lizenzschluessel_FetchCellTips(ByVal sender As Object, ByVal e As C1.Win.C1TrueDBGrid.FetchCellTipsEventArgs) Handles C1Lizenzschluessel.FetchCellTips Dim ts As New TKB.VV.Utils.Tabellenspalte ts.Tabelle = "DokumentAblageOrt" Try ts.Feld = Me.C1Lizenzschluessel.Columns(e.ColIndex).DataField ts.getspalte() e.CellTip = ts.TipText Catch End Try ts = Nothing End Sub ''' ''' Rowstyle von inaktiven Lizenzschlüssel ''' ''' ''' ''' 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 ''' ''' Prüfung auf Änderungen, sofern das Grid "C1Lizenzschlüssel" verlassen wird ''' ''' ''' ''' Private Sub C1Lizenzschluessel_Leave(ByVal sender As Object, ByVal e As System.EventArgs) Handles C1Lizenzschluessel.Leave Try If Me.Vertragselement.Lizenzinformationen.Lizenzschluessel.Tabledata.HasChanges Then Me.UpdateGrids() 'If msg.Show_MessageYesNoCancel(801) = MsgBoxResult.Yes Then Me.Vertragselement.Lizenzinformationen.Lizenzschluessel.Save_Data() 'End If End If Catch End Try End Sub ''' ''' Anzeige gem. Aktivstatus ändern ''' ''' ''' ''' Private Sub cbLizenzschluesselAktiv_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Set_Lizenzschluessel_Filter() End Sub ''' ''' Filter in der Spalte Aktiv des Grids C1Lizenzschluessel ändern ''' ''' Private Sub Set_Lizenzschluessel_Filter() Try Me.C1Lizenzschluessel.Columns("Aktiv").FilterText = "" Catch ex As Exception End Try 'Try ' Select Case Me.cbLizenzschluesselAktiv.CheckState ' Case CheckState.Checked ' Me.C1Lizenzschluessel.Columns("Aktiv").FilterText = True ' Case CheckState.Indeterminate ' Me.C1Lizenzschluessel.Columns("Aktiv").FilterText = "" ' Case CheckState.Unchecked ' Me.C1Lizenzschluessel.Columns("Aktiv").FilterText = False ' End Select 'Catch ex As Exception 'End Try End Sub #End Region ''' ''' Aktualisierung der Spalten mutiert_am und mutierern. Sofern noch kein Schlüsselwert gesetzt ist (bei neuem Datensatz) ''' wird dieser aus der Keytabelle ausgelesen und zugewiesen. ''' ''' ''' ''' Je Domaintable ist ein Eintrag in der Key-Tabelle notwendig Private Sub C1Lizenzkäufe_AfterColUpdate(ByVal sender As Object, ByVal e As C1.Win.C1TrueDBGrid.ColEventArgs) Handles C1Lizenzkäufe.AfterColUpdate Update_lizenzkauf_data() End Sub Sub Update_lizenzkauf_data() 'Aktualisieren von Mutierer und Mutiert_am Dim i As Integer Try Me.FormDataChanged = True For i = 0 To Me.C1Lizenzkäufe.Columns.Count - 1 If LCase(Me.C1Lizenzkäufe.Columns(i).DataField) = "mutiert_am" Then Me.C1Lizenzkäufe.Columns(i).Value = Now If LCase(Me.C1Lizenzkäufe.Columns(i).DataField) = "mutierer" Then Me.C1Lizenzkäufe.Columns(i).Value = Globals.clsmitarbeiter.iMitarbeiternr.Value Next 'neuer DB-Key auslösen, sofern kein Key vorhanden ist If Me.C1Lizenzkäufe.Columns(0).Value Is DBNull.Value Then Dim dbkey As New TKB.VV.DB.clsMyKey_Tabelle() Dim key As Long dbkey.cpMainConnectionProvider = conn key = dbkey.get_dbkey("Lizenzkauf") Me.C1Lizenzkäufe.Columns(0).Value = key For i = 0 To Me.C1Lizenzkäufe.Columns.Count - 1 If LCase(Me.C1Lizenzkäufe.Columns(i).DataField) = "mandantnr" Then Me.C1Lizenzkäufe.Columns(i).Value = Globals.clsmitarbeiter.iMandantnr.Value End If If LCase(Me.C1Lizenzkäufe.Columns(i).DataField) = "erstellt_am" Then Me.C1Lizenzkäufe.Columns(i).Value = Now End If If LCase(Me.C1Lizenzkäufe.Columns(i).DataField) = "securitylevel" Then Me.C1Lizenzkäufe.Columns(i).Value = 0 End If If LCase(Me.C1Lizenzkäufe.Columns(i).DataField) = "aktiv" Then Me.C1Lizenzkäufe.Columns(i).Value = 1 End If If LCase(Me.C1Lizenzkäufe.Columns(i).DataField) = "extern" Then Me.C1Lizenzkäufe.Columns(i).Value = 0 End If If LCase(Me.C1Lizenzkäufe.Columns(i).DataField) = "vertragselementapplikationnr" Then Me.C1Lizenzkäufe.Columns(i).Value = Me.Vertragselementapplikationnr End If If LCase(Me.C1Lizenzkäufe.Columns(i).DataField) = "applikationnr" Then Me.C1Lizenzkäufe.Columns(i).Value = Me.Applikationnr End If 'If LCase(Me.C1Lizenzkäufe.Columns(i).DataField) = "applikationversionnr" Then ' Me.C1Lizenzkäufe.Columns(i).Value = Me.ApplikationVersionNr 'End If Next dbkey.Dispose() End If Me.Lizenzschluessel_Aktualisieren() Catch End Try End Sub ''' ''' Aktualisierung der Default-Werte ''' ''' ''' ''' Private Sub C1Lizenzkäufe_AfterInsert(ByVal sender As Object, ByVal e As System.EventArgs) Handles C1Lizenzkäufe.AfterInsert Insert_Lizenzkauf_data() End Sub Sub Insert_Lizenzkauf_data() Dim i As Integer 'Defaulwerte erstellt_am, mutiert_am, mutierer und aktiv setzen Try For i = 0 To C1Lizenzkäufe.Columns.Count - 1 If LCase(Me.C1Lizenzkäufe.Columns(i).DataField) = "aktiv" Then Me.C1Lizenzkäufe.Columns(i).Value = 1 End If If LCase(Me.C1Lizenzkäufe.Columns(i).DataField) = "vertragselementapplikationnr" Then Me.C1Lizenzkäufe.Columns(i).Value = Me.Vertragselementapplikationnr End If If LCase(Me.C1Lizenzkäufe.Columns(i).DataField) = "applikationnr" Then Me.C1Lizenzkäufe.Columns(i).Value = Me.Applikationnr End If If LCase(Me.C1Lizenzkäufe.Columns(i).DataField) = "mutiert_am" Then Me.C1Lizenzkäufe.Columns(i).Value = Now End If If LCase(Me.C1Lizenzkäufe.Columns(i).DataField) = "mutierer" Then Me.C1Lizenzkäufe.Columns(i).Value = Globals.clsmitarbeiter.iMitarbeiternr.Value End If If LCase(Me.C1Lizenzkäufe.Columns(i).DataField) = "mandantnr" Then Me.C1Lizenzkäufe.Columns(i).Value = Globals.clsmitarbeiter.iMandantnr.Value End If If LCase(Me.C1Lizenzkäufe.Columns(i).DataField) = "mandant" Then Me.C1Lizenzkäufe.Columns(i).Value = Globals.clsmitarbeiter.iMandantnr.Value End If Next Me.Lizenzschluessel_Aktualisieren() Catch End Try End Sub ''' ''' Anzeige allfälliger Cellen-Tips ''' ''' ''' ''' Private Sub C1Lizenzkäufe_FetchCellTips(ByVal sender As Object, ByVal e As C1.Win.C1TrueDBGrid.FetchCellTipsEventArgs) Handles C1Lizenzkäufe.FetchCellTips Dim ts As New TKB.VV.Utils.Tabellenspalte ts.Tabelle = "DokumentAblageOrt" Try ts.Feld = Me.C1Lizenzkäufe.Columns(e.ColIndex).DataField ts.getspalte() e.CellTip = ts.TipText Catch End Try ts = Nothing End Sub ''' ''' Rowstyle von inaktiven Lizenzköufen ''' ''' ''' ''' 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 ''' ''' Prüfung auf Änderungen, sofern das Grid "C1Lizenzkäufe" verlassen wird ''' ''' ''' ''' Private Sub C1Lizenzkäufe_Leave(ByVal sender As Object, ByVal e As System.EventArgs) Handles C1Lizenzkäufe.Leave Try If Me.Vertragselement.Lizenzinformationen.Lizenzkauf.Tabledata.HasChanges Then Me.UpdateGrids() 'If msg.Show_MessageYesNoCancel(800) = MsgBoxResult.Yes Then Me.Vertragselement.Lizenzinformationen.Lizenzkauf.Save_Data() 'End If End If Catch ex As Exception End Try End Sub ''' ''' Mousedown-Ereignis auf Lizenzkauf ''' ''' ''' ''' Private Sub C1Lizenzkäufe_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles C1Lizenzkäufe.MouseDown, C1Lizenzkäufe.MouseUp Me.C1Lizenzkäufe.Bookmark = Me.C1Lizenzkäufe.RowContaining(e.Y) Me.C1Lizenzkäufe.Bookmark = Me.C1Lizenzkäufe.RowBookmark(Me.C1Lizenzkäufe.RowContaining(e.Y)) Me.Lizenzschluessel_Aktualisieren() End Sub ''' Anzeige gem. Aktivstatus ändern ''' ''' ''' ''' Private Sub cbLizenzkaufAktiv_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Set_Lizenzkauf_Filter() End Sub ''' ''' Filter in der Spalte Aktiv des Grids C1Lizenzkauf ändern ''' ''' Private Sub Set_Lizenzkauf_Filter() Try Me.C1Lizenzkäufe.Columns("Aktiv").FilterText = "" Catch ex As Exception End Try 'Try ' Select Case Me.cbLizenzkaufAktiv.CheckState ' Case CheckState.Checked ' Me.C1Lizenzkäufe.Columns("Aktiv").FilterText = True ' Case CheckState.Indeterminate ' Me.C1Lizenzkäufe.Columns("Aktiv").FilterText = "" ' Case CheckState.Unchecked ' Me.C1Lizenzkäufe.Columns("Aktiv").FilterText = False ' End Select 'Catch ex As Exception 'End Try End Sub Private Sub KaufdatumInitialisierenToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles KaufdatumInitialisierenToolStripMenuItem.Click Me.C1Lizenzkäufe.Columns("Kaufdatum").Value = System.DBNull.Value UpdateGrids() End Sub Private Sub GültigbisdatumInitialisierenToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles GültigbisdatumInitialisierenToolStripMenuItem.Click Me.C1Lizenzkäufe.Columns("Gueltigbis").Value = System.DBNull.Value UpdateGrids() End Sub Private Sub TSBtnLizenzNew_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TSBtnLizenzNew.Click UpdateGrids() Try Me.Vertragselement.Lizenzinformationen.Lizenzschluessel.Save_Data() Catch ex As Exception End Try Dim dt As DataTable = Me.Vertragselement.Lizenzinformationen.Lizenzkauf.Tabledata.Tables(0) Dim dr As DataRow = dt.NewRow dr.Item("Vertragselementapplikationnr") = Me.Vertragselementapplikationnr dt.Rows.Add(dr) Try Dim a = 0 Dim i As Integer For i = 0 To Me.C1Lizenzkäufe.RowCount - 1 Me.C1Lizenzkäufe.Bookmark = i If Me.C1Lizenzkäufe.Columns(0).Value.ToString = "" Then a = i Next Me.C1Lizenzkäufe.Bookmark = a Catch End Try Insert_Lizenzkauf_data() Update_lizenzkauf_data() Me.C1Lizenzkäufe.Focus() End Sub Private Sub TSBtnLizenzDelete_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TSBtnLizenzDelete.Click UpdateGrids() Me.Vertragselement.Lizenzinformationen.Lizenzschluessel.Save_Data() Try Me.C1Lizenzkäufe.Columns("Aktiv").Value = False Update_lizenzkauf_data() Catch End Try End Sub Private Sub TSBtnLizenzschluesselNew_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TSBtnLizenzschluesselNew.Click UpdateGrids() Try Me.Vertragselement.Lizenzinformationen.Lizenzkauf.Save_Data() Catch End Try Try Dim dt As DataTable = Me.Vertragselement.Lizenzinformationen.Lizenzschluessel.Tabledata.Tables(0) Dim dr As DataRow = dt.NewRow dr.Item("Lizenzkaufnr") = Me.C1Lizenzkäufe.Columns("Lizenzkaufnr").Value dt.Rows.Add(dr) Try Dim a = 0 Dim i As Integer For i = 0 To Me.C1Lizenzschluessel.RowCount - 1 Me.C1Lizenzschluessel.Bookmark = i If Me.C1Lizenzschluessel.Columns(0).Value.ToString = "" Then a = i Next Me.C1Lizenzschluessel.Bookmark = a Catch End Try Insert_Lizenzschluessel_Data() Update_Lizenzschluessel_Data() Me.C1Lizenzschluessel.Focus() Catch ex As Exception End Try End Sub Private Sub TSBtnLizenzschluesselDelete_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TSBtnLizenzschluesselDelete.Click UpdateGrids() Me.Vertragselement.Lizenzinformationen.Lizenzkauf.Save_Data() Try Me.C1Lizenzschluessel.Columns("Aktiv").Value = False Update_Lizenzschluessel_Data() Catch End Try End Sub Sub UpdateGrids() Dim bm1 As Integer Dim bm2 As Integer Try bm1 = Me.C1Lizenzkäufe.Bookmark bm2 = Me.C1Lizenzschluessel.Bookmark Catch ex As Exception End Try Me.C1Lizenzkäufe.UpdateData() Me.C1Lizenzschluessel.UpdateData() Try Me.C1Lizenzkäufe.Bookmark = bm1 Me.C1Lizenzschluessel.Bookmark = bm2 Catch ex As Exception End Try End Sub Private Sub NeuerDatensatzToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles NeuerDatensatzToolStripMenuItem.Click TSBtnLizenzNew_Click(sender, e) End Sub Private Sub DatensatzInaktivierenToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles DatensatzInaktivierenToolStripMenuItem.Click TSBtnLizenzDelete_Click(sender, e) End Sub Private Sub ToolStripMenuItem2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles NeuerDatensatzToolStipMenuItem.Click TSBtnLizenzschluesselNew_Click(sender, e) End Sub Private Sub ToolStripMenuItem3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles DatensatzDeaktivierenToolStripMenuItem.Click TSBtnLizenzschluesselDelete_Click(sender, e) End Sub Private Sub Lizenzschluesselmenusstrip_Opening(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles Lizenzschluesselmenusstrip.Opening If Me.C1Lizenzkäufe.Bookmark < 0 Then Me.Lizenzschluesselmenusstrip.Enabled = False Else Me.Lizenzschluesselmenusstrip.Enabled = True End If End Sub Private Sub C1Lizenzschluessel_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles C1Lizenzschluessel.MouseDown Me.C1Lizenzschluessel.Bookmark = Me.C1Lizenzschluessel.RowContaining(e.Y) Me.C1Lizenzschluessel.Bookmark = Me.C1Lizenzschluessel.RowBookmark(Me.C1Lizenzschluessel.RowContaining(e.Y)) End Sub End Class