619 lines
25 KiB
VB.net
619 lines
25 KiB
VB.net
Imports System.ComponentModel
|
|
Imports System.Drawing
|
|
Imports System.Windows.Forms
|
|
|
|
'Imports System.Threading
|
|
|
|
Public Class MySearchBox
|
|
Inherits System.Windows.Forms.TextBox
|
|
Implements INotifyPropertyChanged
|
|
|
|
' Dim sql As New SDL.SQL
|
|
' Dim KUNDENSQL As New SDL.kundenSQL
|
|
Dim form As Form = Me.FindForm
|
|
'Public KdData As SDL.cKundenFMZOLL
|
|
Public DR As DataRow = Nothing
|
|
|
|
Public Property searchActive As Boolean = True
|
|
Public Property _AllowSetValue As Boolean = False
|
|
Public Property _allowFreitext As Boolean = False
|
|
Public Property _hideIfListEmpty As Boolean = True
|
|
Public Property dgvpos As String = "LEFT"
|
|
Public Property _autoSizeGross As Boolean = False
|
|
|
|
Public Property SQL_WhereParamList As String()
|
|
Public Property INVISIBLE_COLUMNS As String()
|
|
|
|
Public Property SQL_SELECT As String
|
|
Public Property SQL_WHERE As String
|
|
Public Property KEYPARAM As String
|
|
Public Property DISPLAY_PARAM As String
|
|
' Public Property DISPLAY_PARAM_VALUE As String
|
|
Public Property SQL_ORDER_BY As String
|
|
Public Property conn_art As String = "FMZOLL"
|
|
Public Property key_visible As Boolean = False
|
|
|
|
Dim SrchHeight As Integer = 300
|
|
Dim SrchWidth As Integer = 300
|
|
|
|
Public Event VALUE_CHANGED()
|
|
|
|
Dim active = False
|
|
Public Property _value As String
|
|
' Public Propvalue As String
|
|
' Public Property _value As String
|
|
' Get
|
|
' Return Me.Propvalue
|
|
' End Get
|
|
' Set(v As String)
|
|
' SET_VALUE(v)
|
|
' OnPropertyChanged("_value")
|
|
' End Set
|
|
'End Property
|
|
|
|
|
|
|
|
Public Event PropertyChanged As PropertyChangedEventHandler Implements INotifyPropertyChanged.PropertyChanged
|
|
|
|
Protected Sub OnPropertyChanged(ByVal name As String)
|
|
RaiseEvent PropertyChanged(Me, New PropertyChangedEventArgs(name))
|
|
End Sub
|
|
|
|
|
|
Public WithEvents usrcntl As usrcntlKdSearch '= DirectCast(Me.FindForm.Controls.Find("dgvFindKD", False)(0), DataGridView)
|
|
|
|
' Public WithEvents dgv As DataGridView
|
|
' Public WithEvents dgvInaktiv As DataGridView
|
|
|
|
Dim SQL As New SQL
|
|
|
|
Public Sub FireReturn()
|
|
dgvFindKD_Click(Me, New KeyEventArgs(Keys.Return))
|
|
End Sub
|
|
|
|
Protected Overrides Sub OnPaint(e As PaintEventArgs)
|
|
Try
|
|
MyBase.OnPaint(e)
|
|
Catch ex As Exception
|
|
Me.Invalidate()
|
|
End Try
|
|
End Sub
|
|
|
|
Private Sub KdSearchBox_GotFocus(sender As Object, e As EventArgs) Handles Me.GotFocus
|
|
Try
|
|
Me.SelectionLength = 0
|
|
Me.HideSelection = False
|
|
Me.SelectAll()
|
|
Me.Select()
|
|
Catch ex As Exception
|
|
MsgBox("Es ist ein Fehler beim Such-Feld (" & Me.Name & ") aufgetreten 01: " & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & System.Reflection.MethodInfo.GetCurrentMethod.Name & vbNewLine & ex.StackTrace)
|
|
End Try
|
|
End Sub
|
|
|
|
Private Sub KdSearchBox_KeyUp(sender As Object, e As KeyEventArgs) Handles Me.KeyUp
|
|
Try
|
|
'Console.WriteLine(String.Format("TEEST 01"))
|
|
If Not searchActive Then Exit Sub
|
|
|
|
' If dgv Is Nothing Then dgv = usrcntl.dgvKundenAktiv
|
|
' If dgvInaktiv Is Nothing Then dgvInaktiv = usrcntl.dgvKundenInAktiv
|
|
|
|
If e.KeyCode = Keys.Tab Then
|
|
If usrcntl IsNot Nothing Then usrcntl.Visible = False
|
|
e.Handled = True
|
|
Exit Sub
|
|
End If
|
|
|
|
If e.KeyCode = Keys.Return Then
|
|
e.Handled = True
|
|
Exit Sub
|
|
End If
|
|
|
|
If e.KeyCode = Keys.Up Then
|
|
If usrcntl IsNot Nothing Then prevLKW(usrcntl.dgvKundenAktiv)
|
|
e.Handled = True
|
|
Exit Sub
|
|
End If
|
|
If e.KeyCode = Keys.Down Then
|
|
If usrcntl IsNot Nothing Then nextLKW(usrcntl.dgvKundenAktiv)
|
|
e.Handled = True
|
|
Exit Sub
|
|
End If
|
|
If e.KeyCode = Keys.Escape Then
|
|
hideDgv(usrcntl)
|
|
e.Handled = True
|
|
Exit Sub
|
|
End If
|
|
|
|
|
|
DR = Nothing
|
|
_value = ""
|
|
|
|
If Me.Text.Trim = "" Then
|
|
setMeValue(DR)
|
|
hideDgv(usrcntl)
|
|
Exit Sub
|
|
End If
|
|
|
|
If usrcntl Is Nothing Then
|
|
Exit Sub
|
|
End If
|
|
|
|
If usrcntl.Visible = False Then
|
|
usrcntl.Width = SrchWidth
|
|
usrcntl.Height = SrchHeight
|
|
|
|
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
|
|
|
|
|
|
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
|
|
|
|
|
|
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
|
|
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
|
|
|
|
Catch ex As Exception
|
|
MsgBox("Es ist ein Fehler beim Such-Feld (" & Me.Name & ") 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)
|
|
If o IsNot Nothing Then
|
|
Me.searchActive = False
|
|
o.visible = False
|
|
Me.searchActive = True
|
|
End If
|
|
End Sub
|
|
|
|
|
|
Sub ThreadInitAKTIV()
|
|
Try
|
|
If usrcntl Is Nothing Then Exit Sub
|
|
If usrcntl.dgvKundenAktiv Is Nothing Then Exit Sub
|
|
With usrcntl.dgvKundenAktiv
|
|
|
|
Dim srch As String = Me.Text.Replace("'", "").ToString.Trim
|
|
Dim srch2 As String = ""
|
|
If srch.Contains(",") Then
|
|
Dim spitter() = srch.Split(",")
|
|
srch = spitter(0).ToString.Trim
|
|
srch2 = spitter(1).ToString.Trim
|
|
End If
|
|
Dim topAnz = 16
|
|
Dim AvisoEmail = ""
|
|
Dim SQLstr As String = "SELECT TOP " & topAnz & " " & SQL_SELECT & " WHERE 1=1 "
|
|
SQLstr &= If(SQL_WHERE <> "", " AND " & SQL_WHERE, "")
|
|
|
|
If SQL_WhereParamList.Count > 0 Then
|
|
SQLstr &= " AND ( 1<>1 "
|
|
For Each s In SQL_WhereParamList
|
|
SQLstr &= " OR " & s & " LIKE '" & srch & "%' "
|
|
Next
|
|
SQLstr &= " ) "
|
|
End If
|
|
If SQL_ORDER_BY <> "" Then SQLstr &= " ORDER BY " & SQL_ORDER_BY
|
|
'MsgBox(SQLstr)
|
|
' MsgBox(SQL.loadDgvBySql(SQLstr, conn_art).Rows.Count)
|
|
setDS(usrcntl.dgvKundenAktiv, SQL.loadDgvBySql(SQLstr, conn_art))
|
|
|
|
End With
|
|
|
|
Catch ex As Exception
|
|
MsgBox("Es ist ein Fehler beim Such-Feld (" & Me.Name & ") aufgetreten 03: " & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & System.Reflection.MethodInfo.GetCurrentMethod.Name & vbNewLine & ex.StackTrace)
|
|
End Try
|
|
End Sub
|
|
|
|
|
|
Public Sub SET_VALUE(KEYPARAM_Value, Optional showerror = True)
|
|
Try
|
|
|
|
If Not active Then Exit Sub
|
|
If KEYPARAM_Value Is Nothing Then KEYPARAM_Value = ""
|
|
Dim SQLstr As String = "SELECT TOP 1 " & SQL_SELECT & " WHERE 1=1 "
|
|
SQLstr &= " AND " & KEYPARAM & " = '" & KEYPARAM_Value & "' "
|
|
SQLstr &= If(SQL_WHERE <> "", " AND " & SQL_WHERE, "")
|
|
If SQL_ORDER_BY <> "" Then SQLstr &= " ORDER BY " & SQL_ORDER_BY
|
|
' MsgBox(SQLstr)
|
|
Dim dttmp As DataTable = SQL.loadDgvBySql(SQLstr, conn_art, , showerror)
|
|
If dttmp IsNot Nothing AndAlso dttmp.Rows.Count > 0 Then
|
|
setMeValue(dttmp.Rows(0))
|
|
Else
|
|
If _allowFreitext Then
|
|
Me.Text = KEYPARAM_Value
|
|
Me._value = KEYPARAM_Value
|
|
Else
|
|
Me.Text = ""
|
|
Me._value = ""
|
|
End If
|
|
hideDgv(usrcntl)
|
|
End If
|
|
|
|
Catch ex As Exception
|
|
MsgBox("Es ist ein Fehler beim Such-Feld (" & Me.Name & ") aufgetreten 03: " & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & System.Reflection.MethodInfo.GetCurrentMethod.Name & vbNewLine & ex.StackTrace)
|
|
End Try
|
|
End Sub
|
|
|
|
|
|
|
|
|
|
Public Function GET_VALUE_OnlyReturn(KEYPARAM_Value, Optional showerror = True)
|
|
Try
|
|
If SQL_SELECT = "" Then Return Nothing 'Ohne dem gehts nicht
|
|
If KEYPARAM = "" Then Return Nothing 'Ohne dem gehts nicht
|
|
If KEYPARAM_Value Is Nothing Then KEYPARAM_Value = ""
|
|
|
|
Dim SQLstr As String = "SELECT TOP 1 " & SQL_SELECT & " WHERE 1=1 "
|
|
SQLstr &= " AND " & KEYPARAM & " = '" & KEYPARAM_Value & "' "
|
|
SQLstr &= If(SQL_WHERE <> "", " AND " & SQL_WHERE, "")
|
|
If SQL_ORDER_BY <> "" Then SQLstr &= " ORDER BY " & SQL_ORDER_BY
|
|
|
|
Dim dttmp As DataTable = SQL.loadDgvBySql(SQLstr, conn_art, , showerror)
|
|
If dttmp IsNot Nothing AndAlso dttmp.Rows.Count > 0 Then
|
|
|
|
Return dttmp.Rows(0)(If(DISPLAY_PARAM = "", KEYPARAM, DISPLAY_PARAM)).ToString
|
|
End If
|
|
Catch ex As Exception
|
|
End Try
|
|
Return Nothing
|
|
End Function
|
|
|
|
|
|
Public Function GET_VALUE_OnlyReturnBySQL(SQL_str, Optional showerror = True)
|
|
Try
|
|
|
|
Dim dttmp As DataTable = SQL.loadDgvBySql(SQL_str, conn_art, , showerror)
|
|
If dttmp IsNot Nothing AndAlso dttmp.Rows.Count > 0 Then
|
|
|
|
Return dttmp.Rows(0)(If(DISPLAY_PARAM = "", KEYPARAM, DISPLAY_PARAM)).ToString
|
|
End If
|
|
Catch ex As Exception
|
|
End Try
|
|
Return Nothing
|
|
End Function
|
|
|
|
'threadsicherer Aufruf
|
|
' Delegate Sub setLabelCallback(l As DataGridView, t As DataTable)
|
|
Private Sub setDS(l As DataGridView, t As DataTable)
|
|
Try
|
|
If l Is Nothing Then Exit Sub
|
|
If t Is Nothing Then Exit Sub
|
|
'' If Me.InvokeRequired Then
|
|
'Dim d As New setLabelCallback(AddressOf setDS)
|
|
' Me.Invoke(d, New Object() {l, t})
|
|
' Else
|
|
With l
|
|
.Columns.Clear()
|
|
.DataSource = t
|
|
|
|
If .ColumnCount = 0 Then Exit Sub
|
|
|
|
.RowHeadersVisible = False
|
|
.Columns(KEYPARAM).Visible = key_visible
|
|
.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells
|
|
.ClearSelection()
|
|
|
|
If INVISIBLE_COLUMNS IsNot Nothing Then
|
|
For Each i In INVISIBLE_COLUMNS
|
|
.Columns(i).Visible = False
|
|
Next
|
|
End If
|
|
|
|
End With
|
|
' End If
|
|
|
|
Catch ex As Exception
|
|
' Try
|
|
' MsgBox("Es ist ein Fehler beim Such-Feld (" & Me.name & ") aufgetreten 05: " & vbNewLine & vbNewLine & ex.Message)
|
|
'Catch ex2 As Exception
|
|
' MsgBox("ERR", vbCritical)
|
|
'End Try
|
|
End Try
|
|
|
|
End Sub
|
|
|
|
'threadsicherer Aufruf
|
|
'Delegate Sub setObjectVisibleCallback(l As Object, v As Boolean)
|
|
Private Sub setObjectVisible(l As Object, v As Boolean)
|
|
Try
|
|
If l Is Nothing Then Exit Sub
|
|
' If Me.InvokeRequired Then
|
|
' Dim d As New setObjectVisibleCallback(AddressOf setObjectVisible)
|
|
'Me.Invoke(d, New Object() {l, v})
|
|
' Else
|
|
l.visible = v
|
|
If v = True Then
|
|
l.Show()
|
|
l.BringToFront()
|
|
End If
|
|
' End If
|
|
Catch ex As Exception
|
|
' MsgBox("Es ist ein Fehler beim Such-Feld (" & Me.name & ") aufgetreten 06: " & vbNewLine & vbNewLine & ex.Message)
|
|
End Try
|
|
End Sub
|
|
|
|
|
|
Public Sub nextLKW(dgv As DataGridView) '(sender As Object, e As EventArgs)
|
|
Try
|
|
If dgv.SelectedRows.Count > 0 Then
|
|
Dim i As Integer = dgv.SelectedRows(0).Index
|
|
If (i + 1 < dgv.RowCount) Then
|
|
'dgv.CurrentCell = dgv.Item(2, i + 1)
|
|
dgv.ClearSelection()
|
|
dgv.Rows(i + 1).Selected = True
|
|
End If
|
|
Else
|
|
If dgv.Rows.Count > 0 Then ' dgv.CurrentCell = dgv.Item(2, 0)
|
|
dgv.ClearSelection()
|
|
dgv.Rows(0).Selected = True
|
|
End If
|
|
End If
|
|
|
|
Catch ex As Exception
|
|
MsgBox("Es ist ein Fehler beim Such-Feld (" & Me.Name & ") aufgetreten 03,1: " & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & System.Reflection.MethodInfo.GetCurrentMethod.Name & vbNewLine & ex.StackTrace)
|
|
End Try
|
|
End Sub
|
|
Public Sub prevLKW(dgv As DataGridView) '(sender As Object, e As EventArgs)
|
|
Try
|
|
If dgv.SelectedRows.Count > 0 Then
|
|
Dim i As Integer = dgv.SelectedRows(0).Index
|
|
If (i > 0) Then
|
|
'dgv.CurrentCell = dgv.Item(2, i - 1)
|
|
dgv.ClearSelection()
|
|
dgv.Rows(i - 1).Selected = True
|
|
End If
|
|
Else
|
|
If dgv.Rows.Count > 0 Then 'dgv.CurrentCell = dgv.Item(2, dgv.Rows.Count - 1)
|
|
dgv.ClearSelection()
|
|
dgv.Rows(dgv.Rows.Count - 1).Selected = True
|
|
End If
|
|
End If
|
|
Catch ex As Exception
|
|
MsgBox("Es ist ein Fehler beim Such-Feld (" & Me.Name & ") aufgetreten 03,2: " & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & System.Reflection.MethodInfo.GetCurrentMethod.Name & vbNewLine & ex.StackTrace)
|
|
End Try
|
|
End Sub
|
|
|
|
Private Sub usrcntl_CLOSE(sender As Object, e As EventArgs) Handles usrcntl.CLOSE
|
|
hideDgv(usrcntl)
|
|
End Sub
|
|
|
|
|
|
Private Sub dgvFindKD_Click(sender As Object, e As EventArgs) Handles usrcntl.DGV_Click
|
|
Try
|
|
If usrcntl IsNot Nothing AndAlso usrcntl.dgvKundenAktiv IsNot Nothing Then
|
|
With usrcntl.dgvKundenAktiv
|
|
If .SelectedRows.Count > 0 Then
|
|
' If IsNumeric(.SelectedRows(0).Cells("KdNr").Value) Then
|
|
setMeValue(ToDataRow(.SelectedRows(0)))
|
|
hideDgv(usrcntl)
|
|
'End If
|
|
End If
|
|
End With
|
|
End If
|
|
Catch ex As Exception
|
|
MsgBox("Es ist ein Fehler beim Such-Feld (" & Me.Name & ") aufgetreten 07: " & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & System.Reflection.MethodInfo.GetCurrentMethod.Name & vbNewLine & ex.StackTrace)
|
|
End Try
|
|
End Sub
|
|
|
|
Public Shared Function ToDataRow(ByVal Value As DataGridViewRow) As DataRow
|
|
Try
|
|
Dim dv As System.Data.DataRowView = CType(Value.DataBoundItem, DataRowView)
|
|
Return dv.Row
|
|
Catch ex As Exception
|
|
Return Nothing
|
|
End Try
|
|
End Function
|
|
|
|
Private Sub TextBox1_PreviewKeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.PreviewKeyDownEventArgs) Handles Me.PreviewKeyDown
|
|
Try
|
|
If usrcntl IsNot Nothing AndAlso usrcntl.dgvKundenAktiv IsNot Nothing Then
|
|
If e.KeyData = Keys.Tab And usrcntl.Visible Then ' wenn usrcntl eingeblendet, soll der TABULATOR als InputKey gesehen werden.
|
|
If usrcntl.dgvKundenAktiv.SelectedRows.Count > 0 Then e.IsInputKey = True Else usrcntl.Visible = False
|
|
End If
|
|
End If
|
|
Catch ex As Exception
|
|
MsgBox("Es ist ein Fehler beim Such-Feld (" & Me.Name & ") aufgetreten 09: " & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & System.Reflection.MethodInfo.GetCurrentMethod.Name & vbNewLine & ex.StackTrace)
|
|
End Try
|
|
End Sub
|
|
Private Sub dgvFindKD_Click(sender As Object, e As KeyEventArgs) Handles Me.KeyDown, usrcntl.DGV_KeyDown
|
|
Try
|
|
If usrcntl IsNot Nothing AndAlso usrcntl.dgvKundenAktiv IsNot Nothing Then
|
|
With usrcntl.dgvKundenAktiv
|
|
If e.KeyCode = Keys.Return Or e.KeyCode = Keys.Enter Or e.KeyCode = Keys.Tab Then
|
|
If e.KeyCode = Keys.Return And .RowCount > 0 And .SelectedRows.Count = 0 Then .Rows(0).Selected = True
|
|
|
|
If .SelectedRows.Count > 0 Then
|
|
' If IsNumeric(.SelectedRows(0).Cells("KdNr").Value) Then
|
|
setMeValue(ToDataRow(.SelectedRows(0)))
|
|
hideDgv(usrcntl)
|
|
'End If
|
|
Else
|
|
usrcntl.Visible = False
|
|
End If
|
|
e.Handled = True
|
|
e.SuppressKeyPress = True
|
|
|
|
End If
|
|
End With
|
|
End If
|
|
Catch ex As Exception
|
|
MsgBox("Es ist ein Fehler beim Such-Feld (" & Me.Name & ") aufgetreten 10: " & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & System.Reflection.MethodInfo.GetCurrentMethod.Name & vbNewLine & ex.StackTrace)
|
|
End Try
|
|
End Sub
|
|
|
|
|
|
Private Sub setMeValue(row As DataRow)
|
|
Try
|
|
If Not active Then Exit Sub
|
|
Me.DR = row
|
|
Me._value = ""
|
|
If Me.DR Is Nothing Then
|
|
Me.Text = ""
|
|
Else
|
|
|
|
Me.Text = row(If(DISPLAY_PARAM = "", KEYPARAM, DISPLAY_PARAM)).ToString
|
|
Me._value = row(KEYPARAM).ToString
|
|
hideDgv(usrcntl)
|
|
End If
|
|
RaiseEvent VALUE_CHANGED()
|
|
If Me.Text.Length > Me.MaxLength Then Me.Text = Me.Text.Substring(0, Me.MaxLength)
|
|
Catch ex As Exception
|
|
MsgBox("Es ist ein Fehler beim Such-Feld (" & Me.Name & ") aufgetreten 12: " & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & System.Reflection.MethodInfo.GetCurrentMethod.Name & vbNewLine & ex.StackTrace)
|
|
End Try
|
|
End Sub
|
|
|
|
|
|
|
|
|
|
Private Sub KdSearchBox_PropertyChanged(sender As Object, e As PropertyChangedEventArgs) Handles Me.PropertyChanged
|
|
' setMeValue() ???????????????
|
|
End Sub
|
|
|
|
Sub initSearchBox(control As Control, SQL_SELECT As String, SQL_WhereParamList() As String, SQL_WHERE As String, SQL_ORDER_BY As String, KEYPARAM As String, Optional DISPLAY_PARAM As String = "", Optional conn_art As String = "FMZOLL", Optional key_visible As Boolean = True, Optional SrchWidth As Integer = 300, Optional Srchheight As Integer = 300, Optional INVISIBLE_COLUMNS() As String = Nothing)
|
|
Try
|
|
If control Is Nothing Then Exit Sub
|
|
Me.form = control
|
|
Me.usrcntl = New usrcntlKdSearch
|
|
control.Controls.Add(usrcntl)
|
|
|
|
Me.SQL_WhereParamList = SQL_WhereParamList
|
|
Me.SQL_SELECT = SQL_SELECT
|
|
Me.SQL_WHERE = SQL_WHERE
|
|
Me.KEYPARAM = KEYPARAM
|
|
Me.DISPLAY_PARAM = DISPLAY_PARAM
|
|
Me.SQL_ORDER_BY = SQL_ORDER_BY
|
|
Me.conn_art = conn_art
|
|
Me.key_visible = key_visible
|
|
|
|
Me.SrchHeight = Srchheight
|
|
Me.SrchWidth = SrchWidth
|
|
Me.INVISIBLE_COLUMNS = INVISIBLE_COLUMNS
|
|
|
|
'Me.usrcntl = usrcntl
|
|
hideDgv(Me.usrcntl)
|
|
active = True
|
|
Catch ex As Exception
|
|
MsgBox("Es ist ein Fehler beim Such-Feld (" & Me.Name & ") aufgetreten 13: " & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & System.Reflection.MethodInfo.GetCurrentMethod.Name & vbNewLine & ex.StackTrace)
|
|
End Try
|
|
End Sub
|
|
|
|
|
|
|
|
Private Sub KdSearchBox_LostFocus(sender As Object, e As EventArgs) Handles Me.LostFocus
|
|
'THREADING ThreadWaitAndSee
|
|
Dim ThreadWaitAndSee = New System.Threading.Thread(Sub()
|
|
Try
|
|
Threading.Thread.Sleep(300)
|
|
' MsgBox(Me.form.ActiveControl.Name)
|
|
If Me.form Is Nothing Then Exit Sub
|
|
If Me.form.ActiveControl Is Nothing Then Exit Sub
|
|
If Me.form.ActiveControl IsNot Me Then
|
|
setObjectVisible(usrcntl, False)
|
|
End If
|
|
Catch ex As Exception
|
|
|
|
End Try
|
|
End Sub)
|
|
ThreadWaitAndSee.IsBackground = True
|
|
ThreadWaitAndSee.Start()
|
|
|
|
Try
|
|
If usrcntl IsNot Nothing AndAlso usrcntl.dgvKundenAktiv IsNot Nothing AndAlso usrcntl.dgvKundenInAktiv IsNot Nothing Then
|
|
If usrcntl.dgvKundenAktiv.SelectedCells.Count = 0 And usrcntl.dgvKundenInAktiv.SelectedCells.Count = 0 Then
|
|
Me.SelectionLength = 0
|
|
End If
|
|
End If
|
|
Catch ex As Exception
|
|
MsgBox("KdSearchBox_LostFocus: " & ex.Message)
|
|
End Try
|
|
End Sub
|
|
|
|
|
|
|
|
Private Sub KdSearchBox_Layout(sender As Object, e As LayoutEventArgs) Handles Me.Layout
|
|
If _autoSizeGross Then
|
|
Me.CharacterCasing = Windows.Forms.CharacterCasing.Upper
|
|
' If Me.Text <> "" Then Me.Text = Me.Text.ToUpper
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub KdSearchBox_TextChanged(sender As Object, e As EventArgs) Handles Me.TextChanged
|
|
If Me.Text.Length > Me.MaxLength Then Me.Text = Me.Text.Substring(0, Me.MaxLength)
|
|
End Sub
|
|
|
|
|
|
|
|
Private Sub MySearchBox_Leave(sender As Object, e As EventArgs) Handles Me.Leave
|
|
If Me._value = "" And Me.Text <> "" Then
|
|
SET_VALUE(Me.Text, False) 'Versucht, ob der Wert genau passt
|
|
End If
|
|
' hideDgv(usrcntl) 'Geht ned, sonst kann man auch keinen Mausklick auf die DGV machen!!
|
|
End Sub
|
|
End Class
|