Imports System.ComponentModel Imports System.Data.SqlClient Imports System.Data.SqlTypes Imports C1.Win.C1TrueDBGrid Public Class Dokumente #Region "Deklarationen" Dim SpaltenTitel As New Utils.Tabellenspalte Dim dokumente As New DataTable Dim Dokument As New DMS.clsDok #End Region #Region "Properties" Dim m_ConnectionString As String _ Public Property ConnectionString() As String Get ConnectionString = m_ConnectionString End Get Set(ByVal Value As String) If m_ConnectionString <> Value Then m_ConnectionString = Value Globals.conn.sConnectionString = Value Globals.sConnectionString = Value End If End Set End Property Dim m_ProduktNr As Integer _ Public Property ProduktNr As Integer Get ProduktNr = m_ProduktNr End Get Set(value As Integer) If m_ProduktNr <> value Then m_ProduktNr = value Try Refresh_Dokumente() Catch End Try End If End Set End Property Dim m_Doktype As Integer _ Public Property Doktype As Integer Get Doktype = m_Doktype End Get Set(value As Integer) If m_Doktype <> value Then m_Doktype = value End If End Set End Property Dim m_Mitarbeiternr As Integer _ Public Property Mitarbeiternr As Integer Get Mitarbeiternr = m_Mitarbeiternr End Get Set(value As Integer) If m_Mitarbeiternr <> value Then m_Mitarbeiternr = value Globals.Mitarbeiternr = value End If End Set End Property Dim m_TempFilePath As String _ Public Property TempFilePath As String Get TempFilePath = m_TempFilePath End Get Set(value As String) If m_TempFilePath <> value Then m_TempFilePath = value Globals.TmpFilepath = value End If End Set End Property Dim m_Show_Toolbar As Boolean = True _ Public Property Show_Toolbar() As Boolean Get Show_Toolbar = m_Show_Toolbar End Get Set(ByVal Value As Boolean) If m_Show_Toolbar <> Value Then m_Show_Toolbar = Value Set_ShowToolbar() End If End Set End Property Dim m_Show_Editfunctions As Boolean = True _ Public Property Show_Editfunctions() As Boolean Get Show_Editfunctions = m_Show_Editfunctions End Get Set(ByVal Value As Boolean) If m_Show_Editfunctions <> Value Then m_Show_Editfunctions = Value Set_EditFunctions() End If End Set End Property #End Region Sub Set_ShowToolbar() If Me.Show_Toolbar = True Then Me.ToolStrip1.Visible = True Else Me.ToolStrip1.Visible = False End Sub Sub Set_Editfunctions() If Me.Show_Editfunctions = True Then Me.ToolStripButton1.Visible = True Me.ToolStripButton2.Visible = True Me.ToolStripButton4.Visible = True Me.NeuesDokumentToolStripMenuItem.Visible = True Me.DokumentInformationenBearbeitenToolStripMenuItem.Visible = True Me.DokumentLöschenToolStripMenuItem.Visible = True Else Me.ToolStripButton1.Visible = False Me.ToolStripButton2.Visible = False Me.ToolStripButton4.Visible = False Me.NeuesDokumentToolStripMenuItem.Visible = False Me.DokumentInformationenBearbeitenToolStripMenuItem.Visible = False Me.DokumentLöschenToolStripMenuItem.Visible = False Me.C1Dokumente.AllowDrop = False End If End Sub Sub New() InitializeComponent() 'Me.ConnectionString = "data source=shu00;initial catalog=ThemenManagement;persist security info=False;workstation id=SHU;packet size=4096;user id=sa;password=*shu29" 'Me.Mitarbeiternr = 1 'Me.Doktype = 1 'Me.ProduktNr = 1 'Me.TempFilePath = "h:\tssettings\themenmgmt" Globals.conn.sConnectionString = Me.ConnectionString Globals.sConnectionString = Me.ConnectionString Globals.Mitarbeiternr = Mitarbeiternr Globals.TmpFilepath = TempFilePath Set_ShowToolbar() Set_Editfunctions() End Sub Private Sub Refresh_Dokumente() Try Dim filtertext As String = "none" Try filtertext = Me.C1Dokumente.Columns("Aktiv").FilterText Catch ex As Exception End Try Dim bm As Integer = 0 bm = Me.C1Dokumente.Bookmark Me.C1Dokumente.Enabled = False Get_Dokumente(Me.C1Dokumente, Me.ImageListeDocIcon, Me.Doktype) Me.SpaltenTitel.Spaltentitel_aktualisieren(Me.C1Dokumente, "Dokument", Me.dokumente) If filtertext <> "none" Then Me.C1Dokumente.Columns("Aktiv").FilterText = filtertext Try Me.C1Dokumente.Bookmark = bm Catch ex As Exception End Try Me.C1Dokumente.Enabled = True Catch End Try End Sub #Region "Dokumente" ''' ''' Dokumente lesen und dem Grid übergeben ''' ''' C1TrueDBGrid mit Dokumente ''' ''' Public Function Get_Dokumente(ByRef c1data As C1TrueDBGrid, Optional ByVal ImgList As ImageList = Nothing, Optional Doktype As Integer = 0) Try dokumente.Dispose() dokumente = Nothing Catch ex As Exception End Try 'dokumente = Dokument.get dokumente = Dokument.Get_Dokumente(Me.ProduktNr, Doktype) c1data.DataSource = dokumente c1data.DataMember = dokumente.TableName If Not ImgList Is Nothing Then Set_Imagevalues(c1data, ImgList) End If End Function Private Sub Set_Imagevalues(ByRef c1data As C1TrueDBGrid, ByRef imglist As ImageList) Dim i As Integer Dim s As String For i = 0 To dokumente.Rows.Count - 1 s = dokumente.Rows(i).Item("Filename") If s = "" Then s = dokumente.Rows(i).Item("Bezeichnung") If Len(s) < 4 Then s = ".div" Select Case UCase(s.Substring(Len(s) - 4, 4)) Case ".PDF" dokumente.Rows(i).Item("DokIcon") = 0 Case ".DOC", "DOCX", ".DOT", "DOTX" dokumente.Rows(i).Item("DokIcon") = 1 Case ".XLS", ".XLT", "XLSX", "XLTX" dokumente.Rows(i).Item("DokIcon") = 2 Case ".PPT", "PPTX" dokumente.Rows(i).Item("DokIcon") = 3 Case ".HTM", "TML", "XML" dokumente.Rows(i).Item("DokIcon") = 4 Case ".MSG" dokumente.Rows(i).Item("DokIcon") = 5 Case ".JPG", ".TIF" dokumente.Rows(i).Item("DokIcon") = 7 Case Else If InStr(UCase(s), "WWW") > 0 Or InStr(UCase(s), "HTTP") Then dokumente.Rows(i).Item("DokIcon") = 4 Else dokumente.Rows(i).Item("DokIcon") = 6 End If End Select Next Dim bmp0 As New Bitmap(imglist.Images(0)) Dim bmp1 As New Bitmap(imglist.Images(1)) Dim bmp2 As New Bitmap(imglist.Images(2)) Dim bmp3 As New Bitmap(imglist.Images(3)) Dim bmp4 As New Bitmap(imglist.Images(4)) Dim bmp5 As New Bitmap(imglist.Images(5)) Dim bmp6 As New Bitmap(imglist.Images(6)) Dim bmp7 As New Bitmap(imglist.Images(7)) Dim v0 As New C1.Win.C1TrueDBGrid.ValueItem() Dim v1 As New C1.Win.C1TrueDBGrid.ValueItem() Dim v2 As New C1.Win.C1TrueDBGrid.ValueItem() Dim v3 As New C1.Win.C1TrueDBGrid.ValueItem() Dim v4 As New C1.Win.C1TrueDBGrid.ValueItem() Dim v5 As New C1.Win.C1TrueDBGrid.ValueItem() Dim v6 As New C1.Win.C1TrueDBGrid.ValueItem() Dim v7 As New C1.Win.C1TrueDBGrid.ValueItem() v0.DisplayValue = bmp0 v0.Value = 0 v1.DisplayValue = bmp1 v1.Value = 1 v2.DisplayValue = bmp2 v2.Value = 2 v3.DisplayValue = bmp3 v3.Value = 3 v4.DisplayValue = bmp4 v4.Value = 4 v5.DisplayValue = bmp5 v5.Value = 5 v6.DisplayValue = bmp6 v6.Value = 6 v7.DisplayValue = bmp7 v7.Value = 7 Try c1data.Columns("DokIcon").ValueItems.Values.Add(v0) c1data.Columns("DokIcon").ValueItems.Values.Add(v1) c1data.Columns("DokIcon").ValueItems.Values.Add(v2) c1data.Columns("DokIcon").ValueItems.Values.Add(v3) c1data.Columns("DokIcon").ValueItems.Values.Add(v4) c1data.Columns("DokIcon").ValueItems.Values.Add(v5) c1data.Columns("DokIcon").ValueItems.Values.Add(v6) c1data.Columns("DokIcon").ValueItems.Values.Add(v7) c1data.Columns("DokIcon").ValueItems.Translate = True Catch ex As Exception MsgBox(ex.Message) End Try End Sub ''' ''' Kontakte auslesen und dem Truedbgrid übergeben ''' ''' TruedbGrid ''' Vertragselement, für welches die Dokumente ausgelesen werden ''' ''' Public Function Get_Dokumente(ByRef c1data As C1TrueDBGrid, ByVal Vertragselementnr As Integer, Optional ByVal ImgList As ImageList = Nothing) 'Me.Get_Vertragselement(Vertragselementnr) dokumente = Dokument.Get_Dokumente(Me.ProduktNr, 1) c1data.DataSource = dokumente c1data.DataMember = dokumente.TableName If Not ImgList Is Nothing Then Me.Set_Imagevalues(c1data, ImgList) End If End Function Public Function Get_Dokumente(ByVal ProduktNr As Integer) As DataTable Return Dokument.Get_Dokumente(ProduktNr, Me.Doktype) End Function #End Region Private Sub Dokumente_DragDrop(sender As Object, e As DragEventArgs) Handles C1Dokumente.DragDrop Try If e.Data.GetData("System.String").ToString().StartsWith("http") Then Dim f1 As New frmDokument(Me.ProduktNr, True, e.Data.GetData("System.String").ToString()) f1.ShowDialog() Me.Refresh_Dokumente() Exit Sub End If Catch End Try Dim s() As String = e.Data.GetData("FileDrop", False) Dim i As Integer For i = 0 To s.Length - 1 Dim f As New frmDokument(0, Me.Doktype, Me.ProduktNr, False, True, s(i)) f.ShowDialog() Next i Me.Refresh_Dokumente() End Sub Private Sub Dokumente_DragEnter(sender As Object, e As DragEventArgs) Handles Me.DragEnter If (e.Data.GetDataPresent(DataFormats.FileDrop)) Then e.Effect = DragDropEffects.All Else e.Effect = DragDropEffects.None End If End Sub Private Sub Dokumente_Load(sender As Object, e As EventArgs) Handles Me.Load Me.Refresh_Dokumente() End Sub Private Sub C1Dokumente_DoubleClick(sender As Object, e As EventArgs) Handles C1Dokumente.DoubleClick Try Me.DokumentanzeigenToolStripMenuItem_Click(sender, e) Catch ex As Exception End Try End Sub Private Sub C1Dokumente_MouseDown(sender As Object, e As MouseEventArgs) Handles C1Dokumente.MouseDown Me.C1Dokumente.Bookmark = Me.C1Dokumente.RowContaining(e.Y) End Sub Private Sub NeuesDokumentToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles NeuesDokumentToolStripMenuItem.Click Try Dim f As New frmDokument(0, Me.Doktype, Me.ProduktNr, False, True) f.ShowDialog() Me.Refresh_Dokumente() Catch ex As Exception End Try End Sub Private Sub DokumentLöschenToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles DokumentLöschenToolStripMenuItem.Click Try If MsgBox("Dokument wirklich löschen?", vbYesNoCancel + vbQuestion) = MsgBoxResult.Yes Then Dokument.Delete_Dokument(Me.C1Dokumente.Columns("Dokumentnr").Value) Me.Refresh_Dokumente() End If Catch End Try End Sub Private Sub DokumentanzeigenToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles DokumentanzeigenToolStripMenuItem.Click Try Dokument.Show_Doc(Me.C1Dokumente.Columns("Dokumentnr").Value) Catch End Try End Sub Private Sub DokumentInformationenBearbeitenToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles DokumentInformationenBearbeitenToolStripMenuItem.Click Try Dim f As New frmDokument(Me.C1Dokumente.Columns("Dokumentnr").Value, Me.Doktype, Me.ProduktNr, False, False) 'f.MdiParent = Me f.ShowDialog() Me.Refresh_Dokumente() Catch ex As Exception End Try End Sub Private Sub ToolStripButton1_Click(sender As Object, e As EventArgs) Handles ToolStripButton1.Click NeuesDokumentToolStripMenuItem_Click(sender, e) End Sub Private Sub ToolStripButton4_Click(sender As Object, e As EventArgs) Handles ToolStripButton4.Click DokumentInformationenBearbeitenToolStripMenuItem_Click(sender, e) End Sub Private Sub ToolStripButton2_Click(sender As Object, e As EventArgs) Handles ToolStripButton2.Click DokumentLöschenToolStripMenuItem_Click(sender, e) End Sub Private Sub ToolStripButton3_Click(sender As Object, e As EventArgs) Handles ToolStripButton3.Click DokumentanzeigenToolStripMenuItem_Click(sender, e) End Sub Private Sub C1Dokumente_Click(sender As Object, e As EventArgs) Handles C1Dokumente.Click End Sub Private Sub C1Dokumente_DragEnter(sender As Object, e As DragEventArgs) Handles C1Dokumente.DragEnter If e.Data.GetDataPresent(DataFormats.FileDrop) Then e.Effect = DragDropEffects.All Exit Sub End If Try If e.Data.GetData("System.String").ToString().StartsWith("http") Then e.Effect = DragDropEffects.Link Else e.Effect = DragDropEffects.None End If Catch End Try End Sub Private Sub C1Dokumente_DragDrop(sender As Object, e As DragEventArgs) 'Handles C1Dokumente.DragDrop If e.Data.GetDataPresent(DataFormats.FileDrop) Then Dim MyFiles() As String ' Assign the files to an array. MyFiles = e.Data.GetData(DataFormats.FileDrop) ' Display the file Name 'TextBoxDrop.Text = MyFiles(0) ' Display the file contents Dim f As New frmDokument(0, Me.Doktype, Me.ProduktNr, False, True, MyFiles(0)) f.ShowDialog() Me.Refresh_Dokumente() End If End Sub Private Sub ToolStrip1_ItemClicked(sender As Object, e As ToolStripItemClickedEventArgs) Handles ToolStrip1.ItemClicked End Sub End Class