Imports System.Windows.Forms Public Class uscntr_DomUserList Dim DGVi As Integer = 0 Private Sub uscntr_DomUserList_Load(sender As Object, e As EventArgs) Handles Me.Load Class1.EnableDoubleBuffered(dgvListUser) LoadDomains() LoadDGV() End Sub Function LoadDomains() Dim ds As New DataSet cSQL.SQL2DS("select distinct du_dom from Doku.dbo.TbL_DomUser order by du_dom", ds, Class1.DBDoku) cbDomain.Items.Add("*") For Each row As DataRow In ds.Tables(0).Rows cbDomain.Items.Add(row.Item(0).ToString) Next End Function Function LoadDGV(Optional ByVal ReturnDataTable As Boolean = False) DGVi = 0 Dim ds As New DataSet cSQL.SQL2DS("select * from Doku.dbo.TbL_DomUser " & ReturnOfTheWhere() & " ORDER BY du_nachname", ds, Class1.DBDoku) With dgvListUser .DefaultCellStyle.BackColor = Color.White .AlternatingRowsDefaultCellStyle.BackColor = Color.AliceBlue .DataSource = ds.Tables(0) For Each col As DataGridViewColumn In dgvListUser.Columns col.Visible = False Next .Columns("du_Vorname").Visible = True .Columns("du_Vorname").HeaderText = "Vorname" .Columns("du_Nachname").Visible = True .Columns("du_Nachname").HeaderText = "Nachname" .Columns("du_email").Visible = True .Columns("du_email").HeaderText = "E-Mail" .Columns("du_email_Activated").Visible = True .Columns("du_email_Activated").HeaderText = "EA" .Columns("du_email_Activated").Width = 40 .Columns("du_dom").Visible = True .Columns("du_dom").HeaderText = "Domäne" .Columns("du_sAMAc").Visible = True .Columns("du_sAMAc").HeaderText = "Benutzername" .Columns("du_Info").Visible = True .Columns("du_Info").HeaderText = "Info" .Columns("du_Info").AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill End With If ReturnDataTable = True Then Return ds.Tables(0) labAnzahl.Text = "Anzahl der Einträge: " & dgvListUser.Rows.Count End Function Private Sub dgvListUser_CellContentClick(sender As Object, e As DataGridViewCellEventArgs) Handles dgvListUser.CellDoubleClick 'dgvListUser.CellContentDoubleClick ', dgvListUser.CellDoubleClick 'Dim testuser As New cDomUser 'testuser.getDomUser("du_ID", dgvListUser.CurrentRow.Cells("du_ID").Value) 'If Application.OpenForms().OfType(Of uscntr_DomUser).Any Then Exit Sub 'Dim frm As New frmLeer 'frm.Text = testuser.du_sAMAc 'Dim usrcntrl As New uscntr_DomUser 'usrcntrl.DomUser = testuser 'usrcntrl.Dock = DockStyle.Fill : frm.PanMain.Controls.Add(usrcntrl) 'frm.Size = usrcntrl.Size 'Me.Parent.Enabled = False 'AddHandler frm.FormClosing, Function() ' Try ' Me.Parent.Enabled = True ' BringToFront() ' LoadDGV() ' Catch ' End Try ' End Function 'frm.Show() BeamMeUp() End Sub Private Function BeamMeUp(Optional Enter As Boolean = False, Optional RI As Integer = 0) Dim testuser As New cDomUser If Enter Then testuser.getDomUser("du_ID", dgvListUser.Rows(RI).Cells("du_ID").Value) Else testuser.getDomUser("du_ID", dgvListUser.CurrentRow.Cells("du_ID").Value) End If If Application.OpenForms().OfType(Of uscntr_DomUser).Any Then Exit Function Dim frm As New frmLeer frm.Text = testuser.du_sAMAc Dim usrcntrl As New uscntr_DomUser usrcntrl.DomUser = testuser usrcntrl.Dock = DockStyle.Fill : frm.PanMain.Controls.Add(usrcntrl) frm.Size = usrcntrl.Size Me.Parent.Enabled = False AddHandler frm.FormClosing, Function() Try Me.Parent.Enabled = True BringToFront() LoadDGV() Catch End Try End Function frm.Show() End Function Function ReturnOfTheWhere() Dim Dom As String = cbDomain.SelectedItem If Dom = "*" Or Dom = "" Then Dom = "%%" Dim MailEn As String = "" If CheckBox1.CheckState = CheckState.Checked Then MailEn = "AND du_Email_Activated = 'True'" ElseIf CheckBox1.CheckState = CheckState.Unchecked Then MailEn = "" End If Dim ding As String = "WHERE (du_Email LIKE '%{0}%' OR du_Vorname LIKE '%{0}%' OR du_Nachname LIKE '%{0}%' OR du_sAMAc LIKE '%{0}%' OR du_Info LIKE '%{0}%') AND du_Dom LIKE '%{1}%' {2}" Return String.Format(ding, TextBox1.Text, Dom, MailEn) End Function Private Sub cmdNeu_Click(sender As Object, e As EventArgs) Handles cmdNeu.Click Dim frm As New frmLeer frm.Text = "neuer Benutzer" Dim usrcntrl As New uscntr_DomUser usrcntrl.Dock = DockStyle.Fill : frm.PanMain.Controls.Add(usrcntrl) frm.Size = usrcntrl.Size AddHandler frm.FormClosing, Function() Me.Parent.Enabled = True BringToFront() LoadDGV() End Function frm.Show() End Sub Private Sub cbDomain_SelectedIndexChanged(sender As Object, e As EventArgs) Handles cbDomain.SelectedIndexChanged, TextBox1.TextChanged, CheckBox1.CheckedChanged LoadDGV() End Sub Private Sub EnterPress(ByVal sender As Object, ByVal e As KeyEventArgs) Handles TextBox1.KeyDown, dgvListUser.KeyDown If e.KeyCode = Keys.Enter Then ' dgvListUser.Rows(0).Selected = True BeamMeUp(True, DGVi) ElseIf e.KeyCode = Keys.Down Then If dgvListUser.Rows.Count - 1 > DGVi Then DGVi = DGVi + 1 dgvListUser.Rows(DGVi).Selected = True End If ElseIf e.KeyCode = Keys.Up Then If DGVi > 0 Then DGVi = DGVi - 1 dgvListUser.Rows(DGVi).Selected = True End If End If End Sub Private Sub cmdReset_Click(sender As Object, e As EventArgs) Handles cmdReset.Click TextBox1.Text = "" cbDomain.SelectedItem = "*" End Sub Private Sub LöschenToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles LöschenToolStripMenuItem.Click Dim domdom As New cDomUser domdom.getDomUserByID(dgvListUser.SelectedRows.Item(0).Cells(0).Value) '(dgvListUser.SelectedRows.Item("du_ID").ToString) ' MsgBox(domdom.du_Nachname) domdom.Delete() LoadDGV() End Sub Private Sub ExportToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles ExportToolStripMenuItem.Click Class1.datatable_2_csv_export(LoadDGV(True)) End Sub Private Sub dgvListUser_CellContentClick_1(sender As Object, e As DataGridViewCellEventArgs) Handles dgvListUser.CellClick DGVi = dgvListUser.CurrentRow.Index End Sub End Class