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.
306 lines
12 KiB
306 lines
12 KiB
Imports C1.Win.C1TrueDBGrid
|
|
Public Class frmPendenzübersicht
|
|
|
|
#Region "Deklarationen"
|
|
Dim Pendenzen As New TKB.VV.Vertrag.clsPendenzUebersicht
|
|
Dim Pendenz As New TKB.VV.Vertrag.clsPendenz
|
|
|
|
Dim sec As New TKB.VV.Utils.MySecurity
|
|
Dim msg As New TKB.VV.Utils.MyMessage
|
|
Dim SpaltenTitel As New TKB.VV.Utils.Tabellenspalte
|
|
Dim data As New DataTable
|
|
Dim FormReadOnly As Boolean = False
|
|
Dim Save_Status As String
|
|
''' <summary>
|
|
''' Generic Event-Handler
|
|
''' </summary>
|
|
''' <remarks></remarks>
|
|
Dim WithEvents evh As MyGenericEventHandler = Globals.MyEventHanlder
|
|
Dim StatusTable As New TKB.VV.DB.clsPendenzstatus
|
|
Dim Statusdata As New DataTable
|
|
#End Region
|
|
|
|
''' <summary>
|
|
''' Laden des Formulars
|
|
''' </summary>
|
|
''' <param name="sender"></param>
|
|
''' <param name="e"></param>
|
|
''' <remarks></remarks>
|
|
Private Sub frmPendenzübersicht_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
|
|
Get_Load_Status()
|
|
Me.StatusToolStripComboBox.SelectedIndex = 1
|
|
Refresh_Uebersicht()
|
|
End Sub
|
|
''' <summary>
|
|
''' Aktualisieren der Pendenz-Übersicht
|
|
''' </summary>
|
|
''' <remarks></remarks>
|
|
Private Sub Refresh_Uebersicht()
|
|
Me.C1Pendenzen.Enabled = False
|
|
Try
|
|
Dim i As Integer = -1
|
|
For Each dr As DataRow In Me.Statusdata.Rows
|
|
If dr.Item("Bezeichnung") = Me.StatusToolStripComboBox.SelectedItem Then i = dr.Item("Pendenzstatusnr")
|
|
Next
|
|
' data = Pendenzen.Get_Pendenzuebersicht(0, Me.StatusToolStripComboBox.SelectedItem)
|
|
data = Pendenzen.Get_Pendenzuebersicht(0, i)
|
|
Me.Save_Status = Me.StatusToolStripComboBox.SelectedItem
|
|
Catch ex As Exception
|
|
Dim i1 As Integer = -1
|
|
For Each dr As DataRow In Me.Statusdata.Rows
|
|
If dr.Item("Bezeichnung") = Me.Save_Status Then i1 = dr.Item("Pendenzstatusnr")
|
|
Next
|
|
data = Pendenzen.Get_Pendenzuebersicht(0, i1)
|
|
End Try
|
|
Dim filtertext As String = ""
|
|
Try
|
|
For Each c As C1DataColumn In Me.C1Pendenzen.Columns
|
|
If c.FilterText <> "" Then filtertext = filtertext + ";" + c.Caption + ":" + c.FilterText
|
|
Next
|
|
Catch ex As Exception
|
|
End Try
|
|
Me.C1Pendenzen.DataSource = data
|
|
Me.C1Pendenzen.DataMember = data.TableName
|
|
Me.SpaltenTitel.Spaltentitel_aktualisieren(Me.C1Pendenzen, "Pendenzuebersicht", data, False)
|
|
Try
|
|
Dim splitter()
|
|
splitter = filtertext.Split(";")
|
|
If splitter.Length > 1 Then
|
|
For Each s As String In splitter
|
|
Dim splitter1() As String
|
|
splitter1 = s.Split(":")
|
|
Try
|
|
Me.C1Pendenzen.Columns(splitter1(0)).FilterText = splitter1(1)
|
|
Catch ex As Exception
|
|
|
|
End Try
|
|
Next
|
|
End If
|
|
Catch
|
|
End Try
|
|
Me.C1Pendenzen.Enabled = True
|
|
sec.Set_Form_Security(Me)
|
|
End Sub
|
|
Private Sub Get_Load_Status()
|
|
Me.StatusToolStripComboBox.Items.Clear()
|
|
Me.StatusToolStripComboBox.Items.Add("Alle")
|
|
Me.StatusTable.cpMainConnectionProvider = Globals.conn
|
|
Statusdata = Me.StatusTable.SelectAll()
|
|
For Each dr As DataRow In Me.Statusdata.Rows
|
|
If dr.Item("Aktiv") = True Then
|
|
Me.StatusToolStripComboBox.Items.Add(dr.Item("Bezeichnung"))
|
|
End If
|
|
Next
|
|
|
|
End Sub
|
|
''' <summary>
|
|
''' Selektion nach Status ändern
|
|
''' </summary>
|
|
''' <param name="sender"></param>
|
|
''' <param name="e"></param>
|
|
''' <remarks></remarks>
|
|
Private Sub StatusToolStripComboBox_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles StatusToolStripComboBox.SelectedIndexChanged
|
|
Refresh_Uebersicht()
|
|
End Sub
|
|
|
|
''' <summary>
|
|
''' Aktualisierung des Formulars
|
|
''' </summary>
|
|
''' <param name="Pendenznr"></param>
|
|
''' <remarks></remarks>
|
|
Private Sub evh_FormularPendenz_Closed() Handles evh.FormularPendenz_Closed, evh.Pendenz_Deleted
|
|
Refresh_Uebersicht()
|
|
End Sub
|
|
|
|
''' <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>
|
|
''' Neue Pendenz 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
|
|
Dim f As New frmPendenz(Me.Pendenz.Add_New(0), 0, Me.FormReadOnly, False)
|
|
f.MdiParent = Me.MdiParent
|
|
f.Show()
|
|
End Sub
|
|
|
|
''' <summary>
|
|
''' C1Pendenz-Doubleklick
|
|
''' </summary>
|
|
''' <param name="sender"></param>
|
|
''' <param name="e"></param>
|
|
''' <remarks></remarks>
|
|
Private Sub C1Pendenzen_DoubleClick(ByVal sender As Object, ByVal e As System.EventArgs) Handles C1Pendenzen.DoubleClick
|
|
Try
|
|
Dim f As New frmPendenz(Me.C1Pendenzen.Columns("Pendenznr").Value, 0, Me.FormReadOnly, False)
|
|
f.MdiParent = Me.MdiParent
|
|
f.Show()
|
|
Catch ex As Exception
|
|
|
|
End Try
|
|
End Sub
|
|
''' <summary>
|
|
''' Mousedown im Grid
|
|
''' </summary>
|
|
''' <param name="sender"></param>
|
|
''' <param name="e"></param>
|
|
''' <remarks></remarks>
|
|
Private Sub C1Pendenzen_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles C1Pendenzen.MouseDown
|
|
Me.C1Pendenzen.Bookmark = Me.C1Pendenzen.RowContaining(e.Y)
|
|
End Sub
|
|
|
|
''' <summary>
|
|
''' Pendenz 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(290) = MsgBoxResult.Yes Then
|
|
Me.Pendenz.Delete_Pendenz(Me.C1Pendenzen.Columns("Pendenznr").Value)
|
|
Me.Refresh_Uebersicht()
|
|
End If
|
|
|
|
End Sub
|
|
''' <summary>
|
|
''' Rowstyle von inaktiven Pendenzen
|
|
''' </summary>
|
|
''' <param name="sender"></param>
|
|
''' <param name="e"></param>
|
|
''' <remarks></remarks>
|
|
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").CellValue(e.Row) < Now Then
|
|
Dim fnt As Font = e.CellStyle.Font
|
|
e.CellStyle.ForeColor = Color.Red
|
|
End If
|
|
End If
|
|
|
|
Catch
|
|
End Try
|
|
End Sub
|
|
|
|
|
|
''' <summary>
|
|
''' Context-Menu anzeigen
|
|
''' </summary>
|
|
''' <param name="sender"></param>
|
|
''' <param name="e"></param>
|
|
''' <remarks></remarks>
|
|
Private Sub AnzeigenToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles AnzeigenToolStripMenuItem.Click
|
|
Me.C1Pendenzen_DoubleClick(sender, e)
|
|
End Sub
|
|
''' <summary>
|
|
''' Context-Menu Neu
|
|
''' </summary>
|
|
''' <param name="sender"></param>
|
|
''' <param name="e"></param>
|
|
''' <remarks></remarks>
|
|
Private Sub NeuToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles NeuToolStripMenuItem.Click
|
|
Me.TSBtnNew_Click(sender, e)
|
|
End Sub
|
|
''' <summary>
|
|
''' Context-Menu Löschen/Inaktivieren
|
|
''' </summary>
|
|
''' <param name="sender"></param>
|
|
''' <param name="e"></param>
|
|
''' <remarks></remarks>
|
|
Private Sub LöschenToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles LöschenToolStripMenuItem.Click
|
|
Me.TSBtnDelete_Click(sender, e)
|
|
End Sub
|
|
|
|
#Region "Context-Menu-Handling"
|
|
|
|
''' <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 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
|
|
|
|
''' <summary>
|
|
''' Handelt das Opending-Ereignis des Context-Menus
|
|
''' </summary>
|
|
''' <remarks>
|
|
''' Überi Disable_Enable_Menu werden die Menueinträge aktiviert bzw. deaktiviert
|
|
''' </remarks>
|
|
''' <param name="sender"></param>
|
|
''' <param name="e"></param>
|
|
''' <seealso
|
|
''' cref="M:Vertragsverwaltung.frmVertragselement.Disable_Enable_Menu(System.Windows.Forms.ContextMenuStrip@,C1.Win.C1TrueDBGrid.C1TrueDBGrid@)"></seealso>
|
|
Private Sub KontakteMenuStrip_Opening(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles PendenzenContextMenuStrip.Opening
|
|
Me.Disable_Enable_Menu(sender, Me.C1Pendenzen)
|
|
End Sub
|
|
#End Region
|
|
|
|
Private Sub StatusToolStripComboBox_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles StatusToolStripComboBox.Click
|
|
|
|
End Sub
|
|
|
|
Private Sub tsbtnprint_Click(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.C1Pendenzen.PrintInfo
|
|
.PageHeaderStyle.Font = fontbold
|
|
.PageSettings.Margins.Bottom = 20
|
|
.PageSettings.Margins.Top = 20
|
|
.PageSettings.Landscape = True
|
|
.PageFooter = "Seite \p von \P" & vbLf & "Druckdatum " & Now()
|
|
.PageHeader = "Pendenzen"
|
|
.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
|
|
End Class |