From 51b7ecf2a034dd9949cac49bebdcaf8bde4ed4e7 Mon Sep 17 00:00:00 2001 From: "d.breimaier" Date: Mon, 29 Dec 2025 14:53:52 +0100 Subject: [PATCH] KdSearchbox, etc. --- SDL/My Project/AssemblyInfo.vb | 4 +- SDL/kunden/usrcntlKundeBearbeitenFull.vb | 27 +- .../KdSearchBox.vb | 286 ++++++++++++++---- .../usrcntlKdSearch.Designer.vb | 92 ++++-- .../usrcntlKdSearch.vb | 6 + 5 files changed, 324 insertions(+), 91 deletions(-) diff --git a/SDL/My Project/AssemblyInfo.vb b/SDL/My Project/AssemblyInfo.vb index 1a758ece..ac3cec6c 100644 --- a/SDL/My Project/AssemblyInfo.vb +++ b/SDL/My Project/AssemblyInfo.vb @@ -31,5 +31,5 @@ Imports System.Runtime.InteropServices ' übernehmen, indem Sie "*" eingeben: ' - - + + diff --git a/SDL/kunden/usrcntlKundeBearbeitenFull.vb b/SDL/kunden/usrcntlKundeBearbeitenFull.vb index efe42ffe..df00958f 100644 --- a/SDL/kunden/usrcntlKundeBearbeitenFull.vb +++ b/SDL/kunden/usrcntlKundeBearbeitenFull.vb @@ -577,28 +577,27 @@ Public Class usrcntlKundeBearbeitenFull End If ADRESSE.Auswahl = cboAuswahl._value - ADRESSE.Ordnungsbegriff = isLeerNothing(txtKurzname.Text) + ADRESSE.Ordnungsbegriff = isLeerNothing(txtKurzname.Text.Trim) - ADRESSE.Name_1 = isLeerNothing(txtFirmenname1.Text) - ADRESSE.Name_2 = isLeerNothing(txtFirmenname2.Text) - ADRESSE.Name_2 = isLeerNothing(txtFirmenname2.Text) + ADRESSE.Name_1 = isLeerNothing(txtFirmenname1.Text.Trim) + ADRESSE.Name_2 = isLeerNothing(txtFirmenname2.Text.Trim) KUNDE_ERW.kde_AdressZusatz = (txtAdresseZusatz.Text) - ADRESSE.Straße = isLeerNothing(txtStrasse.Text) - ADRESSE.PLZ = isLeerNothing(txtPlz.Text) - ADRESSE.Ort = isLeerNothing(txtOrt.Text) + ADRESSE.Straße = isLeerNothing(txtStrasse.Text.Trim) + ADRESSE.PLZ = isLeerNothing(txtPlz.Text.Trim) + ADRESSE.Ort = isLeerNothing(txtOrt.Text.Trim) ADRESSE.LandKz = isLeerNothing(cbxLandKz._value) ADRESSE.PLZPF = isLeerNothing(txtPostfachPlz.Text) ADRESSE.Postfach = isLeerNothing(txtPostfachOrt.Text) - ADRESSE.Telefon = isLeerNothing(txtTel.Text) - ADRESSE.Telefax = isLeerNothing(txtFax.Text) - ADRESSE.Mobiltelefon = isLeerNothing(txtMobil.Text) - ADRESSE.E_Mail = isLeerNothing(txtEmail.Text) - ADRESSE.E_Mail2 = isLeerNothing(txtEmail2.Text) + ADRESSE.Telefon = isLeerNothing(txtTel.Text.Trim) + ADRESSE.Telefax = isLeerNothing(txtFax.Text.Trim) + ADRESSE.Mobiltelefon = isLeerNothing(txtMobil.Text.Trim) + ADRESSE.E_Mail = isLeerNothing(txtEmail.Text.Trim) + ADRESSE.E_Mail2 = isLeerNothing(txtEmail2.Text.Trim) - ADRESSE.Ansprechpartner = isLeerNothing(txtAnsprechpartner.Text) - ADRESSE.Anrede = isLeerNothing(txtAnsprechpartnerAnrede.Text) + ADRESSE.Ansprechpartner = isLeerNothing(txtAnsprechpartner.Text.Trim) + ADRESSE.Anrede = isLeerNothing(txtAnsprechpartnerAnrede.Text.Trim) ' txtBank.Text=ADRESSE.Bankverbindung" diff --git a/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/KdSearchBox.vb b/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/KdSearchBox.vb index e24506c9..7fd636df 100644 --- a/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/KdSearchBox.vb +++ b/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/KdSearchBox.vb @@ -41,6 +41,7 @@ Public Class KdSearchBox Dim Eingabe_verarbeitet = True Dim WithEvents tmr_Search As New Timer + Dim GlobalAnzahlKunden As Integer = -1 Public usrcntlWIDTH = 600 Public usrcntlHEIGHT = 380 @@ -159,7 +160,148 @@ Public Class KdSearchBox End Try End Sub - Sub doKeyDown(srchdate As DateTime) + Private Sub seeAllKunden(sender As Object, e As MouseEventArgs) Handles usrcntl.DGV_AlleKunden + + If Not searchActive Then Exit Sub + + If usrcntl Is Nothing Then + Exit Sub + End If + + Try + + If usrcntl.Visible = False Then + usrcntl.Width = usrcntlWIDTH + usrcntl.Height = usrcntlHEIGHT + + Dim locationOnForm As Point = Nothing + If Me.FindForm IsNot Nothing Then + If dgvpos = "LEFT" Or dgvpos = "" Then + locationOnForm = Me.FindForm().PointToClient(Me.Parent.PointToScreen(Me.Location)) + ElseIf dgvpos = "RIGHT" Then + locationOnForm = Me.FindForm().PointToClient(Me.Parent.PointToScreen(Me.Location)) + locationOnForm.X = locationOnForm.X - (usrcntl.Width - Me.Width) + End If + End If + + + If locationOnForm.Y + usrcntl.Height + Me.Height > form.ClientRectangle.Height Then + usrcntl.Height = form.ClientRectangle.Height - locationOnForm.Y - Me.Height + End If + + usrcntl.Location = locationOnForm + usrcntl.Top += Me.Height + End If + + If usrcntl IsNot Nothing AndAlso usrcntl.dgvKundenAktiv IsNot Nothing Then + + With usrcntl.dgvKundenAktiv + + If usrcntl.Visible = False Then + .AllowUserToAddRows = False + .AllowUserToDeleteRows = False + .AllowUserToOrderColumns = False + .AllowUserToResizeColumns = False + .AllowUserToResizeRows = False + .ReadOnly = True + .MultiSelect = False + .SelectionMode = DataGridViewSelectionMode.FullRowSelect + .BackgroundColor = Color.White + .ForeColor = Color.Black + Try + .GridColor = Color.White + Catch ex As Exception + 'Keine Ahnung warum hier ein Fehler kommt + End Try + + End If + + + 'THREADING AKTIV + Me.ThreadInitAKTIV(GlobalAnzahlKunden) + ' Dim ThreadInitAKTIV = New System.Threading.Thread(AddressOf Me.ThreadInitAKTIV) + ' ThreadInitAKTIV.IsBackground = True + ' ThreadInitAKTIV.Start() + + End With + End If + + If nurAktive Then + usrcntl.dgvKundenInAktiv.Visible = False + usrcntl.Panel1.Visible = False + Else + If usrcntl IsNot Nothing AndAlso usrcntl.dgvKundenInAktiv IsNot Nothing Then + + With usrcntl.dgvKundenInAktiv + If usrcntl.Visible = False Then + .AllowUserToAddRows = False + .AllowUserToDeleteRows = False + .AllowUserToOrderColumns = False + .AllowUserToResizeColumns = False + .AllowUserToResizeRows = False + .ReadOnly = True + .MultiSelect = False + .SelectionMode = DataGridViewSelectionMode.FullRowSelect + .BackgroundColor = Color.White + .ForeColor = Color.Black + Try + .GridColor = Color.White + Catch ex As Exception + 'Keine Ahnung warum hier ein Fehler kommt + End Try + .DefaultCellStyle.ForeColor = Color.Gray + End If + + + Me.ThreadInitINAKTIV() + 'THREADING INAKTIV + 'Dim ThreadInitINAKTIV = New System.Threading.Thread(AddressOf Me.ThreadInitINAKTIV) + 'ThreadInitINAKTIV.IsBackground = True + 'ThreadInitINAKTIV.Start() + + End With + + End If + End If + + If _hideIfListEmpty Then + + If usrcntl.dgvKundenAktiv.RowCount = 0 And usrcntl.dgvKundenInAktiv.RowCount = 0 Then + setObjectVisible(usrcntl, False) + Else + setObjectVisible(usrcntl, True) + End If + If False Then + + 'THREADING ThreadWaitAndSee + Dim ThreadWaitAndSee = New System.Threading.Thread(Sub() + Threading.Thread.Sleep(200) + If usrcntl.dgvKundenAktiv.RowCount = 0 And usrcntl.dgvKundenInAktiv.RowCount = 0 Then + setObjectVisible(usrcntl, False) + Else + setObjectVisible(usrcntl, True) + End If + End Sub) + ThreadWaitAndSee.IsBackground = True + ThreadWaitAndSee.Start() + End If + Else + usrcntl.Visible = True + usrcntl.Show() + usrcntl.BringToFront() + End If + Eingabe_verarbeitet = True + last_search = Now + + Catch ex As Exception + MsgBox(ex.Message & ex.StackTrace) + End Try + + + + End Sub + + Sub doKeyDown(srchdate As DateTime, Optional topKunden As Integer = 10) Try If usrcntl Is Nothing Then Exit Sub If Eingabe_verarbeitet Then Exit Sub ' Bereits abgearbetiet -> Timer @@ -169,7 +311,7 @@ Public Class KdSearchBox 'TIMER_SEARCH If TIMER_SEARCH Then - If span_last_search < 500 And span_last_eingabe < 500 Then + If span_last_search < 600 And span_last_eingabe < 600 Then Exit Sub End If End If @@ -223,7 +365,7 @@ Public Class KdSearchBox 'THREADING AKTIV - Me.ThreadInitAKTIV() + Me.ThreadInitAKTIV(topKunden) ' Dim ThreadInitAKTIV = New System.Threading.Thread(AddressOf Me.ThreadInitAKTIV) ' ThreadInitAKTIV.IsBackground = True ' ThreadInitAKTIV.Start() @@ -232,9 +374,9 @@ Public Class KdSearchBox End If If nurAktive Then - usrcntl.dgvKundenInAktiv.Visible = False - usrcntl.Panel1.Visible = False - Else + usrcntl.dgvKundenInAktiv.Visible = False + usrcntl.Panel1.Visible = False + Else If usrcntl IsNot Nothing AndAlso usrcntl.dgvKundenInAktiv IsNot Nothing Then With usrcntl.dgvKundenInAktiv @@ -271,32 +413,32 @@ Public Class KdSearchBox If _hideIfListEmpty Then - If usrcntl.dgvKundenAktiv.RowCount = 0 And usrcntl.dgvKundenInAktiv.RowCount = 0 Then - setObjectVisible(usrcntl, False) - Else - setObjectVisible(usrcntl, True) - End If - If False Then + If usrcntl.dgvKundenAktiv.RowCount = 0 And usrcntl.dgvKundenInAktiv.RowCount = 0 Then + setObjectVisible(usrcntl, False) + Else + setObjectVisible(usrcntl, True) + End If + If False Then - 'THREADING ThreadWaitAndSee - Dim ThreadWaitAndSee = New System.Threading.Thread(Sub() - Threading.Thread.Sleep(200) - If usrcntl.dgvKundenAktiv.RowCount = 0 And usrcntl.dgvKundenInAktiv.RowCount = 0 Then - setObjectVisible(usrcntl, False) - Else - setObjectVisible(usrcntl, True) - End If - End Sub) - ThreadWaitAndSee.IsBackground = True - ThreadWaitAndSee.Start() + 'THREADING ThreadWaitAndSee + Dim ThreadWaitAndSee = New System.Threading.Thread(Sub() + Threading.Thread.Sleep(200) + If usrcntl.dgvKundenAktiv.RowCount = 0 And usrcntl.dgvKundenInAktiv.RowCount = 0 Then + setObjectVisible(usrcntl, False) + Else + setObjectVisible(usrcntl, True) + End If + End Sub) + ThreadWaitAndSee.IsBackground = True + ThreadWaitAndSee.Start() + End If + Else + usrcntl.Visible = True + usrcntl.Show() + usrcntl.BringToFront() End If - Else - usrcntl.Visible = True - usrcntl.Show() - usrcntl.BringToFront() - End If - Eingabe_verarbeitet = True - last_search = Now + Eingabe_verarbeitet = True + last_search = Now Catch ex As Exception MsgBox(ex.Message & ex.StackTrace) @@ -393,7 +535,7 @@ Public Class KdSearchBox If Not _displayWoelflKd Then SQLstr &= " AND AdressenNr NOT LIKE '15%'" SQLstr &= " order by Ordnungsbegriff " - setDS(usrcntl.dgvKundenAktiv, SQL.loadDgvBySql(SQLstr, "FMZOLL")) + setDS(True, usrcntl.dgvKundenAktiv, SQL.loadDgvBySql(SQLstr, "FMZOLL"), topAnz) End With @@ -477,7 +619,7 @@ Public Class KdSearchBox If Not _displayWoelflKd Then SQLstr &= " AND AdressenNr NOT LIKE '15%'" SQLstr &= " order by Ordnungsbegriff " - setDS(usrcntl.dgvKundenInAktiv, SQL.loadDgvBySql(SQLstr, "FMZOLL")) + setDS(False, usrcntl.dgvKundenInAktiv, SQL.loadDgvBySql(SQLstr, "FMZOLL"), 6) End With @@ -487,7 +629,7 @@ Public Class KdSearchBox End Sub - Sub ThreadInitAKTIV() + Sub ThreadInitAKTIV(Optional topKunden As Integer = 10) Try If usrcntl Is Nothing Then Exit Sub If usrcntl.dgvKundenAktiv Is Nothing Then Exit Sub @@ -504,25 +646,28 @@ Public Class KdSearchBox End If If srch2.StartsWith("*") Then srch2 = Replace(srch2, "*", "%", , 1) ' Suche mit beginnenden * - Dim topAnz = 10 + Dim topAnz = topKunden If nurAktive Then topAnz = 16 Dim AvisoEmail = "" If _displayAVISO_Email Then AvisoEmail = ", (SELECT CASE WHEN Count(*)>0 Then 'JA' ELSE '' END [Adressen] FROM [tblEmailBenachrichtigung] WHERE [eb_KundenNr]=AdressenNr) as [E-Mail] " End If + + Dim SQLstrEnd As String = "" + Dim SQLstrCount As String = "Select count(Ordnungsbegriff)" Dim SQLstr As String = " SELECT top " & topAnz & " Ordnungsbegriff as Firma, AdressenNr as KdNr,Adressen.[LandKz] + ' ' + Adressen.[PLZ] + ' - ' + Adressen.[Ort] + ' ' + Adressen.[Straße] as Adresse " & AvisoEmail & " " If VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA = "FRONTOFFICE" Or VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA = "VERIMEX" Or _AlleFirmenCLUSTER Or _UseFIRMA <> "" Or VERAG_PROG_ALLGEMEIN.cBerechtignunen.CHECK_BERECHTIGUNG_bool("AVISO_IMEX", "AVISO") Or VERAG_PROG_ALLGEMEIN.cBerechtignunen.CHECK_BERECHTIGUNG_bool("OFFERTE_FREMD_VERAGIMEX", "SDL") Then SQLstr &= ", Filialen.Firma as Firma_Intern " - SQLstr &= " FROM [Adressen] " - SQLstr &= " INNER JOIN Kunden on KundenNr=AdressenNr " - SQLstr &= " INNER JOIN Filialen on Filialen.FilialenNr=isnull(Kunden.FilialenNr,4803) " - SQLstr &= " WHERE 1=1 " - SQLstr &= " AND ( " - SQLstr &= " Ordnungsbegriff COLLATE Latin1_General_CI_AI LIKE '" & srch & "%' COLLATE Latin1_General_CI_AI " - If IsNumeric(srch) Then SQLstr &= " OR AdressenNr LIKE '" & srch & "%' " - If _searchName1 Then SQLstr &= " OR Adressen.[Name 1] LIKE '" & srch & "%' " - SQLstr &= " ) " - If srch2 <> "" Then SQLstr &= " AND (Filialen.Firma LIKE '" & srch2 & "%' OR ( Adressen.PLZ LIKE '" & srch2 & "%' OR Adressen.Ort LIKE '" & srch2 & "%' OR Adressen.LandKz LIKE '" & srch2 & "%' OR Adressen.Straße LIKE '" & srch2 & "%' )) " - SQLstr &= " AND [Auswahl]='A' " + SQLstrEnd &= " FROM [Adressen] " + SQLstrEnd &= " INNER JOIN Kunden on KundenNr=AdressenNr " + SQLstrEnd &= " INNER JOIN Filialen on Filialen.FilialenNr=isnull(Kunden.FilialenNr,4803) " + SQLstrEnd &= " WHERE 1=1 " + SQLstrEnd &= " AND ( " + SQLstrEnd &= " Ordnungsbegriff COLLATE Latin1_General_CI_AI LIKE '" & srch & "%' COLLATE Latin1_General_CI_AI " + If IsNumeric(srch) Then SQLstrEnd &= " OR AdressenNr LIKE '" & srch & "%' " + If _searchName1 Then SQLstrEnd &= " OR Adressen.[Name 1] LIKE '" & srch & "%' " + SQLstrEnd &= " ) " + If srch2 <> "" Then SQLstrEnd &= " AND (Filialen.Firma LIKE '" & srch2 & "%' OR ( Adressen.PLZ LIKE '" & srch2 & "%' OR Adressen.Ort LIKE '" & srch2 & "%' OR Adressen.LandKz LIKE '" & srch2 & "%' OR Adressen.Straße LIKE '" & srch2 & "%' )) " + SQLstrEnd &= " AND [Auswahl]='A' " 'If VERAG_PROG_ALLGEMEIN.cAllgemein.CLUSTER <> "" Then ' SQLstr &= " AND (Filialen.Firma='" & VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA & "' OR Filialen.CLUSTER='" & VERAG_PROG_ALLGEMEIN.cAllgemein.CLUSTER & "') " @@ -531,24 +676,24 @@ Public Class KdSearchBox 'End If If _AlleFirmenCLUSTER Then - SQLstr &= " AND '" & VERAG_PROG_ALLGEMEIN.cAllgemein.CLUSTER & "' IN (Filialen.Firma,Filialen.Cluster) " ' Wenn die Firmenbezeichnung im CLUSter vorkommt .--> Frontoffice + SQLstrEnd &= " AND '" & VERAG_PROG_ALLGEMEIN.cAllgemein.CLUSTER & "' IN (Filialen.Firma,Filialen.Cluster) " ' Wenn die Firmenbezeichnung im CLUSter vorkommt .--> Frontoffice ElseIf _UseFIRMA <> "" Then - SQLstr &= " AND '" & _UseFIRMA & "' IN (Filialen.Firma,Filialen.Cluster) " ' Wenn die Firmenbezeichnung im CLUSter vorkommt .--> Frontoffice + SQLstrEnd &= " AND '" & _UseFIRMA & "' IN (Filialen.Firma,Filialen.Cluster) " ' Wenn die Firmenbezeichnung im CLUSter vorkommt .--> Frontoffice Else - SQLstr &= " AND ( '" & VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA.Replace("ATILLA", "VERAG") & "' IN (Filialen.Firma,Filialen.Cluster) " ' Wenn die Firmenbezeichnung im CLUSter vorkommt .--> Frontoffice + SQLstrEnd &= " AND ( '" & VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA.Replace("ATILLA", "VERAG") & "' IN (Filialen.Firma,Filialen.Cluster) " ' Wenn die Firmenbezeichnung im CLUSter vorkommt .--> Frontoffice If VERAG_PROG_ALLGEMEIN.cBerechtignunen.CHECK_BERECHTIGUNG_bool("AVISO_IMEX", "AVISO") Then - SQLstr &= " OR Filialen.Firma IN ('IMEX') " ' Wenn die Firmenbezeichnung im CLUSter vorkommt .--> Frontoffice + SQLstrEnd &= " OR Filialen.Firma IN ('IMEX') " ' Wenn die Firmenbezeichnung im CLUSter vorkommt .--> Frontoffice End If If VERAG_PROG_ALLGEMEIN.cBerechtignunen.CHECK_BERECHTIGUNG_bool("OFFERTE_FREMD_VERAGIMEX", "SDL") Then - SQLstr &= " OR Filialen.Firma IN ('IMEX','VERAG') " ' Wenn die OFFERTE_FREMD_VERAGIMEX --> Beide + SQLstrEnd &= " OR Filialen.Firma IN ('IMEX','VERAG') " ' Wenn die OFFERTE_FREMD_VERAGIMEX --> Beide End If If VERAG_PROG_ALLGEMEIN.cBerechtignunen.CHECK_BERECHTIGUNG_bool("OFFERTE_FREMD_UNISPED_BREXIT", "SDL") Then - SQLstr &= " OR (Filialen.Firma IN ('UNISPED') AND Kunden.[FilialenNr]=7002) " ' Wenn die OFFERTE_FREMD_VERAGIMEX --> Beide + SQLstrEnd &= " OR (Filialen.Firma IN ('UNISPED') AND Kunden.[FilialenNr]=7002) " ' Wenn die OFFERTE_FREMD_VERAGIMEX --> Beide End If If VERAG_PROG_ALLGEMEIN.cBerechtignunen.CHECK_BERECHTIGUNG_bool("FAKTURIERUNG_FRONTOFFICE", "SDL") Then - SQLstr &= " OR Filialen.Firma IN ('FRONTOFFICE') " ' Wenn die Firmenbezeichnung im CLUSter vorkommt .--> Frontoffice + SQLstrEnd &= " OR Filialen.Firma IN ('FRONTOFFICE') " ' Wenn die Firmenbezeichnung im CLUSter vorkommt .--> Frontoffice End If - SQLstr &= " ) " + SQLstrEnd &= " ) " End If ''AUSNAHME BIS BESSERE LÖSUNG: @@ -565,10 +710,9 @@ Public Class KdSearchBox ' 'SQLstr &= " AND isnull(Kunden.[FilialenNr],0)<>'5501' " ' SQLstr &= " AND isnull(Kunden.[FilialenNr],0) NOT IN ('5501','5601','5701','5801') " 'End If - If Not _displayWoelflKd Then SQLstr &= " AND AdressenNr NOT LIKE '15%'" - SQLstr &= " order by Ordnungsbegriff " + If Not _displayWoelflKd Then SQLstrEnd &= " AND AdressenNr NOT LIKE '15%'" - setDS(usrcntl.dgvKundenAktiv, SQL.loadDgvBySql(SQLstr, "FMZOLL")) + setDS(True, usrcntl.dgvKundenAktiv, SQL.loadDgvBySql(SQLstr & SQLstrEnd & " order by Ordnungsbegriff ", "FMZOLL"), topAnz, IIf(srch.Count > 4, SQL.getValueTxtBySql(SQLstrCount & SQLstrEnd, "FMZOLL"), "")) End With @@ -651,7 +795,7 @@ Public Class KdSearchBox If Not _displayWoelflKd Then SQLstr &= " AND AdressenNr NOT LIKE '15%'" SQLstr &= " order by Ordnungsbegriff " - setDS(usrcntl.dgvKundenInAktiv, SQL.loadDgvBySql(SQLstr, "FMZOLL")) + setDS(False, usrcntl.dgvKundenInAktiv, SQL.loadDgvBySql(SQLstr, "FMZOLL"), 4) End With @@ -662,7 +806,7 @@ Public Class KdSearchBox 'threadsicherer Aufruf ' Delegate Sub setLabelCallback(l As DataGridView, t As DataTable) - Private Sub setDS(l As DataGridView, t As DataTable) + Private Sub setDS(aktiveKunden As Boolean, l As DataGridView, t As DataTable, topKunden As Integer, Optional anzahlKunden As String = "") Try If l Is Nothing Then Exit Sub If t Is Nothing Then Exit Sub @@ -685,6 +829,32 @@ Public Class KdSearchBox .ClearSelection() End With + + If aktiveKunden Then + + If topKunden < CInt(anzahlKunden) And CInt(anzahlKunden) < 65 Then + usrcntl.btnAlleKunden.Visible = True + Else + usrcntl.btnAlleKunden.Visible = False + End If + + usrcntl.Label2.Text = "AKTIVE Kunden - MAX " & topKunden & " Einträge" + + If anzahlKunden <> "" AndAlso IsNumeric(anzahlKunden) Then + usrcntl.lblAnzahl.Text = "Anzahl: " & anzahlKunden + GlobalAnzahlKunden = anzahlKunden + Else + usrcntl.lblAnzahl.Text = "" + GlobalAnzahlKunden = -1 + End If + + Else + + usrcntl.lblINAKTIVEKunden.Text = "INAKTIVE Kunden - MAX " & topKunden & " Einträge" + + End If + + ' End If Catch ex As Exception diff --git a/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/usrcntlKdSearch.Designer.vb b/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/usrcntlKdSearch.Designer.vb index 3bb45441..882d0ca5 100644 --- a/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/usrcntlKdSearch.Designer.vb +++ b/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/usrcntlKdSearch.Designer.vb @@ -22,19 +22,84 @@ Partial Class usrcntlKdSearch 'Das Bearbeiten mit dem Code-Editor ist nicht möglich. _ Private Sub InitializeComponent() - Me.dgvKundenAktiv = New VERAG_PROG_ALLGEMEIN.MyDatagridview() + Me.components = New System.ComponentModel.Container() Me.pnl = New System.Windows.Forms.Panel() + Me.Panel2 = New System.Windows.Forms.Panel() + Me.btnAlleKunden = New System.Windows.Forms.Button() + Me.lblAnzahl = New System.Windows.Forms.Label() + Me.Label2 = New System.Windows.Forms.Label() + Me.dgvKundenAktiv = New VERAG_PROG_ALLGEMEIN.MyDatagridview(Me.components) Me.Panel1 = New System.Windows.Forms.Panel() Me.lblClose = New System.Windows.Forms.Label() Me.lblINAKTIVEKunden = New System.Windows.Forms.Label() - Me.dgvKundenInAktiv = New VERAG_PROG_ALLGEMEIN.MyDatagridview() + Me.dgvKundenInAktiv = New VERAG_PROG_ALLGEMEIN.MyDatagridview(Me.components) Me.DirectoryEntry1 = New System.DirectoryServices.DirectoryEntry() - CType(Me.dgvKundenAktiv, System.ComponentModel.ISupportInitialize).BeginInit() Me.pnl.SuspendLayout() + Me.Panel2.SuspendLayout() + CType(Me.dgvKundenAktiv, System.ComponentModel.ISupportInitialize).BeginInit() Me.Panel1.SuspendLayout() CType(Me.dgvKundenInAktiv, System.ComponentModel.ISupportInitialize).BeginInit() Me.SuspendLayout() ' + 'pnl + ' + Me.pnl.AutoSize = True + Me.pnl.BackColor = System.Drawing.Color.White + Me.pnl.Controls.Add(Me.Panel2) + Me.pnl.Controls.Add(Me.dgvKundenAktiv) + Me.pnl.Controls.Add(Me.Panel1) + Me.pnl.Controls.Add(Me.dgvKundenInAktiv) + Me.pnl.Location = New System.Drawing.Point(2, 3) + Me.pnl.Name = "pnl" + Me.pnl.Size = New System.Drawing.Size(564, 374) + Me.pnl.TabIndex = 1 + ' + 'Panel2 + ' + Me.Panel2.BackColor = System.Drawing.SystemColors.InactiveCaption + Me.Panel2.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle + Me.Panel2.Controls.Add(Me.btnAlleKunden) + Me.Panel2.Controls.Add(Me.lblAnzahl) + Me.Panel2.Controls.Add(Me.Label2) + Me.Panel2.Dock = System.Windows.Forms.DockStyle.Top + Me.Panel2.Location = New System.Drawing.Point(0, 0) + Me.Panel2.Name = "Panel2" + Me.Panel2.Size = New System.Drawing.Size(564, 16) + Me.Panel2.TabIndex = 18 + ' + 'btnAlleKunden + ' + Me.btnAlleKunden.Font = New System.Drawing.Font("Microsoft Sans Serif", 6.75!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.btnAlleKunden.Location = New System.Drawing.Point(414, -2) + Me.btnAlleKunden.Name = "btnAlleKunden" + Me.btnAlleKunden.Size = New System.Drawing.Size(68, 18) + Me.btnAlleKunden.TabIndex = 4 + Me.btnAlleKunden.Text = "alle Kunden" + Me.btnAlleKunden.TextAlign = System.Drawing.ContentAlignment.TopCenter + Me.btnAlleKunden.UseVisualStyleBackColor = True + Me.btnAlleKunden.Visible = False + ' + 'lblAnzahl + ' + Me.lblAnzahl.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.lblAnzahl.AutoSize = True + Me.lblAnzahl.Font = New System.Drawing.Font("Microsoft Sans Serif", 7.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblAnzahl.Location = New System.Drawing.Point(488, 0) + Me.lblAnzahl.Name = "lblAnzahl" + Me.lblAnzahl.Size = New System.Drawing.Size(45, 13) + Me.lblAnzahl.TabIndex = 3 + Me.lblAnzahl.Text = "Anzahl: " + ' + 'Label2 + ' + Me.Label2.AutoSize = True + Me.Label2.Font = New System.Drawing.Font("Microsoft Sans Serif", 7.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.Label2.Location = New System.Drawing.Point(3, 0) + Me.Label2.Name = "Label2" + Me.Label2.Size = New System.Drawing.Size(75, 13) + Me.Label2.TabIndex = 2 + Me.Label2.Text = "aktive Kunden" + ' 'dgvKundenAktiv ' Me.dgvKundenAktiv.AKTUALISIERUNGS_INTERVALL = -1 @@ -46,18 +111,6 @@ Partial Class usrcntlKdSearch Me.dgvKundenAktiv.Size = New System.Drawing.Size(564, 243) Me.dgvKundenAktiv.TabIndex = 0 ' - 'pnl - ' - Me.pnl.AutoSize = True - Me.pnl.BackColor = System.Drawing.Color.White - Me.pnl.Controls.Add(Me.dgvKundenAktiv) - Me.pnl.Controls.Add(Me.Panel1) - Me.pnl.Controls.Add(Me.dgvKundenInAktiv) - Me.pnl.Location = New System.Drawing.Point(2, 3) - Me.pnl.Name = "pnl" - Me.pnl.Size = New System.Drawing.Size(564, 374) - Me.pnl.TabIndex = 1 - ' 'Panel1 ' Me.Panel1.BackColor = System.Drawing.SystemColors.InactiveCaption @@ -113,8 +166,10 @@ Partial Class usrcntlKdSearch Me.Controls.Add(Me.pnl) Me.Name = "usrcntlKdSearch" Me.Size = New System.Drawing.Size(570, 380) - CType(Me.dgvKundenAktiv, System.ComponentModel.ISupportInitialize).EndInit() Me.pnl.ResumeLayout(False) + Me.Panel2.ResumeLayout(False) + Me.Panel2.PerformLayout() + CType(Me.dgvKundenAktiv, System.ComponentModel.ISupportInitialize).EndInit() Me.Panel1.ResumeLayout(False) Me.Panel1.PerformLayout() CType(Me.dgvKundenInAktiv, System.ComponentModel.ISupportInitialize).EndInit() @@ -129,5 +184,8 @@ Partial Class usrcntlKdSearch Public WithEvents dgvKundenInAktiv As MyDatagridview Public WithEvents lblClose As System.Windows.Forms.Label Friend WithEvents DirectoryEntry1 As System.DirectoryServices.DirectoryEntry - + Friend WithEvents Panel2 As Windows.Forms.Panel + Friend WithEvents Label2 As Windows.Forms.Label + Friend WithEvents lblAnzahl As Windows.Forms.Label + Friend WithEvents btnAlleKunden As Windows.Forms.Button End Class diff --git a/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/usrcntlKdSearch.vb b/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/usrcntlKdSearch.vb index 7f5c287d..a8e23579 100644 --- a/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/usrcntlKdSearch.vb +++ b/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente/usrcntlKdSearch.vb @@ -1,8 +1,10 @@ Imports System.Windows.Forms Imports System.Drawing + Public Class usrcntlKdSearch Public Event DGV_Click(sender As Object, e As EventArgs) + Public Event DGV_AlleKunden(sender As Object, e As EventArgs) Public Event DGV_INAKTIV_Click(sender As Object, e As EventArgs) Public Event DGV_KeyDown(sender As Object, e As KeyEventArgs) Public Event DGV_INAKTIV_KeyDown(sender As Object, e As KeyEventArgs) @@ -47,4 +49,8 @@ Public Class usrcntlKdSearch RaiseEvent DGV_Click(sender, e) End Sub + + Private Sub Button1_Click(sender As Object, e As EventArgs) Handles btnAlleKunden.Click + RaiseEvent DGV_AlleKunden(sender, e) + End Sub End Class