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.
570 lines
21 KiB
570 lines
21 KiB
Imports C1.Win.C1TrueDBGrid
|
|
Imports System.Data
|
|
Imports System.Data.SqlTypes
|
|
Imports System.Data.SqlClient
|
|
Public Class frmVertragskontakt
|
|
|
|
#Region "Deklarationen"
|
|
Dim Kontaktperson As New TKB.VV.Vertrag.clsKontakt
|
|
Dim Vertragspartner As New TKB.VV.Vertrag.clsVertragspartner
|
|
Dim Person As New TKB.VV.DB.clsPerson
|
|
|
|
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
|
|
|
|
Private VertragspartnerNr As Integer
|
|
Private KontaktNr As Integer
|
|
Private Vertragskontaktnr As Integer
|
|
Private Vertragselementnr As Integer
|
|
Dim Neuer_Datensatz As Boolean = False
|
|
|
|
#End Region
|
|
|
|
#Region "Eventhandler ChangeEreignisse"
|
|
''' <summary>
|
|
''' Allg Eventhandler für Chanage-Ereignise festlegen
|
|
''' </summary>
|
|
''' <param name="Container"></param>
|
|
''' <remarks></remarks>
|
|
Private Sub AddChanges(ByVal Container As Control)
|
|
Dim l As New List(Of Control)
|
|
Me.GetControl(Me, "*", l)
|
|
Dim evh As EventHandler = AddressOf ChangesMade
|
|
For Each c As Control In l
|
|
If TypeOf c Is TextBox Then
|
|
Dim ctl As TextBox = c
|
|
AddHandler ctl.TextChanged, evh
|
|
End If
|
|
If TypeOf c Is MaskedTextBox Then
|
|
Dim ctl As MaskedTextBox = c
|
|
AddHandler ctl.TextChanged, evh
|
|
End If
|
|
If TypeOf c Is ComboBox Then
|
|
Dim ctl As ComboBox = c
|
|
AddHandler ctl.SelectedValueChanged, evh
|
|
End If
|
|
If TypeOf c Is CheckBox Then
|
|
Dim ctl As CheckBox = c
|
|
AddHandler ctl.CheckedChanged, evh
|
|
End If
|
|
If TypeOf c Is ListBox Then
|
|
Dim ctl As ListBox = c
|
|
AddHandler ctl.SelectedValueChanged, evh
|
|
End If
|
|
Next
|
|
End Sub
|
|
|
|
''' <summary>
|
|
''' Envent-Handler für Change-Ereignisse
|
|
''' </summary>
|
|
''' <param name="sender"></param>
|
|
''' <param name="e"></param>
|
|
''' <remarks></remarks>
|
|
Private Sub ChangesMade(ByVal sender As Object, ByVal e As System.EventArgs)
|
|
Me.FormDataChanged = True
|
|
End Sub
|
|
|
|
''' <summary>
|
|
''' Sucht in den Base-Controls sämtliche Controls mit dem Namen in "Key" (Wildcards * möglich) und listet
|
|
''' die gefundnen Controls in der Liste L zur weiteren Bearbeitung
|
|
''' </summary>
|
|
''' <param name="BaseControl">Base-Contrlo (z.B. aktuelles Formular</param>
|
|
''' <param name="Key">Schlüssel welcher gesucht werden soll</param>
|
|
''' <param name="L">Liste der gefundenen Objekte</param>
|
|
''' <returns>True wenn eines oder mehr Controls gefunden wurden, false wenn kein Control gefunden wurde.
|
|
''' </returns>
|
|
''' <remarks></remarks>
|
|
Private Function GetControl(ByVal BaseControl As Control, ByVal Key As String, ByRef L As List(Of Control), Optional ByVal ReturnAtFirstElement As Boolean = False) As Boolean
|
|
If L Is Nothing Then L = New List(Of Control)
|
|
Dim Gut As Boolean
|
|
Dim ReturnFlag As Boolean = False
|
|
If Key IsNot Nothing Then Key = Key.ToLower
|
|
|
|
If BaseControl.HasChildren = True Then
|
|
For Each ctl As Control In BaseControl.Controls
|
|
Gut = False
|
|
If Key Is Nothing Then
|
|
Gut = True
|
|
Else
|
|
If ctl.Name.Length >= Key.Length Then
|
|
Key = Key.ToLower
|
|
If Key.StartsWith("*") Then
|
|
If Key.Substring(1) = ctl.Name.ToLower.Substring(ctl.Name.Length - (Key.Length - 1), Key.Length - 1) Then Gut = True
|
|
ElseIf Key.EndsWith("*") Then
|
|
If Key.Substring(0, Key.Length - 1) = ctl.Name.ToLower.Substring(0, Key.Length - 1) Then Gut = True
|
|
Else
|
|
If Key = ctl.Name.ToLower Then Gut = True
|
|
End If
|
|
End If
|
|
End If
|
|
|
|
If Gut = True Then
|
|
L.Add(ctl)
|
|
If ReturnAtFirstElement = True Then ReturnFlag = True
|
|
End If
|
|
If ReturnFlag = False Then
|
|
Call GetControl(ctl, Key, L)
|
|
End If
|
|
Next
|
|
End If
|
|
|
|
If L.Count - 1 > -1 Then
|
|
Return True
|
|
Else
|
|
Return False
|
|
End If
|
|
End Function
|
|
|
|
#End Region
|
|
|
|
#Region "Closing / Check_Changes"
|
|
|
|
''' <summary>
|
|
''' Schliessen des Formulars
|
|
''' </summary>
|
|
''' <param name="sender"></param>
|
|
''' <param name="e"></param>
|
|
''' <remarks></remarks>
|
|
Private Sub FormularClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
|
|
If Me.FormReadonly = True Then Exit Sub
|
|
If Check_Changes() = False Then
|
|
e.Cancel = True
|
|
Else
|
|
If Me.Kontaktperson.Neuer_Datensatz = True Then Me.Kontaktperson.Delete(Me.Kontaktperson.iVertragsKontaktNr.Value)
|
|
Globals.MyEventHanlder.Kontakte_Closed()
|
|
Me.Dispose()
|
|
End If
|
|
End Sub
|
|
|
|
''' <summary>
|
|
''' Prüfung, ob Datenänderungen vorgenommen wurden.
|
|
''' </summary>
|
|
''' <remarks></remarks>
|
|
Private Function Check_Changes() As Boolean
|
|
If Me.FormReadonly Then Exit Function
|
|
Dim msgres As MsgBoxResult
|
|
If Me.FormDataChanged Then
|
|
msgres = msg.Show_MessageYesNoCancel(3)
|
|
Select Case msgres
|
|
Case MsgBoxResult.Yes
|
|
Save_Data()
|
|
Return True
|
|
Case MsgBoxResult.Cancel
|
|
Return False
|
|
Case MsgBoxResult.No
|
|
Return True
|
|
End Select
|
|
Else
|
|
Return True
|
|
End If
|
|
End Function
|
|
|
|
#End Region
|
|
|
|
|
|
#Region "Formular"
|
|
Sub New()
|
|
InitializeComponent()
|
|
End Sub
|
|
|
|
Sub New(ByVal Vertragskontaktnr As Integer, ByVal Vertragspartnernr As Integer, ByVal Vertragselementnr As Integer, Optional ByVal CreateNew As Boolean = False, Optional ByVal FormReadOnly As Boolean = False)
|
|
Me.FormReadonly = FormReadOnly
|
|
InitializeComponent()
|
|
If CreateNew = True Then
|
|
Me.Vertragskontaktnr = Me.Kontaktperson.Add_New(Vertragselementnr)
|
|
Me.Neuer_Datensatz = True
|
|
Else
|
|
Me.Vertragskontaktnr = Vertragskontaktnr
|
|
End If
|
|
Me.VertragspartnerNr = Vertragspartnernr
|
|
Me.Vertragselementnr = Vertragselementnr
|
|
End Sub
|
|
|
|
Private Sub frmVertragskontakt_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
|
|
sec.Set_Form_Security(Me)
|
|
|
|
If Me.FormReadonly = True Then Me.TSBtnSave.Enabled = False
|
|
|
|
If Me.TSBtnSave.Enabled = False Or Me.TSBtnSave.Visible = False Then
|
|
Me.FormReadonly = True
|
|
Me.TSBtnCopy.Enabled = False
|
|
Me.TSBtnNew.Enabled = False
|
|
Me.TSBtnDelete.Enabled = False
|
|
Else
|
|
Me.FormReadonly = False
|
|
End If
|
|
|
|
Load_Securitylevel()
|
|
Load_Rollen()
|
|
Get_Data(Me.Vertragskontaktnr)
|
|
If Me.Neuer_Datensatz = True Then
|
|
Me.Kontaktperson.Neuer_Datensatz = True
|
|
Me.Neuer_Datensatz = False
|
|
End If
|
|
|
|
Me.AddChanges(Me)
|
|
If Me.FormReadonly = True Then sec.Set_Form_Readonly(Me)
|
|
End Sub
|
|
#End Region
|
|
|
|
|
|
#Region "Buttons/Menu"
|
|
|
|
''' <summary>
|
|
''' Formular schliessen
|
|
''' </summary>
|
|
''' <param name="sender"></param>
|
|
''' <param name="e"></param>
|
|
''' <remarks></remarks>
|
|
Private Sub TSBtnQuit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TSBtnQuit.Click
|
|
Me.Close()
|
|
End Sub
|
|
|
|
''' <summary>
|
|
''' Sicherungs-Button betätigt
|
|
''' </summary>
|
|
''' <param name="sender"></param>
|
|
''' <param name="e"></param>
|
|
''' <remarks></remarks>
|
|
Private Sub TSBtnSave_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TSBtnSave.Click
|
|
Me.Save_Data()
|
|
Me.txtMutiert_am.Text = Me.Kontaktperson.daMutiert_am.ToString
|
|
Me.FormDataChanged = False
|
|
End Sub
|
|
|
|
''' <summary>
|
|
''' Datensatz kopieren
|
|
''' </summary>
|
|
''' <param name="sender"></param>
|
|
''' <param name="e"></param>
|
|
''' <remarks></remarks>
|
|
Private Sub TSBtnCopy_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TSBtnCopy.Click
|
|
If Me.Check_Changes = False Then Exit Sub
|
|
Me.Get_Data(Kontaktperson.Create_Copy(Me.Kontaktperson.iVertragsKontaktNr.Value))
|
|
Me.Kontaktperson.Neuer_Datensatz = True
|
|
End Sub
|
|
''' <summary>
|
|
''' Neuer Datensatz erstellen
|
|
''' </summary>
|
|
''' <param name="sender"></param>
|
|
''' <param name="e"></param>
|
|
''' <remarks></remarks>
|
|
Private Sub TSBtnNew_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TSBtnNew.Click
|
|
If Me.Check_Changes = False Then Exit Sub
|
|
Me.Get_Data(Me.Kontaktperson.Add_New(Me.Vertragselementnr))
|
|
Me.Kontaktperson.Neuer_Datensatz = True
|
|
End Sub
|
|
''' <summary>
|
|
''' Aktueller Datensatz inaktivieren
|
|
''' </summary>
|
|
''' <param name="sender"></param>
|
|
''' <param name="e"></param>
|
|
''' <remarks></remarks>
|
|
Private Sub TSBtnDelete_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TSBtnDelete.Click
|
|
If msg.Show_MessageYesNo(250) = MsgBoxResult.Yes Then
|
|
Me.Kontaktperson.Delete_Vertragskontakt(Me.Kontaktperson.iVertragsKontaktNr.Value)
|
|
Me.Close()
|
|
End If
|
|
End Sub
|
|
|
|
''' <summary>
|
|
''' Menu Beenden
|
|
''' </summary>
|
|
''' <param name="sender"></param>
|
|
''' <param name="e"></param>
|
|
''' <remarks></remarks>
|
|
Private Sub BeendenToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BeendenToolStripMenuItem.Click
|
|
Me.TSBtnQuit_Click(sender, e)
|
|
End Sub
|
|
|
|
''' <summary>
|
|
''' Vertragspartner suchen
|
|
''' </summary>
|
|
''' <param name="sender"></param>
|
|
''' <param name="e"></param>
|
|
''' <remarks></remarks>
|
|
Private Sub btnVertragspartnersuche_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnVertragspartnersuche.Click
|
|
Dim f As New frmVertragspartnerSuche
|
|
f.ShowDialog()
|
|
If f.Vertragspartnernr <> -1 Then
|
|
Me.VertragspartnerNr = f.Vertragspartnernr
|
|
f.Dispose()
|
|
Me.Get_Vertragspartner()
|
|
End If
|
|
End Sub
|
|
|
|
|
|
#End Region
|
|
|
|
|
|
|
|
|
|
#Region "Security"
|
|
''' <summary>
|
|
''' Laden der Securitylevel-Daten in die Combobox
|
|
''' </summary>
|
|
''' <remarks></remarks>
|
|
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
|
|
#End Region
|
|
|
|
#Region "Daten"
|
|
''' <summary>
|
|
''' Person laden und präsentieren
|
|
''' </summary>
|
|
''' <param name="Nr"></param>
|
|
''' <remarks></remarks>
|
|
Private Sub Get_Data(ByVal Nr As Integer)
|
|
Me.Kontaktperson.Get_Vertragskontakt(Nr)
|
|
Me.lbRolle.SelectedValue = Me.Kontaktperson.iKontakttypNr.Value
|
|
Me.cbIntern.Checked = Me.Kontaktperson.bIntern.Value = True
|
|
Me.txtErstellt_am.Text = Me.Kontaktperson.daErstellt_am.ToString
|
|
Me.txtMutiert_am.Text = Me.Kontaktperson.daMutiert_am.ToString
|
|
Me.txtBemerkung.Text = Me.Kontaktperson.sBemerkung.ToString
|
|
Me.txtMutierer.Text = Me.Kontaktperson.iMutierer.Value
|
|
Me.cbaktiv.Checked = Me.Kontaktperson.bAktiv.Value = True
|
|
Me.cboxSecurityLevel.SelectedValue = Me.Kontaktperson.iSecurityLevelNr.Value
|
|
|
|
If Me.Kontaktperson.iPersonNr.Value <> 0 Then
|
|
Try
|
|
Person.cpMainConnectionProvider = Globals.conn
|
|
Person.iPersonNr = New SqlInt32(CType(Me.Kontaktperson.iPersonNr.Value, Int32))
|
|
Person.SelectOne()
|
|
Me.VertragspartnerNr = Person.iVertragspartnernr.Value
|
|
Catch
|
|
End Try
|
|
End If
|
|
|
|
Me.Get_Vertragspartner()
|
|
|
|
Dim i As Integer = 0
|
|
If Me.Kontaktperson.iPersonNr.Value = 0 Then
|
|
Me.C1Kontaktpersonen.Bookmark = -1
|
|
|
|
Else
|
|
For i = 0 To Me.C1Kontaktpersonen.Splits(0).Rows.Count - 1
|
|
Me.C1Kontaktpersonen.Bookmark = i
|
|
Try
|
|
If Me.C1Kontaktpersonen.Columns("PersonNr").CellText(i) = Me.Kontaktperson.iPersonNr.Value Then Exit For
|
|
Catch
|
|
End Try
|
|
Next
|
|
End If
|
|
Me.FormDataChanged = False
|
|
End Sub
|
|
''' <summary>
|
|
''' Daten sichern, sofern Änderungen vorgenommen worden sind
|
|
''' </summary>
|
|
''' <remarks></remarks>
|
|
Private Sub Save_Data()
|
|
|
|
If Me.FormDataChanged Then
|
|
Me.Kontaktperson.iKontakttypNr = New SqlInt32(CType(Me.lbRolle.SelectedValue, Int32))
|
|
Me.Kontaktperson.iPersonNr = New SqlInt32(CType(Me.C1Kontaktpersonen.Columns("PersonNr").Value, Int32))
|
|
Me.Kontaktperson.bIntern = New SqlBoolean(CType(Me.cbIntern.Checked, Boolean))
|
|
Me.Kontaktperson.bAktiv = New SqlBoolean(CType(Me.cbaktiv.Checked, Boolean))
|
|
Me.Kontaktperson.sBemerkung = New SqlString(CType(Me.txtBemerkung.Text, String))
|
|
Me.Kontaktperson.iSecurityLevelNr = New SqlInt32(CType(Me.cboxSecurityLevel.SelectedValue, Int32))
|
|
Get_Data(Me.Kontaktperson.Save_Data)
|
|
Me.FormDataChanged = False
|
|
End If
|
|
|
|
End Sub
|
|
|
|
Private Function Get_Vertragspartner()
|
|
Me.txtVertragspartner.Text = Me.Vertragspartner.Get_Vertragspartnername(Me.VertragspartnerNr)
|
|
Get_Vertragspartner_Kontakte()
|
|
End Function
|
|
|
|
Private Function Get_Vertragspartner_Kontakte()
|
|
Try
|
|
'If Check_Changes() = False Then Exit Function
|
|
Catch ex As Exception
|
|
|
|
End Try
|
|
Me.C1Kontaktpersonen.Enabled = False
|
|
Me.Vertragspartner.Get_Kontaktpersonen(Me.C1Kontaktpersonen)
|
|
Me.SpaltenTitel.Spaltentitel_aktualisieren(Me.C1Kontaktpersonen, "Person", Me.Vertragspartner.Kontaktpersonen.Tabledata)
|
|
sec.Set_Form_Security(Me)
|
|
Me.C1Kontaktpersonen.Enabled = True
|
|
End Function
|
|
|
|
Private Function Load_Rollen()
|
|
Dim rollen As New TKB.VV.DB.clsKontakttyp
|
|
Dim rollendata As New DataTable
|
|
rollen.cpMainConnectionProvider = Globals.conn
|
|
rollendata = rollen.SelectAll()
|
|
Dim rv As New DataView(rollendata, "ApplikationsbereichNr=1 and aktiv=1", "", DataViewRowState.CurrentRows)
|
|
Me.lbRolle.DataSource = rv
|
|
Me.lbRolle.ValueMember = "KontakttypNr"
|
|
Me.lbRolle.DisplayMember = "Bezeichnung"
|
|
End Function
|
|
|
|
#End Region
|
|
|
|
#Region "Kontextmenu C1Kontaktperson"
|
|
''' <summary>
|
|
''' C1Kontaktperson Details anzeigen
|
|
''' </summary>
|
|
''' <param name="sender"></param>
|
|
''' <param name="e"></param>
|
|
''' <remarks></remarks>
|
|
Private Sub DetailsKontaktpersonToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles DetailsKontaktpersonToolStripMenuItem.Click
|
|
Try
|
|
Dim f As New frmPerson(Me.C1Kontaktpersonen.Columns("PersonNr").Value, Me.VertragspartnerNr, Me.FormReadonly)
|
|
f.ShowDialog()
|
|
f.Dispose()
|
|
Catch
|
|
End Try
|
|
End Sub
|
|
''' <summary>
|
|
''' C1Kontaktperson neue Person erfassen
|
|
''' </summary>
|
|
''' <param name="sender"></param>
|
|
''' <param name="e"></param>
|
|
''' <remarks></remarks>
|
|
Private Sub NeuKontaktpersonToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles NeuKontaktpersonToolStripMenuItem.Click
|
|
Dim i As Integer = Me.Vertragspartner.Kontaktperson.Add_New(Me.VertragspartnerNr)
|
|
Dim f As New frmPerson(i, Me.VertragspartnerNr, Me.FormReadonly)
|
|
f.ShowDialog()
|
|
f.Dispose()
|
|
Me.Get_Vertragspartner_Kontakte()
|
|
Dim r As Integer = 0
|
|
For r = 0 To Me.C1Kontaktpersonen.Splits(0).Rows.Count - 1
|
|
Me.C1Kontaktpersonen.Bookmark = r
|
|
If Me.C1Kontaktpersonen.Columns("PersonNr").CellText(r) = i Then Exit For
|
|
Next
|
|
End Sub
|
|
''' <summary>
|
|
''' C1Kontaktperson Mousedown
|
|
''' </summary>
|
|
''' <param name="sender"></param>
|
|
''' <param name="e"></param>
|
|
''' <remarks></remarks>
|
|
Private Sub C1Kontaktpersonen_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles C1Kontaktpersonen.MouseDown
|
|
Me.C1Kontaktpersonen.Bookmark = Me.C1Kontaktpersonen.RowContaining(e.Y)
|
|
End Sub
|
|
|
|
#End Region
|
|
|
|
#Region "KontextMenu Vertragspartner"
|
|
''' <summary>
|
|
''' Vertragspartner anzeigen
|
|
''' </summary>
|
|
''' <param name="sender"></param>
|
|
''' <param name="e"></param>
|
|
''' <remarks></remarks>
|
|
Private Sub DetailsVertragspartnerToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles DetailsVertragspartnerToolStripMenuItem.Click
|
|
Dim f As New frmVertragspartner(Me.VertragspartnerNr, Me.FormReadonly)
|
|
f.ShowDialog()
|
|
f.dispose()
|
|
Me.Get_Vertragspartner()
|
|
End Sub
|
|
''' <summary>
|
|
''' Neuer Vertragspartner eröffnen
|
|
''' </summary>
|
|
''' <param name="sender"></param>
|
|
''' <param name="e"></param>
|
|
''' <remarks></remarks>
|
|
Private Sub NeuVertragspartnerToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles NeuVertragspartnerToolStripMenuItem.Click
|
|
Dim i As Integer = Me.Vertragspartner.Add_New
|
|
Dim f As New frmVertragspartner(i, Me.FormReadonly)
|
|
f.ShowDialog()
|
|
f.dispose()
|
|
Me.VertragspartnerNr = i
|
|
Me.Get_Vertragspartner()
|
|
End Sub
|
|
''' <summary>
|
|
''' Vertragspartner suchen
|
|
''' </summary>
|
|
''' <param name="sender"></param>
|
|
''' <param name="e"></param>
|
|
''' <remarks></remarks>
|
|
Private Sub SuchenVertragspartnerToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SuchenVertragspartnerToolStripMenuItem.Click
|
|
Me.btnVertragspartnersuche_Click(sender, e)
|
|
End Sub
|
|
#End Region
|
|
|
|
Private Sub C1Kontaktpersonen_FetchRowStyle(ByVal sender As Object, ByVal e As C1.Win.C1TrueDBGrid.FetchRowStyleEventArgs) Handles C1Kontaktpersonen.FetchRowStyle
|
|
Try
|
|
If Me.C1Kontaktpersonen.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 KontaktpersonMenuStrip_Opening(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles KontaktpersonMenuStrip.Opening
|
|
Me.Disable_Enable_Menu(sender, Me.C1Kontaktpersonen)
|
|
|
|
End Sub
|
|
''' <summary>
|
|
''' Enabling bzw. Disabling der Menu-Einträge aufgrund der angezeigten Rows im Truedbgrind
|
|
''' </summary>
|
|
''' <param name="menu">Zu bearbeitendes Menu</param>
|
|
''' <param name="c1data">Betroffenes Grid</param>
|
|
''' <returns></returns>
|
|
''' <remarks>Nach dem Setzen der Submenus wird sec.form_Security durchlaufen, damit allfällig standardmössig aktivierte Menueinträge
|
|
''' aufgrund der Security-Einstellung wieder deaktiviert werden</remarks>
|
|
Private Function Disable_Enable_Menu(ByRef menu As ContextMenuStrip, ByRef c1data As C1TrueDBGrid)
|
|
If Me.FormReadonly Then
|
|
For Each obj As Object In menu.Items
|
|
Dim objtype As System.Type = obj.GetType
|
|
If LCase(objtype.Name) = "toolstripmenuitem" Then
|
|
Dim mnu As ToolStripMenuItem = obj
|
|
If (mnu.Text.IndexOf("Anzeigen") > 0 Or mnu.Text.IndexOf("anzeigen") > 0 Or mnu.Text.IndexOf("Details") > 0) And c1data.Splits(0).Rows.Count > 0 Then
|
|
mnu.Enabled = True
|
|
Else
|
|
mnu.Enabled = False
|
|
End If
|
|
End If
|
|
Next
|
|
sec.Set_Form_Security(Me)
|
|
Exit Function
|
|
End If
|
|
|
|
If c1data.Splits(0).Rows.Count = 0 Then
|
|
For Each obj As Object In menu.Items
|
|
Dim objtype As System.Type = obj.GetType
|
|
If LCase(objtype.Name) = "toolstripmenuitem" Then
|
|
Dim mnu As ToolStripMenuItem = obj
|
|
If mnu.Text.IndexOf("Neu") > 0 Then
|
|
mnu.Enabled = True
|
|
Else
|
|
mnu.Enabled = False
|
|
End If
|
|
End If
|
|
Next
|
|
Else
|
|
For Each obj As Object In menu.Items
|
|
Dim objtype As System.Type = obj.GetType
|
|
If LCase(objtype.Name) = "toolstripmenuitem" Then
|
|
Dim mnu As ToolStripMenuItem = obj
|
|
mnu.Enabled = True
|
|
End If
|
|
Next
|
|
End If
|
|
sec.Set_Form_Security(Me)
|
|
|
|
End Function
|
|
End Class |