224 lines
8.6 KiB
VB.net
224 lines
8.6 KiB
VB.net
Imports System.ComponentModel
|
|
Imports System.IO
|
|
Imports System.Globalization
|
|
Imports System.Data.SqlClient
|
|
Imports System.Reflection
|
|
|
|
Public Class usrcntlFirmen
|
|
|
|
Private DISPO As New cOptionenDAL
|
|
|
|
Public Shared dt As DataTable
|
|
Public Shared SelectedDGVIndex As Integer
|
|
|
|
Private Sub usrcntlFirmen_Load(sender As Object, e As EventArgs) Handles Me.Load
|
|
EnableDoubleBuffered(dgvKunden)
|
|
SplitContainer1.Panel1Collapsed = True
|
|
btnDetailSuche.Text = ChrW(9660) & ChrW(9660) & ChrW(9660) & "Detailsuche" & ChrW(9660) & ChrW(9660) & ChrW(9660)
|
|
|
|
cboRolle.Items.Clear()
|
|
cboRolle.Items.Add(New MyListItem("nicht filtern", "-1"))
|
|
cboRolle.Items.Add(New MyListItem("ohne (-)", "0"))
|
|
cboRolle.Items.Add(New MyListItem("Auftraggeber", "1"))
|
|
cboRolle.Items.Add(New MyListItem("Ladestelle", "2"))
|
|
cboRolle.Items.Add(New MyListItem("Entladestelle", "3"))
|
|
cboRolle.Items.Add(New MyListItem("Frachtführer", "4"))
|
|
cboRolle.Items.Add(New MyListItem("Transportunternehmen", "5"))
|
|
|
|
showDGVKunden()
|
|
End Sub
|
|
|
|
Private Sub initDGVKunden(bindingString As String)
|
|
Dim sqlstr As String = bindingString
|
|
' dgvLKW.DataSource = bindingSDL
|
|
Dim vpasql As New VERAG_PROG_ALLGEMEIN.SQL
|
|
|
|
dt = vpasql.loadDgvBySql(sqlstr, "DISPO")
|
|
dgvKunden.DataSource = dt
|
|
End Sub
|
|
|
|
Public Sub showDGVKunden()
|
|
Dim where As String = ""
|
|
Dim search As String = ""
|
|
Dim start As Long = (DateTime.Now - New DateTime(1970, 1, 1)).TotalMilliseconds
|
|
|
|
Whereinator3000(search, where)
|
|
|
|
|
|
With dgvKunden
|
|
Dim top As String = ""
|
|
initDGVKunden("SELECT " & top & " kd_id, kd_firma, (kd_str + ' ' + kd_strnr) as strasse, (kd_plz + ' - ' + kd_ort) as ort, kd_land,kd_oez_id FROM tblKunden " & where & " ")
|
|
|
|
'locZeilen = -1
|
|
' If Not Grid_aktiv Then Exit Sub
|
|
|
|
'Tabelle Kommt/Geht bereinigen
|
|
If .RowCount = 0 Then Exit Sub
|
|
|
|
.Sort(.Columns(1), ListSortDirection.Ascending)
|
|
|
|
.RowTemplate.Height = 20
|
|
.RowTemplate.DefaultCellStyle.Alignment = DataGridViewContentAlignment.TopLeft
|
|
.AllowUserToAddRows = False
|
|
.AllowUserToDeleteRows = False
|
|
.AllowUserToOrderColumns = False
|
|
.AllowUserToResizeColumns = True
|
|
.AllowUserToResizeRows = False
|
|
.RowTemplate.ReadOnly = True
|
|
.RowHeadersVisible = False
|
|
.MultiSelect = False
|
|
.SelectionMode = DataGridViewSelectionMode.FullRowSelect
|
|
.ReadOnly = True
|
|
|
|
.Columns(0).Visible = False
|
|
|
|
.Columns(1).MinimumWidth = 300
|
|
.Columns(1).HeaderText = "Firma"
|
|
.Columns(1).AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill
|
|
' .Columns(1).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
|
|
|
|
.Columns(2).Width = 250
|
|
.Columns(2).HeaderText = "Straße"
|
|
|
|
.Columns(3).Width = 250
|
|
.Columns(3).HeaderText = "Ort"
|
|
|
|
.Columns(4).Width = 150
|
|
.Columns(4).HeaderText = "Land"
|
|
|
|
.Columns(5).Visible = False
|
|
|
|
|
|
'initDGVKundenFilter()
|
|
'Anzeige der Anzahl gewählter/aller Datensätze
|
|
lblAnzahl.Text = Format(.RowCount, "#,##0") & " Einträge"
|
|
If (.RowCount = 100) Then lblAnzahl.Text &= " (Die Suche wurde auf 100 Ergebnisse beschränkt.)"
|
|
End With
|
|
|
|
lblAnzahl.Refresh()
|
|
Dim ende As Long = (DateTime.Now - New DateTime(1970, 1, 1)).TotalMilliseconds
|
|
lblMs.Text = "Ladezeit: " & (ende - start) & " ms"
|
|
Try
|
|
If dgvKunden.Rows.Count - 1 >= SelectedDGVIndex Then dgvKunden.Rows(SelectedDGVIndex).Selected = True
|
|
Catch ex As Exception
|
|
MsgBox(ex.Message)
|
|
End Try
|
|
'lblMs.Image = Nothing
|
|
End Sub
|
|
|
|
|
|
Public Sub EnableDoubleBuffered(ByVal dgv As DataGridView)
|
|
Dim dgvType As Type = dgv.[GetType]()
|
|
Dim pi As PropertyInfo = dgvType.GetProperty("DoubleBuffered",
|
|
BindingFlags.Instance Or BindingFlags.NonPublic)
|
|
pi.SetValue(dgv, True, Nothing)
|
|
End Sub
|
|
|
|
Private Sub txtSuche_TextChanged(sender As Object, e As EventArgs) Handles txtSuche.TextChanged
|
|
showDGVKunden()
|
|
End Sub
|
|
|
|
Private Sub btnReset_Click(sender As Object, e As EventArgs) Handles btnReset.Click
|
|
txtSuche.Text = ""
|
|
cboLand.SelectedItem = "-"
|
|
cboRolle._value = "-1"
|
|
showDGVKunden()
|
|
End Sub
|
|
|
|
Private Sub btnNew_Click(sender As Object, e As EventArgs) Handles btnNew.Click
|
|
frmDetails.rowId = -1 : frmDetails.mainForm = "frmMain" : frmDetails.Show() : AddHandler frmDetails.Disposed, AddressOf meEnabledTrue
|
|
End Sub
|
|
|
|
Private Sub meEnabledTrue()
|
|
Me.Enabled = True
|
|
showDGVKunden()
|
|
Me.BringToFront()
|
|
End Sub
|
|
|
|
Private Sub btnChange_Click(sender As Object, e As EventArgs) Handles btnChange.Click
|
|
SelectedDGVIndex = dgvKunden.CurrentRow.Index
|
|
Try
|
|
If frmDetails.Visible Then
|
|
MsgBox("Ein Kunden-Formular ist bereits geöffnet!", vbCritical, "Fenster geöffnet")
|
|
frmDetails.BringToFront()
|
|
Else
|
|
frmDetails.rowId = dgvKunden.CurrentRow.Cells(0).Value
|
|
frmDetails.mainForm = "frmMain"
|
|
frmDetails.Show()
|
|
AddHandler frmDetails.Disposed, AddressOf meEnabledTrue
|
|
Me.Enabled = False
|
|
End If
|
|
Catch ex As Exception
|
|
Me.Enabled = True
|
|
End Try
|
|
|
|
End Sub
|
|
|
|
Private Sub btnDel_Click(sender As Object, e As EventArgs) Handles btnDel.Click
|
|
Select Case MsgBox("Soll der Eintrag wirklich gelöscht werden?", vbQuestion Or vbYesNo Or vbDefaultButton2, "Löschen?")
|
|
Case vbYes
|
|
DISPO.delData(Convert.ToInt32(dgvKunden.CurrentRow.Cells(0).Value))
|
|
DISPO.delOeffnungszeiten(Convert.ToInt32(dgvKunden.CurrentRow.Cells(5).Value))
|
|
showDGVKunden()
|
|
Case vbNo
|
|
End Select
|
|
End Sub
|
|
|
|
Private Sub dgvKunden_CellDouble(sender As Object, e As DataGridViewCellEventArgs) Handles dgvKunden.CellDoubleClick
|
|
SelectedDGVIndex = dgvKunden.CurrentRow.Index
|
|
Try
|
|
If frmDetails.Visible Then
|
|
MsgBox("Ein Kunden-Formular ist bereits geöffnet!", vbCritical, "Fenster geöffnet")
|
|
frmDetails.BringToFront()
|
|
Else
|
|
frmDetails.rowId = dgvKunden.CurrentRow.Cells(0).Value
|
|
frmDetails.mainForm = "frmMain"
|
|
frmDetails.Show()
|
|
AddHandler frmDetails.Disposed, AddressOf meEnabledTrue
|
|
Me.Enabled = False
|
|
End If
|
|
Catch ex As Exception
|
|
Me.Enabled = True
|
|
End Try
|
|
End Sub
|
|
|
|
Private Sub btnDetailSuche_Click(sender As Object, e As EventArgs) Handles btnDetailSuche.Click
|
|
SplitContainer1.Panel1Collapsed = Not SplitContainer1.Panel1Collapsed
|
|
|
|
If SplitContainer1.Panel1Collapsed Then
|
|
btnDetailSuche.BackColor = Color.White
|
|
btnDetailSuche.Text = ChrW(9660) & ChrW(9660) & ChrW(9660) & "Detailsuche" & ChrW(9660) & ChrW(9660) & ChrW(9660)
|
|
Else
|
|
btnDetailSuche.BackColor = Color.RoyalBlue
|
|
btnDetailSuche.Text = ChrW(9650) & ChrW(9650) & ChrW(9650) & "Detailsuche" & ChrW(9650) & ChrW(9650) & ChrW(9650)
|
|
End If
|
|
End Sub
|
|
|
|
Function Whereinator3000(ByRef search As String, ByRef where As String)
|
|
|
|
If txtSuche.Text <> "" Then
|
|
search = txtSuche.Text.Replace("'", "")
|
|
Else
|
|
search = "%"
|
|
End If
|
|
|
|
where &= " WHERE (kd_firma LIKE '%" & search & "%' OR (kd_str + ' ' + kd_strnr) LIKE '%" & search & "%' OR (kd_plz + ' - ' + kd_ort) LIKE '%" & search & "%' OR kd_land LIKE '%" & search & "%' OR kd_TIMOCOM LIKE '%" & search & "%')"
|
|
If cboRolle._value IsNot "-1" And cboRolle._value IsNot "" Then
|
|
where &= " AND kd_rolle = '" & cboRolle._value & "'"
|
|
End If
|
|
If cboLand.SelectedItem IsNot "" And cboLand.SelectedItem IsNot "-" And cboLand.SelectedItem IsNot Nothing Then
|
|
where &= " AND kd_land = '" & cboLand.SelectedItem & "'"
|
|
End If
|
|
'Else
|
|
' If cboRolle._value IsNot "-1" And cboRolle._value IsNot "" Then
|
|
' where &= " WHERE kd_rolle = '" & cboRolle._value & "'"
|
|
' End If
|
|
'End If
|
|
End Function
|
|
|
|
Private Sub cboRolle_SelectedIndexChanged(sender As Object, e As EventArgs) Handles cboRolle.SelectedIndexChanged, cboLand.SelectedIndexChanged
|
|
showDGVKunden()
|
|
End Sub
|
|
|
|
End Class
|