Imports DocumentFormat.OpenXml.Drawing Imports DocumentFormat.OpenXml.Drawing.Charts Public Class usrCntlKundenBesonderheiten Dim kdNr As Integer = -1 Dim loaded = False Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL Protected Overrides Sub OnVisibleChanged(ByVal e As EventArgs) doStyle() End Sub Sub doStyle() With dgvBesonderheiten If .Columns.Count = 0 Then dgvBesonderheiten.Columns.Clear() : Exit Sub For Each c In .Columns c.HeaderCell.Style.ForeColor = Color.White c.HeaderCell.Style.BackColor = Color.FromArgb(0, 54, 128) Next For Each r As DataGridViewRow In .Rows If r.Cells("kdb_hervorheben").Value Then r.DefaultCellStyle.BackColor = Color.LightYellow End If If r.Cells("kdb_history").Value Then r.DefaultCellStyle.BackColor = Color.LightGray End If Next End With End Sub Private Sub usrCntlKundenBesonderheiten_Load(sender As Object, e As EventArgs) Handles Me.Load 'initDGV() cboKategorie.fillWithSQL("SELECT [kdbkat_kategorie],[kdbkat_bezeichnung] FROM [tblKundenBesonderheiten_Kategorien] WHERE (isnull(kdbkat_Firma,'')='' OR kdbkat_Firma='" & VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA & "' ) ", False, "FMZOLL", True) If VERAG_PROG_ALLGEMEIN.cBerechtignunen.CHECK_BERECHTIGUNG_bool("KUNDEN_Besonderheiten_Bearbeiten", "SDL") Then showhideOptions(True) End If loaded = True End Sub Sub init(kdNr, Optional Kategorie = "", Optional simpleView = False, Optional preferedKategorie = "", Optional preferedKategorieOtherIN = "") loaded = False If simpleView Then Panel1.Height = 0 : Panel1.Visible = False 'showhideOptions(False) cboKategorie.changeItem(Kategorie) cbx.Checked = False initDGV(kdNr, simpleView, preferedKategorie, preferedKategorieOtherIN) loaded = True End Sub Sub showhideOptions(visible) cbx.Visible = visible btn.Visible = visible cboKategorie.Visible = visible lbl.Visible = visible End Sub Private Sub initDGV_CLMN() Try With dgvBesonderheiten If .Columns.Count = 0 Then dgvBesonderheiten.Columns.Clear() : Exit Sub For Each r As DataGridViewRow In .Rows ' r.Cells("clmnRufzeichen").Value = "" Select Case r.Cells("kdb_kategorie").Value Case "BH" : If VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA = "BH" Then r.Cells("clmnRufzeichen").Value = "!" Case "VERR" Select Case VERAG_PROG_ALLGEMEIN.cAllgemein.ABTEILUNG Case "VERR", "BH" : r.Cells("clmnRufzeichen").Value = "!" End Select Case "ZOLL" : If VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA = "ZOLL" Then r.Cells("clmnRufzeichen").Value = "!" Select Case VERAG_PROG_ALLGEMEIN.cAllgemein.ABTEILUNG Case "ZOLL", "QS", "FISK" : r.Cells("clmnRufzeichen").Value = "!" End Select If VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA = "VERIMEX" Then r.Cells("clmnRufzeichen").Value = "!" Case "VERIMEX" : If VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA = "VERIMEX" Then r.Cells("clmnRufzeichen").Value = "!!" End Select Next End With Catch ex As Exception VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name) End Try End Sub Private Sub initDGV(Optional kdnrTmp = -1, Optional simpleView = False, Optional preferedKategorie = "", Optional preferedKategorieOtherIN = "") 'If dgvBesonderheiten IsNot Nothing Then Exit Sub If dgvBesonderheiten.Columns IsNot Nothing AndAlso dgvBesonderheiten.Columns.Count > 0 Then Try dgvBesonderheiten.Columns.Clear() Catch End Try End If If kdnrTmp > 0 Then Me.kdNr = kdnrTmp If kdNr <= 0 Then Exit Sub With dgvBesonderheiten Dim loadedTmp = loaded Dim where = "" If cboKategorie._value <> "" Then where &= " AND kdb_kategorie='" & cboKategorie._value & "' " End If If Not cbx.Checked Or Not cbx.Visible Then where &= " and kdb_history=0 " End If Dim order = " ORDER BY kdb_AenderungAm desc" Dim katIN = " " If preferedKategorie <> "" Then order = " ORDER BY CASE WHEN kdb_kategorie = '" & preferedKategorie & "' THEN 1 ELSE 2 END ASC, kdb_AenderungAm desc " If preferedKategorieOtherIN <> "" Then katIN = " AND kdb_kategorie IN(" & preferedKategorieOtherIN & ",'" & preferedKategorie & "') " End If .DataSource = SQL.loadDgvBySql("Select kdb_id, kdb_AenderungAm,kdb_text,kdb_mitId,kdb_mitName,kdb_EingetragenAm,kdb_kategorie, kdb_hervorheben,kdb_history FROM [tblKundenBesonderheiten] where kdb_KundenNr=" & kdNr & " And kdb_visible=1 " & katIN & where & " " & order, "FMZOLL") If .Columns.Count = 0 Then dgvBesonderheiten.Columns.Clear() : Exit Sub .ClearSelection() .AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.AllCells .Columns("kdb_id").Visible = False .Columns("kdb_hervorheben").Visible = False .Columns("kdb_EingetragenAm").Visible = False .Columns("kdb_history").Visible = False .Columns("kdb_mitId").Visible = False .Columns("kdb_kategorie").Width = 65 .Columns("kdb_kategorie").HeaderText = "Art" .Columns("kdb_text").AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill .Columns("kdb_text").HeaderText = "Text" .Columns("kdb_mitName").Width = 60 .Columns("kdb_mitName").HeaderText = "SB" .Columns("kdb_AenderungAm").Width = 65 .Columns("kdb_AenderungAm").HeaderText = "Datum" .Columns("kdb_AenderungAm").DefaultCellStyle.Format = "dd.MM.yyyy" .EnableHeadersVisualStyles = False doStyle() 'For Each c In .Columns ' c.HeaderCell.Style.ForeColor = Color.White ' c.HeaderCell.Style.BackColor = Color.FromArgb(0, 54, 128) 'Next 'For Each r As DataGridViewRow In .Rows ' If r.Cells("kdb_hervorheben").Value Then ' r.DefaultCellStyle.BackColor = Color.LightYellow ' End If ' If r.Cells("kdb_history").Value Then ' r.DefaultCellStyle.BackColor = Color.LightGray ' End If 'Next If simpleView Then .Columns("kdb_kategorie").Visible = False .Columns("kdb_mitName").Visible = False .ColumnHeadersVisible = False End If Dim colm As New DataGridViewTextBoxColumn colm.HeaderText = "" colm.Width = 20 colm.Name = "clmnRufzeichen" colm.DefaultCellStyle.ForeColor = Color.Red colm.DefaultCellStyle.Font = New Font(.DefaultCellStyle.Font.FontFamily, .DefaultCellStyle.Font.Size, FontStyle.Bold) .Columns.Insert(2, colm) ' .GetOrder() initDGV_CLMN() End With End Sub Private Sub btn_Click(sender As Object, e As EventArgs) Handles btn.Click Dim f As New frmKundenBesonderheiten_Add(kdNr) f.ShowDialog() initDGV() End Sub Private Sub dgvBesonderheiten_SelectionChanged(sender As Object, e As EventArgs) Handles dgvBesonderheiten.SelectionChanged dgvBesonderheiten.ClearSelection() End Sub Private Sub MyComboBox1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles cboKategorie.SelectedIndexChanged, cbx.CheckedChanged If loaded Then initDGV() End Sub Dim TMP_kdb_id = -1 Private Sub dgvBesonderheiten_CellMouseClick(sender As Object, e As DataGridViewCellMouseEventArgs) Handles dgvBesonderheiten.CellMouseClick If e.Button = MouseButtons.Right Then If e.RowIndex >= 0 Then If VERAG_PROG_ALLGEMEIN.cBerechtignunen.CHECK_BERECHTIGUNG_bool("KUNDEN_Besonderheiten_Bearbeiten", "SDL") Then TMP_kdb_id = dgvBesonderheiten.Rows(e.RowIndex).Cells("kdb_id").Value cntxt.Show(Cursor.Position) End If End If End If End Sub Private Sub BearbetienToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles BearbetienToolStripMenuItem.Click If TMP_kdb_id < 0 Then Exit Sub Dim f As New frmKundenBesonderheiten_Add(TMP_kdb_id, kdNr) f.ShowDialog() TMP_kdb_id = -1 initDGV() End Sub Private Sub LöschenToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles LöschenToolStripMenuItem.Click If TMP_kdb_id < 0 Then Exit Sub If vbYes = MsgBox("Möchten Sie den Eintrag wirklich auf 'gelöscht' setzten?", vbYesNoCancel) Then Dim KD_BES As New VERAG_PROG_ALLGEMEIN.cKundenBesonderheiten(TMP_kdb_id) KD_BES.kdb_history = True Dim delStr = "*Gelöscht: " If Not KD_BES.kdb_text.Contains(delStr) Then KD_BES.kdb_text = delStr & KD_BES.kdb_text KD_BES.SAVE() TMP_kdb_id = -1 initDGV() End If End Sub Private Sub dgvBesonderheiten_Paint(sender As Object, e As PaintEventArgs) Handles dgvBesonderheiten.Paint initDGV_CLMN() doStyle() End Sub End Class