173 lines
6.6 KiB
VB.net
173 lines
6.6 KiB
VB.net
Imports System.ComponentModel
|
|
|
|
Public Class frmMitarbSuche
|
|
Dim ConnStr As String
|
|
Private ADMIN As New cMitarbeiter
|
|
Private cOptionenDAL As New cOptionenDAL
|
|
Private Grid_aktiv As Boolean = False
|
|
Private Anzahl As Integer
|
|
Private locZeilen As Integer = -1
|
|
Public mid As Integer = -1
|
|
Public searchUse As String = ""
|
|
|
|
Private Sub frmMitarbSuche_Load(sender As Object, e As EventArgs) Handles Me.Load
|
|
ConnStr = frmMain.ConnStr
|
|
|
|
Try
|
|
' Me.Size = My.Settings.frmMainSize
|
|
' Me.Location = My.Settings.frmMainPosition
|
|
Catch ex As Exception
|
|
'nix tun - Standardgröße wird somit automatisch gesetzt
|
|
End Try
|
|
|
|
Grid_aktiv = True
|
|
Tabelle_anzeigen()
|
|
|
|
End Sub
|
|
|
|
Public Sub Tabelle_anzeigen()
|
|
Dim start As Long = (DateTime.Now - New DateTime(1970, 1, 1)).TotalMilliseconds
|
|
'lblMs.Image = My.Resources.sanduhr
|
|
'Paint wieder reaktivieren
|
|
locZeilen = -1
|
|
If Not Grid_aktiv Then Exit Sub
|
|
Dim top As String = "" ' "top 100"
|
|
|
|
'je nach Auswahl SQL anpassen
|
|
Dim hSQL = "SELECT mit_id, mit_username, mit_vname, mit_nname, mit_niederlassung, mit_abteilung, mit_gekuendigt,mit_geschlecht FROM tblMitarbeiter "
|
|
Dim search As String = txtSuche.Text
|
|
Dim where As String = ""
|
|
If txtSuche.Text <> "" Then
|
|
|
|
Dim arr() As String = Split(txtSuche.Text.Replace(" ", ","), ",")
|
|
|
|
Dim cnt As Integer = 1
|
|
If arr.Count() > 0 Then cnt = arr.Count
|
|
Dim or_txt As String = ""
|
|
For i As Integer = 0 To cnt - 1 Step 1
|
|
If arr(i) <> "" Then search = arr(i).Trim
|
|
If i > 0 Then where += " AND "
|
|
where += " ( mit_username LIKE '%" & search & "%' OR mit_vname LIKE '%" & search & "%' OR mit_nname LIKE '%" & search & "%' OR mit_niederlassung LIKE '%" & search & "%' OR mit_abteilung LIKE '%" & search & "%' ) "
|
|
Next
|
|
where = " WHERE " & where
|
|
End If
|
|
|
|
|
|
' MsgBox(hSQL & where)
|
|
dgvMitarb.DataSource = cOptionenDAL.AnzeigeTabelle(hSQL & where)
|
|
|
|
|
|
'Tabelle Kommt/Geht bereinigen
|
|
If dgvMitarb.RowCount = 0 Then
|
|
dgvMitarb.DataSource = Nothing
|
|
Else
|
|
Spalten_festlegen()
|
|
' Eintraege_festlegen()
|
|
'AL: Sortierung nach Ausfahrt (Zeit)
|
|
dgvMitarb.Sort(dgvMitarb.Columns(3), ListSortDirection.Ascending)
|
|
End If
|
|
|
|
'Anzeige der Anzahl gewählter/aller Datensätze
|
|
If (dgvMitarb.RowCount = 100) Then
|
|
'lblAnzahl.Text = Format(dgvMitarb.RowCount, "#,##0") & " ausgewählt (Die Suche wurde auf 100 Ergebnisse beschränkt.)"
|
|
Else
|
|
' lblAnzahl.Text = Format(dgvMitarb.RowCount, "#,##0") & " ausgewählt"
|
|
End If
|
|
' lblAnzahl.Refresh()
|
|
Dim ende As Long = (DateTime.Now - New DateTime(1970, 1, 1)).TotalMilliseconds
|
|
' lblMs.Text = "Ladezeit: " & (ende - start) & " ms"
|
|
'lblMs.Image = Nothing
|
|
End Sub
|
|
|
|
|
|
Private Sub Spalten_festlegen()
|
|
With dgvMitarb
|
|
.RowTemplate.Height = 20
|
|
.RowTemplate.DefaultCellStyle.Alignment = DataGridViewContentAlignment.TopLeft
|
|
.AllowUserToAddRows = False
|
|
.AllowUserToDeleteRows = False
|
|
.AllowUserToOrderColumns = False
|
|
.AllowUserToResizeColumns = False
|
|
.AllowUserToResizeRows = False
|
|
.RowTemplate.ReadOnly = True
|
|
.RowHeadersVisible = False
|
|
.SelectionMode = DataGridViewSelectionMode.FullRowSelect
|
|
If searchUse = "vortragender" Then
|
|
.MultiSelect = False
|
|
End If
|
|
.AllowUserToOrderColumns = True
|
|
|
|
.Columns(0).Visible = False 'ID nicht anzeigen
|
|
.Columns(6).Visible = False 'ID nicht anzeigen
|
|
|
|
.Columns(1).Width = 80
|
|
.Columns(1).HeaderText = "Username"
|
|
.Columns(1).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
|
|
|
|
.Columns(2).Width = 150
|
|
.Columns(2).HeaderText = "Vorname"
|
|
|
|
.Columns(3).Width = 150
|
|
.Columns(3).HeaderText = "Nachname"
|
|
|
|
.Columns(4).Width = 85
|
|
.Columns(4).HeaderText = "Niederlassung"
|
|
|
|
.Columns(5).Width = 85
|
|
.Columns(5).HeaderText = "Abteilung"
|
|
|
|
|
|
End With
|
|
End Sub
|
|
|
|
|
|
Private Sub Button5_Click(sender As Object, e As EventArgs) Handles Button5.Click
|
|
frmMitarbDetails.mid = dgvMitarb.CurrentRow.Cells(0).Value
|
|
frmMitarbDetails.Show()
|
|
End Sub
|
|
|
|
Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click
|
|
frmMitarbDetails.Show()
|
|
End Sub
|
|
|
|
Private Sub txtSuche_TextChanged(sender As Object, e As EventArgs) Handles txtSuche.TextChanged
|
|
Tabelle_anzeigen()
|
|
End Sub
|
|
|
|
Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click, dgvMitarb.CellDoubleClick
|
|
If searchUse = "addTeilnehmer" Then
|
|
Dim SEMINARE As New cSeminare
|
|
Dim ctrlList As New List(Of Integer)
|
|
For i As Integer = 0 To frmSeminarDetails.dgvTeilnehmer.RowCount - 1 Step 1
|
|
ctrlList.Add(frmSeminarDetails.dgvTeilnehmer.Rows(i).Cells(1).Value)
|
|
Next
|
|
With dgvMitarb
|
|
For i As Integer = 0 To .RowCount - 1 Step 1
|
|
Dim mit_id As Integer = .Rows(i).Cells(0).Value
|
|
If .Rows(i).Selected = True And checkList(ctrlList, mit_id) Then
|
|
SEMINARE.insertSemMitarbeiter(frmSeminarDetails.semId, mit_id)
|
|
End If
|
|
Next
|
|
End With
|
|
frmSeminarDetails.Tabelle_anzeigen()
|
|
ElseIf searchUse = "vortragender" Then
|
|
frmSeminarDetails.vortragenderId = dgvMitarb.SelectedRows(0).Cells(0).Value
|
|
Dim anrede As String = ""
|
|
|
|
' If dgvMitarb.SelectedRows(0).Cells(7).Value = "m" Then anrede = "Herr "
|
|
' If dgvMitarb.SelectedRows(0).Cells(7).Value = "w" Then anrede = "Frau "
|
|
frmSeminarDetails.txtVortragender.Text = anrede & dgvMitarb.SelectedRows(0).Cells(2).Value & " " & dgvMitarb.SelectedRows(0).Cells(3).Value
|
|
End If
|
|
Me.Close()
|
|
End Sub
|
|
|
|
Private Function checkList(ByVal ctrlList As List(Of Integer), ByVal id As Integer) As Boolean
|
|
For Each i As Integer In ctrlList
|
|
If i = id Then Return False
|
|
Next
|
|
Return True
|
|
End Function
|
|
Private Sub dgvMitarb_CellContentClick_1(sender As Object, e As DataGridViewCellEventArgs) Handles dgvMitarb.CellContentClick
|
|
|
|
End Sub
|
|
End Class |