Public Class frmTempBerechtigung Dim dc As New _DataClass.DataClass Dim SpaltenTitel As New Utils.Tabellenspalte Dim sec As New Utils.MySecurity Private Sub frmTempBerechtigung_Load(sender As Object, e As EventArgs) Handles MyBase.Load Refresh_Data() sec.Set_Form_Security(Me) End Sub Sub Refresh_Data() Dim dt As New DataTable dt = dc.Get_Temp_Berechtgungen() Me.C1Daten.DataSource = Nothing Me.C1Daten.DataSource = dt Me.C1Daten.DataMember = dt.TableName Me.SpaltenTitel.Spaltentitel_aktualisieren(Me.C1Daten, "TempBerechtigung", dt) End Sub Private Sub SchliessenToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles SchliessenToolStripMenuItem.Click Me.Close() End Sub Private Sub TSBtnQuit_Click(sender As Object, e As EventArgs) Handles TSBtnQuit.Click Me.Close() End Sub Private Sub ToolStripButton1_Click(sender As Object, e As EventArgs) Handles ToolStripButton1.Click Me.SaveFileDialog1.AddExtension = True Me.SaveFileDialog1.DefaultExt.Insert(0, "*.xlsx") Me.SaveFileDialog1.Filter = "Excel-Dateien|*.xlsx" Me.SaveFileDialog1.ShowDialog() If Me.SaveFileDialog1.FileName <> "" Then Dim tdt As New DataTable tdt = Me.C1Daten.DataSource.Copy tdt.Rows.Clear() For i As Integer = 0 To Me.C1Daten.Splits(0).Rows.Count - 1 If C1Daten.Splits(0).Rows(i).Visible = True Then Dim dr As DataRow = tdt.NewRow For ii As Integer = 0 To C1Daten.Splits(0).DisplayColumns.Count - 1 C1Daten.Bookmark = i dr.Item(ii) = C1Daten.Columns(ii).Value Next ii tdt.Rows.Add(dr) End If Next i Try Me.C1Daten.Bookmark = 0 Catch End Try If Me.SaveFileDialog1.FileName.EndsWith(".xlsx") Or Me.SaveFileDialog1.FileName.EndsWith("XLSX") Then Me.DatatableToExcel(tdt, Me.SaveFileDialog1.FileName) 'Me.DatatableToExcel(Me.C1Daten.DataSource, Me.SaveFileDialog1.FileName) Else Me.C1Daten.ExportToDelimitedFile(Me.SaveFileDialog1.FileName, C1.Win.C1TrueDBGrid.RowSelectorEnum.AllRows, ";", "", "", True, System.Text.Encoding.Default.BodyName) End If End If Exit Sub End Sub Public Shared Function DatatableToExcel(ByVal aDataTable As DataTable, ByVal aOutputFilename As String) As Boolean Application.DoEvents() Dim f As New FrmFortschritt Dim app As New Object Dim wb As New Object Dim ws As New Object Try f.Show() Application.DoEvents() f.ProgressBar1.Minimum = 0 f.ProgressBar1.Maximum = aDataTable.Rows.Count f.ProgressBar1.Step = 1 f.ProgressBar1.Value = 0 app = CreateObject("Excel.application") 'Dim wb As Object 'Dim ws As Object ' Dim app As New Excel.ApplicationClass ' Dim wb As Excel.Workbook ' Dim ws As Excel.Worksheet wb = app.Workbooks.add() 'wb = app.Workbooks.Add() ws = wb.ActiveSheet() Dim dc As DataColumn Dim dr As DataRow Dim colIndex As Integer Dim rowIndex As Integer ' Columns erstellen For Each dc In aDataTable.Columns colIndex += 1 app.Cells(1, colIndex) = dc.ColumnName Next ' Rows hinzufügen For Each dr In aDataTable.Rows f.ProgressBar1.Value = rowIndex rowIndex += 1 colIndex = 0 For Each dc In aDataTable.Columns colIndex += 1 app.Cells(rowIndex + 1, colIndex) = dr(dc.ColumnName) Next Next ws.Columns.AutoFit() wb.SaveAs(aOutputFilename) app.Workbooks.Open(aOutputFilename) ' Excel anzeigen wenn fertig exportiert app.Visible = True ws = Nothing wb = Nothing app = Nothing f.Close() Return True Catch ex As Exception f.Close() MsgBox(ex.Message) End Try End Function Private Sub PerosnAnzeigenToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles PerosnAnzeigenToolStripMenuItem.Click Dim f As New frmUebersichtRE(C1Daten.Columns("Personalnr").Value) f.MdiParent = Me.MdiParent f.Show() End Sub Private Sub FunktionstelleAnzeigenToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles FunktionstelleAnzeigenToolStripMenuItem.Click Dim f As New frmUebersichtRE(C1Daten.Columns("Funktionstellenr").Value) f.MdiParent = Me.MdiParent f.Show() End Sub Private Sub InaktivierenToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles InaktivierenToolStripMenuItem.Click If MsgBox("Temporäre Berechtigung inaktivieren?", vbYesNo) = MsgBoxResult.Yes Then dc.Delete_temp_Berechtigung(C1Daten.Columns("NrTempBerechtigung").Value, Globals.clsmitarbeiter.iMitarbeiternr.Value) Me.Refresh_Data() End If End Sub Private Sub ContextMenuStrip1_Opening(sender As Object, e As System.ComponentModel.CancelEventArgs) Handles ContextMenuStrip1.Opening FunktionstelleAnzeigenToolStripMenuItem.Enabled = False BerechtigungAnzeigenToolStripMenuItem.Enabled = False PlattformAnzeigenToolStripMenuItem.Enabled = False If C1Daten.Columns("Datatype").Value = "Funktionstelle" Then FunktionstelleAnzeigenToolStripMenuItem.Enabled = True End If If C1Daten.Columns("Datatype").Value = "Berechtigung" Then BerechtigungAnzeigenToolStripMenuItem.Enabled = True End If If C1Daten.Columns("Datatype").Value = "Plattform" Then PlattformAnzeigenToolStripMenuItem.Enabled = True End If End Sub Private Sub BerechtigungAnzeigenToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles BerechtigungAnzeigenToolStripMenuItem.Click Dim f As New frmUebersichtRE(C1Daten.Columns("Funktionstellenr").Value) f.MdiParent = Me.MdiParent f.Show() End Sub Private Sub PlattformAnzeigenToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles PlattformAnzeigenToolStripMenuItem.Click Dim f As New frmUebersichtRE(C1Daten.Columns("Funktionstellenr").Value) f.MdiParent = Me.MdiParent f.Show() End Sub Private Sub C1Daten_Click(sender As Object, e As EventArgs) Handles C1Daten.Click End Sub Private Sub C1Daten_MouseDown(sender As Object, e As MouseEventArgs) Handles C1Daten.MouseDown Me.C1Daten.Bookmark = Me.C1Daten.RowContaining(e.Y) End Sub Private Sub C1Daten_FetchRowStyle(sender As Object, e As C1.Win.C1TrueDBGrid.FetchRowStyleEventArgs) Handles C1Daten.FetchRowStyle Try Dim d As DateTime = Me.C1Daten.Columns("Termin").CellValue(e.Row) Dim tage As Integer = DateDiff(DateInterval.Day, d, Now) * -1 If tage > My.Settings.Tage Then If My.Settings.Foreground_gueltig <> "" Then e.CellStyle.ForeColor = ColorTranslator.FromHtml(My.Settings.Foreground_gueltig) End If If tage >= 0 And tage <= My.Settings.Tage Then If My.Settings.Foreground_vor_ablauf <> "" Then e.CellStyle.ForeColor = ColorTranslator.FromHtml(My.Settings.Foreground_vor_ablauf) If My.Settings.Background_vor_ablauf <> "" Then e.CellStyle.BackColor = ColorTranslator.FromHtml(My.Settings.Background_vor_ablauf) End If If tage < 0 Then If My.Settings.Foreground_abgelaufen <> "" Then e.CellStyle.ForeColor = ColorTranslator.FromHtml(My.Settings.Foreground_abgelaufen) If My.Settings.Background_abgelaufen <> "" Then e.CellStyle.BackColor = ColorTranslator.FromHtml(My.Settings.Background_abgelaufen) End If If d < Now Then If My.Settings.Foreground_abgelaufen <> "" Then e.CellStyle.ForeColor = ColorTranslator.FromHtml(My.Settings.Foreground_abgelaufen) If My.Settings.Background_abgelaufen <> "" Then e.CellStyle.BackColor = ColorTranslator.FromHtml(My.Settings.Background_abgelaufen) End If Catch ex As Exception End Try End Sub End Class