neu
This commit is contained in:
@@ -34,6 +34,13 @@ Public Class KdSearchBox
|
||||
Public Property _AlleFirmenCLUSTER As Boolean = False
|
||||
Public Property _UseFIRMA As String = ""
|
||||
|
||||
Dim last_search As DateTime = Now
|
||||
Dim last_eingabe As DateTime = Now
|
||||
Public Property TIMER_SEARCH As Boolean = True
|
||||
Dim Eingabe_verarbeitet = True
|
||||
Dim WithEvents tmr_Search As New Timer
|
||||
|
||||
|
||||
Public usrcntlWIDTH = 600
|
||||
Public usrcntlHEIGHT = 380
|
||||
|
||||
@@ -136,30 +143,83 @@ Public Class KdSearchBox
|
||||
Exit Sub
|
||||
End If
|
||||
|
||||
If usrcntl.Visible = False Then
|
||||
usrcntl.Width = usrcntlWIDTH
|
||||
usrcntl.Height = usrcntlHEIGHT
|
||||
Eingabe_verarbeitet = False
|
||||
last_eingabe = Now
|
||||
|
||||
Dim locationOnForm As Point = Nothing
|
||||
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)
|
||||
' MsgBox(locationOnForm.X & "/" & locationOnForm.Y)
|
||||
End If
|
||||
doKeyDown(Now)
|
||||
|
||||
Catch ex As Exception
|
||||
MsgBox("Es ist ein Fehler beim Kunden-Such-Feld aufgetreten 02: " & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & System.Reflection.MethodInfo.GetCurrentMethod.Name & vbNewLine & ex.StackTrace)
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
Sub doKeyDown(srchdate As DateTime)
|
||||
If Eingabe_verarbeitet Then Exit Sub ' Bereits abgearbetiet -> Timer
|
||||
|
||||
Dim span_last_search = CInt(DirectCast((srchdate - last_search), TimeSpan).TotalMilliseconds)
|
||||
Dim span_last_eingabe = CInt(DirectCast((srchdate - last_eingabe), TimeSpan).TotalMilliseconds)
|
||||
|
||||
'TIMER_SEARCH
|
||||
If TIMER_SEARCH Then
|
||||
If span_last_search < 500 And span_last_eingabe < 500 Then
|
||||
Exit Sub
|
||||
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
|
||||
If usrcntl.Visible = False Then
|
||||
usrcntl.Width = usrcntlWIDTH
|
||||
usrcntl.Height = usrcntlHEIGHT
|
||||
|
||||
Dim locationOnForm As Point = Nothing
|
||||
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)
|
||||
' MsgBox(locationOnForm.X & "/" & locationOnForm.Y)
|
||||
End If
|
||||
|
||||
With usrcntl.dgvKundenAktiv
|
||||
|
||||
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
|
||||
|
||||
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
|
||||
.GridColor = Color.White
|
||||
End If
|
||||
|
||||
'THREADING AKTIV
|
||||
Me.ThreadInitAKTIV()
|
||||
' Dim ThreadInitAKTIV = New System.Threading.Thread(AddressOf Me.ThreadInitAKTIV)
|
||||
' ThreadInitAKTIV.IsBackground = True
|
||||
' ThreadInitAKTIV.Start()
|
||||
|
||||
End With
|
||||
|
||||
|
||||
If nurAktive Then
|
||||
usrcntl.dgvKundenInAktiv.Visible = False
|
||||
usrcntl.Panel1.Visible = False
|
||||
Else
|
||||
With usrcntl.dgvKundenInAktiv
|
||||
If usrcntl.Visible = False Then
|
||||
.AllowUserToAddRows = False
|
||||
.AllowUserToDeleteRows = False
|
||||
@@ -172,78 +232,49 @@ Public Class KdSearchBox
|
||||
.BackgroundColor = Color.White
|
||||
.ForeColor = Color.Black
|
||||
.GridColor = Color.White
|
||||
.DefaultCellStyle.ForeColor = Color.Gray
|
||||
End If
|
||||
|
||||
'THREADING AKTIV
|
||||
Me.ThreadInitAKTIV()
|
||||
' Dim ThreadInitAKTIV = New System.Threading.Thread(AddressOf Me.ThreadInitAKTIV)
|
||||
' ThreadInitAKTIV.IsBackground = True
|
||||
' ThreadInitAKTIV.Start()
|
||||
|
||||
Me.ThreadInitINAKTIV()
|
||||
'THREADING INAKTIV
|
||||
'Dim ThreadInitINAKTIV = New System.Threading.Thread(AddressOf Me.ThreadInitINAKTIV)
|
||||
'ThreadInitINAKTIV.IsBackground = True
|
||||
'ThreadInitINAKTIV.Start()
|
||||
|
||||
End With
|
||||
|
||||
End If
|
||||
|
||||
If nurAktive Then
|
||||
usrcntl.dgvKundenInAktiv.Visible = False
|
||||
usrcntl.Panel1.Visible = False
|
||||
If _hideIfListEmpty Then
|
||||
|
||||
If usrcntl.dgvKundenAktiv.RowCount = 0 And usrcntl.dgvKundenInAktiv.RowCount = 0 Then
|
||||
setObjectVisible(usrcntl, False)
|
||||
Else
|
||||
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
|
||||
.GridColor = Color.White
|
||||
.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
|
||||
|
||||
setObjectVisible(usrcntl, True)
|
||||
End If
|
||||
If False Then
|
||||
|
||||
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()
|
||||
'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("Es ist ein Fehler beim Kunden-Such-Feld aufgetreten 02: " & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & System.Reflection.MethodInfo.GetCurrentMethod.Name & vbNewLine & ex.StackTrace)
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
Public Sub hideDgv(o) '(sender As Object, e As EventArgs)
|
||||
@@ -284,7 +315,9 @@ Public Class KdSearchBox
|
||||
SQLstr &= " INNER JOIN Kunden on KundenNr=AdressenNr "
|
||||
SQLstr &= " INNER JOIN Filialen on Filialen.FilialenNr=isnull(Kunden.FilialenNr,4803) "
|
||||
SQLstr &= " WHERE 1=1 "
|
||||
SQLstr &= " AND ( Ordnungsbegriff LIKE '" & srch & "%' OR AdressenNr LIKE '" & srch & "%' ) "
|
||||
SQLstr &= " AND ( "
|
||||
SQLstr &= " Ordnungsbegriff LIKE '" & srch & "%' " : If IsNumeric(srch) Then SQLstr &= " OR AdressenNr LIKE '" & srch & "%' "
|
||||
SQLstr &= " ) "
|
||||
If srch2 <> "" Then SQLstr &= " AND ( Adressen.PLZ LIKE '" & srch2 & "%' OR Adressen.Ort LIKE '" & srch2 & "%' OR Adressen.LandKz LIKE '" & srch2 & "%' OR Adressen.Straße LIKE '" & srch2 & "%' ) "
|
||||
SQLstr &= " AND [Auswahl]='A' "
|
||||
|
||||
@@ -303,6 +336,9 @@ Public Class KdSearchBox
|
||||
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
|
||||
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
|
||||
End If
|
||||
SQLstr &= " ) "
|
||||
End If
|
||||
|
||||
@@ -351,7 +387,9 @@ Public Class KdSearchBox
|
||||
SQLstr &= " INNER JOIN Kunden on KundenNr=AdressenNr "
|
||||
SQLstr &= " INNER JOIN Filialen on Filialen.FilialenNr=isnull(Kunden.FilialenNr,4803) "
|
||||
SQLstr &= " WHERE 1=1 "
|
||||
SQLstr &= " AND ( Ordnungsbegriff LIKE '" & srch & "%' OR AdressenNr LIKE '" & srch & "%' ) "
|
||||
SQLstr &= " AND ( "
|
||||
SQLstr &= " Ordnungsbegriff LIKE '" & srch & "%' " : If IsNumeric(srch) Then SQLstr &= " OR AdressenNr LIKE '" & srch & "%' "
|
||||
SQLstr &= " ) "
|
||||
If srch2 <> "" Then SQLstr &= " AND ( Adressen.PLZ LIKE '" & srch2 & "%' OR Adressen.Ort LIKE '" & srch2 & "%' OR Adressen.LandKz LIKE '" & srch2 & "%' OR Adressen.Straße LIKE '" & srch2 & "%' ) "
|
||||
SQLstr &= " AND [Auswahl]='I' "
|
||||
'If VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA = "FRONTOFFICE" Then 'Keine
|
||||
@@ -379,6 +417,9 @@ Public Class KdSearchBox
|
||||
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
|
||||
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
|
||||
End If
|
||||
SQLstr &= " ) "
|
||||
End If
|
||||
|
||||
@@ -734,6 +775,9 @@ Public Class KdSearchBox
|
||||
hideDgv(Me.usrcntl)
|
||||
If kdNrBox IsNot Nothing Then Me.kdNrField = kdNrBox
|
||||
|
||||
|
||||
tmr_Search.Interval = 200
|
||||
tmr_Search.Enabled = True
|
||||
Catch ex As Exception
|
||||
MsgBox("Es ist ein Fehler beim Kunden-Such-Feld aufgetreten 13: " & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & System.Reflection.MethodInfo.GetCurrentMethod.Name & vbNewLine & ex.StackTrace)
|
||||
End Try
|
||||
@@ -783,6 +827,8 @@ Public Class KdSearchBox
|
||||
If Me.Text.Length > Me.MaxLength Then Me.Text = Me.Text.Substring(0, Me.MaxLength)
|
||||
End Sub
|
||||
|
||||
|
||||
Private Sub tmr_Search_Tick(sender As Object, e As EventArgs) Handles tmr_Search.Tick
|
||||
If TIMER_SEARCH Then doKeyDown(Now)
|
||||
End Sub
|
||||
|
||||
End Class
|
||||
|
||||
@@ -32,6 +32,8 @@ Public Class MySearchBox
|
||||
Public Property SQL_ORDER_BY As String
|
||||
Public Property conn_art As String = "FMZOLL"
|
||||
Public Property key_visible As Boolean = False
|
||||
Public Property _allowSpaceAsSplitter As Boolean = False
|
||||
|
||||
|
||||
Dim SrchHeight As Integer = 300
|
||||
Dim SrchWidth As Integer = 300
|
||||
@@ -247,6 +249,8 @@ Public Class MySearchBox
|
||||
With usrcntl.dgvKundenAktiv
|
||||
|
||||
Dim srch As String = Me.Text.Replace("'", "").ToString.Trim
|
||||
If _allowSpaceAsSplitter Then srch = srch.Replace(" ", ",")
|
||||
|
||||
Dim srch2 As String = ""
|
||||
If srch.Contains(",") Then
|
||||
Dim spitter() = srch.Split(",")
|
||||
|
||||
Reference in New Issue
Block a user