From 3a8c24e2a3d26c268c2481ac76f9171af0b4a590 Mon Sep 17 00:00:00 2001 From: SchreiberM Date: Wed, 10 Aug 2016 13:59:12 +0200 Subject: [PATCH] MS10082016 --- app/DD-Record-Organiser/ClassHelper.vb | 72 ++++ app/DD-Record-Organiser/Class_DOC_SEARCH.vb | 22 +- app/DD-Record-Organiser/frmAbout.Designer.vb | 8 + app/DD-Record-Organiser/frmAbout.resx | 56 ++- app/DD-Record-Organiser/frmAbout.vb | 11 + .../frmConstructor_Main.vb | 349 +++++++++++------- 6 files changed, 361 insertions(+), 157 deletions(-) diff --git a/app/DD-Record-Organiser/ClassHelper.vb b/app/DD-Record-Organiser/ClassHelper.vb index 087f9f1..d4bef75 100644 --- a/app/DD-Record-Organiser/ClassHelper.vb +++ b/app/DD-Record-Organiser/ClassHelper.vb @@ -161,5 +161,77 @@ Public Class ClassHelper Shared Function Convert_Date_2_Form_Format(p1 As Date) As Date Throw New NotImplementedException End Function + Public Shared Function Return_listcheck(ENTITY_ID As Integer) + + Try + Dim listcheck As New List(Of String) + ' Alle Checkboxen für aktuelle Ansicht heraussuchen + Dim sqlcheck As String = "SELECT COL_NAME FROM TBPMO_CONTROL WHERE CONTROL_TYPE_ID in (10,11) AND FORM_ID = " & ENTITY_ID + Dim dtcheck As DataTable = ClassDatabase.Return_Datatable(sqlcheck) + 'Liste von allen Spaltentiteln mit Checkbox erstellen + If dtcheck.Rows.Count > 0 Then + For Each row As DataRow In dtcheck.Rows + listcheck.Add(row.Item(0)) + Next + End If + Return listcheck + Catch ex As Exception + ClassLogger.Add("Unexpected Error in Return_listcheck: " & ex.Message, True) + Return Nothing + End Try + End Function + Public Shared Function Return_listdate(ENTITY_ID As Integer) + Try + Dim listdate As New List(Of String) + ' Alle Checkboxen für aktuelle Ansicht heraussuchen + Dim sqlcheck As String = "SELECT COL_NAME FROM TBPMO_CONTROL WHERE CONTROL_TYPE_ID = 4 AND FORM_ID = " & ENTITY_ID + Dim dtdate As DataTable = ClassDatabase.Return_Datatable(sqlcheck) + 'Liste von allen Spaltentiteln mit Checkbox erstellen + If dtdate.Rows.Count > 0 Then + For Each row As DataRow In dtdate.Rows + listdate.Add(row.Item(0)) + Next + End If + Return listdate + Catch ex As Exception + ClassLogger.Add("Unexpected Error in Return_listdate: " & ex.Message, True) + Return Nothing + End Try + End Function + Public Shared Function Format_GridColumns(Primary_DT As DataTable, _ENTITYSQL As String, listcheck As List(Of String), listdate As List(Of String)) + Try + Dim tbltemp As DataTable = Primary_DT.Clone() + For Each col As String In listdate + Dim colDate As DataColumn = tbltemp.Columns(col) + If Not IsNothing(colDate) Then + colDate.DataType = GetType(Date) + End If + + Next + For Each col1 As String In listcheck + Dim collist As DataColumn = tbltemp.Columns(col1) + If Not IsNothing(collist) Then + collist.DataType = GetType(Boolean) + End If + Next + Try + tbltemp.Load(Primary_DT.CreateDataReader) + Return tbltemp + Catch ex As Exception + ClassLogger.Add(">> Attention: Could not load converted datatable: " & ex.Message, False) + 'Tabelle wird ohne Datekonvertierung geladen + Dim DTEntity As DataTable = ClassDatabase.Return_Datatable(_ENTITYSQL, "Load_Entity_Data_Only") + Dim primaryKey(1) As DataColumn + primaryKey(0) = DTEntity.Columns("Record-ID") + DTEntity.PrimaryKey = primaryKey + Return DTEntity + End Try + Catch ex As Exception + MsgBox("Unexpected Error in Format_GridColumns:" & vbNewLine & ex.Message, MsgBoxStyle.Critical) + ClassLogger.Add("Error in Format_GridColumns: " & ex.Message, True) + Return Nothing + End Try + + End Function End Class diff --git a/app/DD-Record-Organiser/Class_DOC_SEARCH.vb b/app/DD-Record-Organiser/Class_DOC_SEARCH.vb index b23d06c..1f98759 100644 --- a/app/DD-Record-Organiser/Class_DOC_SEARCH.vb +++ b/app/DD-Record-Organiser/Class_DOC_SEARCH.vb @@ -183,26 +183,26 @@ Public Class Class_DOC_SEARCH NewRow = DTGrid.NewRow() 'Icon zuweisen - Select Case extension - Case ".csv" + Select Case extension.ToUpper + Case ".csv".ToUpper NewRow.Item(0) = My.Resources.doc_excel_csv - Case ".txt" + Case ".txt".ToUpper NewRow.Item(0) = My.Resources.text - Case ".pdf" + Case ".pdf".ToUpper NewRow.Item(0) = My.Resources.pdf - Case ".doc" + Case ".doc".ToUpper NewRow.Item(0) = My.Resources.doc - Case ".docx" + Case ".docx".ToUpper NewRow.Item(0) = My.Resources.doc - Case ".xls" + Case ".xls".ToUpper NewRow.Item(0) = My.Resources.xls - Case ".xlsx" + Case ".xlsx".ToUpper NewRow.Item(0) = My.Resources.xls - Case ".ppt" + Case ".ppt".ToUpper NewRow.Item(0) = My.Resources.ppt - Case ".pptx" + Case ".pptx".ToUpper NewRow.Item(0) = My.Resources.ppt - Case ".dwg" + Case ".dwg".ToUpper NewRow.Item(0) = My.Resources.dwg Case Else NewRow.Item(0) = My.Resources._blank diff --git a/app/DD-Record-Organiser/frmAbout.Designer.vb b/app/DD-Record-Organiser/frmAbout.Designer.vb index 4c64cfd..0c9c4ac 100644 --- a/app/DD-Record-Organiser/frmAbout.Designer.vb +++ b/app/DD-Record-Organiser/frmAbout.Designer.vb @@ -35,6 +35,7 @@ Partial Class frmAbout Me.PictureBox1 = New System.Windows.Forms.PictureBox() Me.Label1 = New System.Windows.Forms.Label() Me.PictureBox2 = New System.Windows.Forms.PictureBox() + Me.lbldatabase = New System.Windows.Forms.Label() CType(Me.PictureBox1, System.ComponentModel.ISupportInitialize).BeginInit() CType(Me.PictureBox2, System.ComponentModel.ISupportInitialize).BeginInit() Me.SuspendLayout() @@ -98,11 +99,17 @@ Partial Class frmAbout Me.PictureBox2.Name = "PictureBox2" Me.PictureBox2.TabStop = False ' + 'lbldatabase + ' + resources.ApplyResources(Me.lbldatabase, "lbldatabase") + Me.lbldatabase.Name = "lbldatabase" + ' 'frmAbout ' resources.ApplyResources(Me, "$this") Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font Me.CancelButton = Me.OKButton + Me.Controls.Add(Me.lbldatabase) Me.Controls.Add(Me.Label1) Me.Controls.Add(Me.PictureBox2) Me.Controls.Add(Me.LinkLabel2) @@ -134,5 +141,6 @@ Partial Class frmAbout Friend WithEvents LinkLabel2 As System.Windows.Forms.LinkLabel Friend WithEvents Label1 As System.Windows.Forms.Label Friend WithEvents PictureBox2 As System.Windows.Forms.PictureBox + Friend WithEvents lbldatabase As System.Windows.Forms.Label End Class diff --git a/app/DD-Record-Organiser/frmAbout.resx b/app/DD-Record-Organiser/frmAbout.resx index df4ca63..6ae15a5 100644 --- a/app/DD-Record-Organiser/frmAbout.resx +++ b/app/DD-Record-Organiser/frmAbout.resx @@ -141,7 +141,7 @@ $this - 8 + 9 True @@ -171,7 +171,7 @@ $this - 7 + 8 True @@ -198,13 +198,13 @@ $this - 6 + 7 True - 278, 58 + 278, 53 40, 13 @@ -225,10 +225,10 @@ $this - 5 + 6 - 281, 85 + 281, 104 True @@ -238,7 +238,7 @@ Vertical - 260, 103 + 260, 84 5 @@ -253,7 +253,7 @@ $this - 4 + 5 True @@ -280,7 +280,7 @@ $this - 3 + 4 True @@ -307,7 +307,7 @@ $this - 2 + 3 Zoom @@ -331,7 +331,7 @@ $this - 9 + 10 True @@ -364,7 +364,7 @@ $this - 0 + 1 NoControl @@ -391,7 +391,37 @@ $this - 1 + 2 + + + True + + + NoControl + + + 278, 73 + + + 40, 13 + + + 10 + + + Label1 + + + lbldatabase + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 0 True diff --git a/app/DD-Record-Organiser/frmAbout.vb b/app/DD-Record-Organiser/frmAbout.vb index fa5e8ce..09a4843 100644 --- a/app/DD-Record-Organiser/frmAbout.vb +++ b/app/DD-Record-Organiser/frmAbout.vb @@ -16,6 +16,13 @@ Me.lblVersion.Text = String.Format("Version {0}", My.Application.Info.Version.ToString) Me.lblCompanyName.Text = My.Application.Info.CompanyName Me.txtDescription.Text = My.Application.Info.Description + Dim version = ClassDatabase.Execute_Scalar("SELECT PRODUCT_VERSION FROM TBDD_MODULES WHERE UPPER(NAME) = UPPER('Record-Organizer')") + If Not IsNothing(version) Then + Me.lbldatabase.Text = String.Format("Database-Version: {0}", version.ToString) + Else + Me.lbldatabase.Text = "Could not read database-version" + End If + End Sub Private Sub OKButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles OKButton.Click Me.Close() @@ -28,4 +35,8 @@ System.Diagnostics.Process.Start("http://www.didalog.de/support") LinkLabel2.LinkVisited = True End Sub + + Private Sub Label2_Click(sender As Object, e As EventArgs) Handles lbldatabase.Click + + End Sub End Class diff --git a/app/DD-Record-Organiser/frmConstructor_Main.vb b/app/DD-Record-Organiser/frmConstructor_Main.vb index 9b0c088..372eecb 100644 --- a/app/DD-Record-Organiser/frmConstructor_Main.vb +++ b/app/DD-Record-Organiser/frmConstructor_Main.vb @@ -266,22 +266,27 @@ Public Class frmConstructor_Main "FROM VWPMO_CONSTRUCTOR_FORMS WHERE SCREEN_ID = {2} AND CONSTRUCT_ID = {3} ORDER BY SEQUENCE", USER_LANGUAGE, CURRENT_SCREEN_ID, CURRENT_SCREEN_ID, CONSTRUCTORID) DT_VWPMO_CONSTRUCTOR_FORMS = ClassDatabase.Return_Datatable(SQL) - SQL = String.Format("select * from TBPMO_STRUCTURE_NODES where ENTITY_ID IN (SELECT FORM_ID FROM VWPMO_CONSTRUCTOR_FORMS WHERE CONSTRUCT_ID = {0})", CONSTRUCTORID) + SQL = String.Format("select * from VWPMO_STRUCTURE_NODES where ENTITY_ID IN (SELECT FORM_ID FROM VWPMO_CONSTRUCTOR_FORMS WHERE CONSTRUCT_ID = {0})", CONSTRUCTORID) Dim DT As DataTable = ClassDatabase.Return_Datatable(SQL) If DT.Rows.Count > 1 Then TreeView_perControl = True DT_TREEVIEW_PER_CONTROLS = DT SQL = String.Format("select * from TBPMO_STRUCTURE_NODES_CONFIGURATION where ENTITY_ID IN (SELECT FORM_ID FROM VWPMO_CONSTRUCTOR_FORMS WHERE CONSTRUCT_ID = {0})", CONSTRUCTORID) DT_TREEVIEW_CONFIGURATION = ClassDatabase.Return_Datatable(SQL) - + Try TREEVIEW_IMAGELIST = New ImageList For Each row As DataRow In DT_TREEVIEW_CONFIGURATION.Rows - Dim bimage() As Byte = row.Item("NODE_IMAGE") - If Not IsDBNull(bimage) Then - Dim Node_image = ByteArrayToBitmap(bimage) - TREEVIEW_IMAGELIST.Images.Add("LEVEL#ENTITY" & row.Item("TYPE_NODE").ToString & row.Item("ENTITY_ID"), Node_image) - End If + Try + Dim bimage = row.Item("NODE_IMAGE") + If Not IsDBNull(bimage) Then + Dim Node_image = ByteArrayToBitmap(bimage) + TREEVIEW_IMAGELIST.Images.Add("LEVEL#ENTITY" & row.Item("TYPE_NODE").ToString & row.Item("ENTITY_ID"), Node_image) + End If + Catch ex As Exception + + End Try + Next TreeViewMain.ImageList = TREEVIEW_IMAGELIST Catch ex As Exception @@ -289,11 +294,11 @@ Public Class frmConstructor_Main End Try - Me.SplitContainerTop.Panel1.Controls.Remove(Me.TreeViewMain) - Me.SplitContainer1.Panel1.Controls.Add(Me.TreeViewMain) - SplitContainer1.Collapsed = False - SplitContainer1.PanelVisibility = SplitPanelVisibility.Both - SplitContainerTop.Collapsed = True + Me.SplitContainerTop.Panel1.Controls.Remove(Me.TreeViewMain) + Me.SplitContainer1.Panel1.Controls.Add(Me.TreeViewMain) + SplitContainer1.Collapsed = False + SplitContainer1.PanelVisibility = SplitPanelVisibility.Both + SplitContainerTop.Collapsed = True SplitContainerTop.PanelVisibility = SplitPanelVisibility.Panel2 SplitContainerMain.Collapsed = True NODE_NAVIGATION = True @@ -314,7 +319,7 @@ Public Class frmConstructor_Main "GROUP BY T1.ENTITY_ID,T.GUID,T.TITLE,T.MANUALLY,T.CREATE_ON_REC_CREATE,T.CREATE_ON_FOLL_UP" DT_WORKFLOWS_MANUAL = ClassDatabase.Return_Datatable(sql_ResultList) Load_Tree_View(CONSTRUCTORID) - + FORM_LOADED = True Dim elapsed As Double elapsed = sw.Elapsed.TotalSeconds @@ -322,8 +327,8 @@ Public Class frmConstructor_Main sw.Reset() If LogErrorsOnly = False Then ClassLogger.Add(" >> Form Load took " & Format(elapsed, "0.000000000") & " seconds", False) Catch ex As System.Exception - MsgBox("Error while Loading Form part 2" & vbNewLine & ex.Message, MsgBoxStyle.Critical) - 'System.Windows.Forms.MessageBox.Show(ex.Message) + MsgBox("Error in Loading Form part 2" & vbNewLine & ex.Message, MsgBoxStyle.Critical) + System.Windows.Forms.MessageBox.Show(ex.Message) End Try Me.Cursor = Cursors.Default End Sub @@ -1139,7 +1144,7 @@ Public Class frmConstructor_Main If NODE_NAVIGATION = True Then Dim SelectedNode As TreeNode = TryCast(TreeViewMain.SelectedNode, TreeNode) If SelectedNode IsNot Nothing Then - If LogErrorsOnly = False Then ClassLogger.Add(" >> NodeTag: " & SelectedNode.Tag.ToString, False) + Update_Status_Label(True, SelectedNode.Tag) If SelectedNode.Tag.ToString.Contains("RECORD-ID") Then Dim Record = Return_RECORD_forTag(SelectedNode.Tag) If Record <> 0 Then @@ -1192,15 +1197,15 @@ Public Class frmConstructor_Main Dim ID = foundRowsLevel0(i)("GUID") Dim LevelEntity = foundRowsLevel0(i)("ENTITY_ID") Dim controlID = foundRowsLevel0(i)("CONTROL_ID") - Dim nodetext = foundRowsLevel0(i)("ID2") + Dim nodetext = foundRowsLevel0(i)("NODE_CAPTION") Dim Type_node = foundRowsLevel0(i)("TYPE_NODE") Dim RECORD_ID = foundRowsLevel0(i)("RECORD_ID") Dim LEVEL0_NODE As TreeNode LEVEL0_NODE = New TreeNode(nodetext) If Not IsDBNull(RECORD_ID) Then - LEVEL0_NODE.Tag = LevelEntity & "CONTROL-ID" & controlID.ToString & "#" & ID & "#RECORD-ID" & RECORD_ID.ToString + LEVEL0_NODE.Tag = LevelEntity & " - CONTROL-ID" & controlID.ToString & "#" & ID & "#RECORD-ID" & RECORD_ID.ToString Else - LEVEL0_NODE.Tag = LevelEntity & "CONTROL-ID" & controlID.ToString & "#" & ID + LEVEL0_NODE.Tag = LevelEntity & " - CONTROL-ID" & controlID.ToString & "#" & ID End If Dim index As Integer = 0 @@ -1223,16 +1228,16 @@ Public Class frmConstructor_Main Dim ID1 = foundRowsLevel1(j)("GUID") Dim LevelEntity1 = foundRowsLevel1(j)("ENTITY_ID") Dim controlID1 = foundRowsLevel1(j)("CONTROL_ID") - Dim nodetext1 = foundRowsLevel1(j)("ID2") - Dim Type_node1 = foundRowsLevel1(i)("TYPE_NODE") - RECORD_ID = foundRowsLevel1(i)("RECORD_ID") + Dim nodetext1 = foundRowsLevel1(j)("NODE_CAPTION") + Dim Type_node1 = foundRowsLevel1(j)("TYPE_NODE") + RECORD_ID = foundRowsLevel1(j)("RECORD_ID") ' Node erstellen.. Dim LEVEL1_NODE As TreeNode LEVEL1_NODE = New TreeNode(nodetext1) If Not IsDBNull(RECORD_ID) Then - LEVEL1_NODE.Tag = LevelEntity1 & "CONTROL-ID" & controlID1.ToString & "#" & ID1 & "#RECORD-ID" & RECORD_ID.ToString + LEVEL1_NODE.Tag = LevelEntity1 & "-CONTROL-ID" & controlID1.ToString & "#" & ID1 & "#RECORD-ID" & RECORD_ID.ToString Else - LEVEL1_NODE.Tag = LevelEntity1 & "CONTROL-ID" & controlID1.ToString & "#" & ID1 + LEVEL1_NODE.Tag = LevelEntity1 & "-CONTROL-ID" & controlID1.ToString & "#" & ID1 End If index = 0 @@ -1256,15 +1261,15 @@ Public Class frmConstructor_Main Dim ID2 = foundRowsLevel2(k)("GUID") Dim LevelEntity2 = foundRowsLevel2(k)("ENTITY_ID") Dim controlID2 = foundRowsLevel2(k)("CONTROL_ID") - Dim nodetext2 = foundRowsLevel2(k)("ID2") + Dim nodetext2 = foundRowsLevel2(k)("NODE_CAPTION") RECORD_ID = foundRowsLevel2(k)("RECORD_ID") ' Node erstellen.. Dim LEVEL2_NODE As TreeNode LEVEL2_NODE = New TreeNode(nodetext2) If Not IsDBNull(RECORD_ID) Then - LEVEL2_NODE.Tag = LevelEntity2 & "CONTROL-ID" & controlID2.ToString & "#" & ID2 & "#RECORD-ID" & RECORD_ID.ToString + LEVEL2_NODE.Tag = LevelEntity2 & "-CONTROL-ID" & controlID2.ToString & "#" & ID2 & "#RECORD-ID" & RECORD_ID.ToString Else - LEVEL2_NODE.Tag = LevelEntity2 & "CONTROL-ID" & controlID2.ToString & "#" & ID2 + LEVEL2_NODE.Tag = LevelEntity2 & "-CONTROL-ID" & controlID2.ToString & "#" & ID2 End If index = 0 @@ -1288,15 +1293,15 @@ Public Class frmConstructor_Main Dim ID3 = foundRowsLevel3(l)("GUID") Dim LevelEntity3 = foundRowsLevel3(l)("ENTITY_ID") Dim controlID3 = foundRowsLevel3(l)("CONTROL_ID") - Dim nodetext3 = foundRowsLevel3(l)("ID2") + Dim nodetext3 = foundRowsLevel3(l)("NODE_CAPTION") RECORD_ID = foundRowsLevel3(l)("RECORD_ID") ' Node erstellen.. Dim LEVEL3_NODE As TreeNode LEVEL3_NODE = New TreeNode(nodetext3) If Not IsDBNull(RECORD_ID) Then - LEVEL3_NODE.Tag = LevelEntity3 & "CONTROL-ID" & controlID3.ToString & "#" & ID3 & "#RECORD-ID" & RECORD_ID.ToString + LEVEL3_NODE.Tag = LevelEntity3 & "-CONTROL-ID" & controlID3.ToString & "#" & ID3 & "#RECORD-ID" & RECORD_ID.ToString Else - LEVEL3_NODE.Tag = LevelEntity3 & "CONTROL-ID" & controlID3.ToString & "#" & ID3 + LEVEL3_NODE.Tag = LevelEntity3 & "-CONTROL-ID" & controlID3.ToString & "#" & ID3 End If index = 0 @@ -1320,15 +1325,15 @@ Public Class frmConstructor_Main Dim ID5 = foundRowsLevel4(m)("GUID") Dim LevelEntity5 = foundRowsLevel4(m)("ENTITY_ID") Dim controlID5 = foundRowsLevel4(m)("CONTROL_ID") - Dim nodetext5 = foundRowsLevel4(m)("ID2") + Dim nodetext5 = foundRowsLevel4(m)("NODE_CAPTION") RECORD_ID = foundRowsLevel4(m)("RECORD_ID") ' Node erstellen.. Dim LEVEL4_NODE As TreeNode LEVEL4_NODE = New TreeNode(nodetext5) If Not IsDBNull(RECORD_ID) Then - LEVEL4_NODE.Tag = LevelEntity5 & "CONTROL-ID" & controlID5.ToString & "#" & ID5 & "#RECORD-ID" & RECORD_ID.ToString + LEVEL4_NODE.Tag = LevelEntity5 & "-CONTROL-ID" & controlID5.ToString & "#" & ID5 & "#RECORD-ID" & RECORD_ID.ToString Else - LEVEL4_NODE.Tag = LevelEntity5 & "CONTROL-ID" & controlID5.ToString & "#" & ID5 + LEVEL4_NODE.Tag = LevelEntity5 & "-CONTROL-ID" & controlID5.ToString & "#" & ID5 End If index = 0 @@ -1352,15 +1357,15 @@ Public Class frmConstructor_Main Dim ID6 = foundRowsLevel5(n)("GUID") Dim LevelEntity6 = foundRowsLevel5(n)("ENTITY_ID") Dim controlID6 = foundRowsLevel5(n)("CONTROL_ID") - Dim nodetext6 = foundRowsLevel5(n)("ID2") + Dim nodetext6 = foundRowsLevel5(n)("NODE_CAPTION") RECORD_ID = foundRowsLevel5(n)("RECORD_ID") ' Node erstellen.. Dim LEVEL5_NODE As TreeNode LEVEL5_NODE = New TreeNode(nodetext6) If Not IsDBNull(RECORD_ID) Then - LEVEL5_NODE.Tag = LevelEntity6 & "CONTROL-ID" & controlID6.ToString & "#" & ID6 & "#RECORD-ID" & RECORD_ID.ToString + LEVEL5_NODE.Tag = LevelEntity6 & "-CONTROL-ID" & controlID6.ToString & "#" & ID6 & "#RECORD-ID" & RECORD_ID.ToString Else - LEVEL5_NODE.Tag = LevelEntity6 & "CONTROL-ID" & controlID6.ToString & "#" & ID6 + LEVEL5_NODE.Tag = LevelEntity6 & "-CONTROL-ID" & controlID6.ToString & "#" & ID6 End If index = 0 @@ -1374,7 +1379,6 @@ Public Class frmConstructor_Main LEVEL5_NODE.SelectedImageIndex = index ' ..und einfügen LEVEL4_NODE.Nodes.Add(LEVEL5_NODE) - '##### '### LEVEL 5 laden ####### Dim expressionLevel6 As String expressionLevel6 = "TYPE_NODE = 6 AND PARENT_GUID = " & ID6 'Einschränkung auf Type und Parent_Guid @@ -1385,15 +1389,15 @@ Public Class frmConstructor_Main Dim ID7 = foundRowsLevel6(o)("GUID") Dim LevelEntity7 = foundRowsLevel6(o)("ENTITY_ID") Dim controlID7 = foundRowsLevel6(o)("CONTROL_ID") - Dim nodetext7 = foundRowsLevel6(o)("ID2") + Dim nodetext7 = foundRowsLevel6(o)("NODE_CAPTION") RECORD_ID = foundRowsLevel6(o)("RECORD_ID") ' Node erstellen.. Dim LEVEL6_NODE As TreeNode LEVEL6_NODE = New TreeNode(nodetext7) If Not IsDBNull(RECORD_ID) Then - LEVEL6_NODE.Tag = LevelEntity7 & "CONTROL-ID" & controlID7.ToString & "#" & ID7 & "#RECORD-ID" & RECORD_ID.ToString + LEVEL6_NODE.Tag = LevelEntity7 & "-CONTROL-ID" & controlID7.ToString & "#" & ID7 & "#RECORD-ID" & RECORD_ID.ToString Else - LEVEL6_NODE.Tag = LevelEntity7 & "CONTROL-ID" & controlID7.ToString & "#" & ID7 + LEVEL6_NODE.Tag = LevelEntity7 & "-CONTROL-ID" & controlID7.ToString & "#" & ID7 End If index = 0 @@ -1407,8 +1411,74 @@ Public Class frmConstructor_Main LEVEL6_NODE.SelectedImageIndex = index ' ..und einfügen LEVEL5_NODE.Nodes.Add(LEVEL6_NODE) - '##### - Next + '### LEVEL 7 laden ####### + Dim expressionLevel7 As String + expressionLevel7 = "TYPE_NODE = 7 AND PARENT_GUID = " & ID7 'Einschränkung auf Type und Parent_Guid + Dim foundRowsLevel7() As DataRow + foundRowsLevel7 = DT_TREEVIEW_PER_CONTROLS.Select(expressionLevel7) + Dim p As Integer + For p = 0 To foundRowsLevel7.GetUpperBound(0) + Dim ID8 = foundRowsLevel7(p)("GUID") + Dim LevelEntity8 = foundRowsLevel7(p)("ENTITY_ID") + Dim controlID8 = foundRowsLevel7(p)("CONTROL_ID") + Dim nodetext8 = foundRowsLevel7(p)("NODE_CAPTION") + RECORD_ID = foundRowsLevel7(p)("RECORD_ID") + ' Node erstellen.. + Dim LEVEL7_NODE As TreeNode + LEVEL7_NODE = New TreeNode(nodetext8) + If Not IsDBNull(RECORD_ID) Then + LEVEL7_NODE.Tag = LevelEntity8 & "-CONTROL-ID" & controlID8.ToString & "#" & ID8 & "#RECORD-ID" & RECORD_ID.ToString + Else + LEVEL7_NODE.Tag = LevelEntity8 & "-CONTROL-ID" & controlID8.ToString & "#" & ID8 + End If + + index = 0 + For Each img As String In TREEVIEW_IMAGELIST.Images.Keys + If img.Replace("LEVEL#ENTITY", "") = "6" & LevelEntity8.ToString Then + Exit For + End If + index += 1 + Next + LEVEL7_NODE.ImageIndex = index + LEVEL7_NODE.SelectedImageIndex = index + ' ..und einfügen + LEVEL6_NODE.Nodes.Add(LEVEL7_NODE) + '### LEVEL 7 laden ####### + Dim expressionLevel8 As String + expressionLevel8 = "TYPE_NODE = 7 AND PARENT_GUID = " & ID7 'Einschränkung auf Type und Parent_Guid + Dim foundRowsLevel8() As DataRow + foundRowsLevel8 = DT_TREEVIEW_PER_CONTROLS.Select(expressionLevel8) + Dim q As Integer + For q = 0 To foundRowsLevel8.GetUpperBound(0) + Dim ID9 = foundRowsLevel8(q)("GUID") + Dim LevelEntity9 = foundRowsLevel8(q)("ENTITY_ID") + Dim controlID9 = foundRowsLevel8(q)("CONTROL_ID") + Dim nodetext9 = foundRowsLevel8(q)("NODE_CAPTION") + RECORD_ID = foundRowsLevel8(q)("RECORD_ID") + ' Node erstellen.. + Dim LEVEL8_NODE As TreeNode + LEVEL8_NODE = New TreeNode(nodetext9) + If Not IsDBNull(RECORD_ID) Then + LEVEL8_NODE.Tag = LevelEntity9 & "-CONTROL-ID" & controlID9.ToString & "#" & ID9 & "#RECORD-ID" & RECORD_ID.ToString + Else + LEVEL8_NODE.Tag = LevelEntity9 & "-CONTROL-ID" & controlID9.ToString & "#" & ID9 + End If + + index = 0 + For Each img As String In TREEVIEW_IMAGELIST.Images.Keys + If img.Replace("LEVEL#ENTITY", "") = "6" & LevelEntity9.ToString Then + Exit For + End If + index += 1 + Next + LEVEL8_NODE.ImageIndex = index + LEVEL8_NODE.SelectedImageIndex = index + ' ..und einfügen + LEVEL7_NODE.Nodes.Add(LEVEL8_NODE) + '### LEVEL 8 laden ####### + Next ' Level 7 Ende + Next ' Level 7 Ende + Next ' Level 6 Ende Next ' Level 5 Ende Next 'Level 4 Ende Next 'Level 3 Ende @@ -1508,6 +1578,8 @@ Public Class frmConstructor_Main Try Dim _index = NodeString.IndexOf("C") Dim Entity = NodeString.Substring(0, _index) + Entity = Entity.Replace("-", "") + Entity = Entity.Replace("#", "") Return Entity Catch ex As Exception ClassLogger.Add("Unexpected Error in Return_ENTITY_FOR_TAG ('" & NodeString & "'): " & ex.Message, True) @@ -3066,75 +3138,15 @@ Public Class frmConstructor_Main If GRID_TYPE = GridType.Tiles Then CreateTile() Else - ' Alle Checkboxen für aktuelle Ansicht heraussuchen - Dim sqlcheck As String = "SELECT COL_NAME FROM TBPMO_CONTROL WHERE CONTROL_TYPE_ID in (10,11) AND FORM_ID = " & ENTITY_ID - Dim sqldate As String = "SELECT COL_NAME FROM TBPMO_CONTROL WHERE CONTROL_TYPE_ID = 4 AND FORM_ID = " & ENTITY_ID - Dim dtcheck As DataTable = ClassDatabase.Return_Datatable(sqlcheck) - Dim dtdate As DataTable = ClassDatabase.Return_Datatable(sqldate) - Dim listcheck As New List(Of String) - Dim listdate As New List(Of String) - 'Liste von allen Spaltentiteln mit Checkbox erstellen - If dtcheck.Rows.Count > 0 Then - For Each row As DataRow In dtcheck.Rows - listcheck.Add(row.Item(0)) - Next - End If - 'Liste von allen Spaltentiteln mit Date erstellen - If dtdate.Rows.Count > 0 Then - For Each row As DataRow In dtdate.Rows - listdate.Add(row.Item(0)) - Next - End If - 'Duplikate entfernen - ' listcheck = listcheck.Distinct().ToList() - 'Grid leeren Clear_Grid_View() 'Databinding Neu + Dim listcheck As List(Of String) = ClassHelper.Return_listcheck(ENTITY_ID) + Dim listdate As List(Of String) = ClassHelper.Return_listdate(ENTITY_ID) - Dim tbltemp As DataTable = DT_SELECTION.Clone() - For Each col As String In listdate - Dim colDate As DataColumn = tbltemp.Columns(col) - If Not IsNothing(colDate) Then - colDate.DataType = GetType(Date) - End If - - Next - For Each col1 As String In listcheck - Dim collist As DataColumn = tbltemp.Columns(col1) - If Not IsNothing(collist) Then - collist.DataType = GetType(Boolean) - End If - Next - Try - tbltemp.Load(DT_SELECTION.CreateDataReader) - DT_SELECTION = tbltemp - Catch ex As Exception - ClassLogger.Add(">> Attention: Could not load converted datatable: " & ex.Message, False) - 'Tabelle wird ohne Datekonvertierung geladen - Dim DTEntity As DataTable = ClassDatabase.Return_Datatable(_ENTITYSQL, "Load_Entity_Data_Only") - Dim primaryKey(1) As DataColumn - primaryKey(0) = DTEntity.Columns("Record-ID") - DTEntity.PrimaryKey = primaryKey - DT_SELECTION = DTEntity - End Try - - BindingSource_Entity.DataSource = DT_SELECTION + BindingSource_Entity.DataSource = ClassHelper.Format_GridColumns(DT_SELECTION, _ENTITYSQL, listcheck, listdate) GridControlMain.DataSource = BindingSource_Entity - - ' Den Editor Initialisieren und Optionen setzen - Dim CheckBoxEditorForDisplay = New RepositoryItemCheckEdit() - CheckBoxEditorForDisplay.ValueChecked = 1 - CheckBoxEditorForDisplay.ValueUnchecked = 0 - - ' Alle Checkbox Spalten durchgehen und CheckBoxEditor zuweisen - 'For Each col As String In listcheck - ' grvwGrid.GridControl.RepositoryItems.Add(CheckBoxEditorForDisplay) - ' If Not IsNothing(grvwGrid.Columns(col)) Then - ' grvwGrid.Columns(col).ColumnEdit = CheckBoxEditorForDisplay - ' End If - 'Next ' Alle Date Spalten durchgehen For Each col As String In listdate Dim colDate = grvwGrid.Columns(col) @@ -3142,11 +3154,19 @@ Public Class frmConstructor_Main colDate.DisplayFormat.FormatString = USER_DATE_FORMAT Next Try - grvwGrid.GridControl.RepositoryItems.Add(CheckBoxEditorForDisplay) - grvwGrid.Columns("files?").ColumnEdit = CheckBoxEditorForDisplay + grvwGrid.Columns("AddedWhen").DisplayFormat.FormatType = FormatType.DateTime + grvwGrid.Columns("AddedWhen").DisplayFormat.FormatString = USER_DATE_FORMAT & " HH:MM:ss" + grvwGrid.Columns("ChangedWhen").DisplayFormat.FormatType = FormatType.DateTime + grvwGrid.Columns("ChangedWhen").DisplayFormat.FormatString = USER_DATE_FORMAT & " HH:MM:ss" Catch ex As Exception - ClassLogger.Add(">> Attention: Column files? not existing in GridView?", False) + End Try + 'Try + ' grvwGrid.GridControl.RepositoryItems.Add(CheckBoxEditorForDisplay) + ' grvwGrid.Columns("files?").ColumnEdit = CheckBoxEditorForDisplay + 'Catch ex As Exception + ' ClassLogger.Add(">> Attention: Column files? not existing in GridView?", False) + 'End Try 'grvwGrid.Columns("Record-ID").OptionsColumn.AllowShowHide = False End If @@ -3403,7 +3423,7 @@ Public Class frmConstructor_Main Dim ComboColumns As DataTable = ClassDatabase.Return_Datatable(SQL) ' Alle Checkboxen für aktuelle Ansicht heraussuchen - Dim sqlcheck As String = "SELECT CONTROL_COLUMN FROM VWPMO_VALUES WHERE CONTROL_TYPE_ID in (10,11) AND FORM_ID = " & formId + Dim sqlcheck As String = "SELECT COL_NAME FROM TBPMO_CONTROL WHERE CONTROL_TYPE_ID in (10,11) AND FORM_ID = " & formId Dim dtcheck As DataTable = ClassDatabase.Return_Datatable(sqlcheck) Dim listcheck As New List(Of String) @@ -4265,39 +4285,102 @@ Public Class frmConstructor_Main tslblWindreamView.Text = msg If DT_RESULT.Rows.Count > 0 Then - GridControlDocSearch.DataSource = DT_RESULT - ' Größe der Icon Column anpassen - GridViewDoc_Search.Columns.Item("ICON").MaxWidth = 24 - GridViewDoc_Search.Columns.Item("ICON").MinWidth = 24 - GridViewDoc_Search.Columns.Item("FULLPATH").Visible = False - GridViewDoc_Search.Columns.Item("OBJECTTYPE").Visible = False - GridViewDoc_Search.Columns.Item("DocID").Visible = False Dim listcheck As New List(Of String) + Dim listdate As New List(Of String) For Each rw As DataRow In DT_WINDREAM_RESULTLIST.Rows - Dim Width = rw.Item("WIDTH") 'DT_WINDREAM_RESULTLIST.Rows(0).Item(String.Format("{0}_WIDTH", col.ColumnName)) - If Not IsNothing(Width) And Not IsDBNull(Width) Then - Dim column = DirectCast(GridViewDoc_Search.Columns.Item(rw.Item("HEADER_CAPTION")), DevExpress.XtraGrid.Columns.GridColumn) - column.Width = Width - Console.WriteLine("ColumnWidth {0} set to {1}", column.FieldName, Width) - Console.WriteLine("ColumnWidth {0} really set to {1}", column.FieldName, column.VisibleWidth) - End If + ' Dim Width = rw.Item("WIDTH") 'DT_WINDREAM_RESULTLIST.Rows(0).Item(String.Format("{0}_WIDTH", col.ColumnName)) + ' If Not IsNothing(Width) And Not IsDBNull(Width) Then + 'Dim column = DirectCast(GridViewDoc_Search.Columns.Item(rw.Item("HEADER_CAPTION")), DevExpress.XtraGrid.Columns.GridColumn) + 'column.Width = Width + 'Console.WriteLine("ColumnWidth {0} set to {1}", column.FieldName, Width) + 'Console.WriteLine("ColumnWidth {0} really set to {1}", column.FieldName, column.VisibleWidth) + 'End If 'Liste von allen Spaltentiteln mit Checkbox erstellen If rw.Item("TYPE_ID") = 2 And CBool(rw.Item("VISIBLE")) = True Then listcheck.Add(rw.Item("HEADER_CAPTION")) End If + 'Liste von allen Spaltentiteln mit Checkbox erstellen + If rw.Item("TYPE_ID") = 3 And CBool(rw.Item("VISIBLE")) = True Then + listdate.Add(rw.Item("HEADER_CAPTION")) + End If + Next + + Dim tbltemp As DataTable = DT_RESULT.Clone() + For Each col1 As String In listcheck + Dim collist As DataColumn = tbltemp.Columns(col1) + If Not IsNothing(collist) Then + collist.DataType = GetType(Boolean) + End If Next - ' Den Editor Initialisieren und Optionen setzen - Dim CheckBoxEditorForDisplay = New RepositoryItemCheckEdit() - CheckBoxEditorForDisplay.ValueChecked = "True" - CheckBoxEditorForDisplay.ValueUnchecked = "False" - 'Alle Checkbox Spalten durchgehen und CheckBoxEditor zuweisen - For Each col As String In listcheck - GridViewDoc_Search.GridControl.RepositoryItems.Add(CheckBoxEditorForDisplay) - If Not IsNothing(GridViewDoc_Search.Columns(col)) Then - GridViewDoc_Search.Columns(col).ColumnEdit = CheckBoxEditorForDisplay + For Each col1 As String In listdate + Dim coldate As DataColumn = tbltemp.Columns(col1) + If Not IsNothing(coldate) Then + coldate.DataType = GetType(Date) End If Next + Try + tbltemp.Load(DT_RESULT.CreateDataReader) + DT_RESULT = tbltemp + Catch ex As Exception + ClassLogger.Add(">> Attention: Could not load converted datatable DocSearch: " & ex.Message, False) + End Try + GridControlDocSearch.DataSource = DT_RESULT + ' Alle Date Spalten durchgehen + For Each col As String In listdate + Dim colDate = GridViewDoc_Search.Columns(col) + colDate.DisplayFormat.FormatType = FormatType.DateTime + colDate.DisplayFormat.FormatString = USER_DATE_FORMAT + Next + 'Jetzt die Spaltenbreiten anpassen + For Each rw As DataRow In DT_WINDREAM_RESULTLIST.Rows + Dim Width = rw.Item("WIDTH") 'DT_WINDREAM_RESULTLIST.Rows(0).Item(String.Format("{0}_WIDTH", col.ColumnName)) + If Not IsNothing(Width) And Not IsDBNull(Width) Then + Dim column = DirectCast(GridViewDoc_Search.Columns.Item(rw.Item("HEADER_CAPTION")), DevExpress.XtraGrid.Columns.GridColumn) + column.Width = Width + 'Console.WriteLine("ColumnWidth {0} set to {1}", column.FieldName, Width) + 'Console.WriteLine("ColumnWidth {0} really set to {1}", column.FieldName, column.VisibleWidth) + End If + + + Next + + ' Größe der Icon Column anpassen + GridViewDoc_Search.Columns.Item("ICON").MaxWidth = 24 + GridViewDoc_Search.Columns.Item("ICON").MinWidth = 24 + GridViewDoc_Search.Columns.Item("FULLPATH").Visible = False + GridViewDoc_Search.Columns.Item("OBJECTTYPE").Visible = False + GridViewDoc_Search.Columns.Item("DocID").Visible = False + Dim changed = "Geändert" + Dim created = "Erstellt" + + If USER_LANGUAGE <> "de-DE" Then + changed = "Changed" + created = "Created" + End If + Try + GridViewDoc_Search.Columns(created).DisplayFormat.FormatType = FormatType.DateTime + GridViewDoc_Search.Columns(created).DisplayFormat.FormatString = USER_DATE_FORMAT & " HH:MM:ss" + GridViewDoc_Search.Columns(changed).DisplayFormat.FormatType = FormatType.DateTime + GridViewDoc_Search.Columns(changed).DisplayFormat.FormatString = USER_DATE_FORMAT & " HH:MM:ss" + Catch ex As Exception + ClassLogger.Add(">> Attention: Could not change datetime formats Change/Create: " & ex.Message, False) + End Try + + + + + '' Den Editor Initialisieren und Optionen setzen + 'Dim CheckBoxEditorForDisplay = New RepositoryItemCheckEdit() + 'CheckBoxEditorForDisplay.ValueChecked = "True" + 'CheckBoxEditorForDisplay.ValueUnchecked = "False" + ''Alle Checkbox Spalten durchgehen und CheckBoxEditor zuweisen + 'For Each col As String In listcheck + ' GridViewDoc_Search.GridControl.RepositoryItems.Add(CheckBoxEditorForDisplay) + ' If Not IsNothing(GridViewDoc_Search.Columns(col)) Then + ' GridViewDoc_Search.Columns(col).ColumnEdit = CheckBoxEditorForDisplay + ' End If + 'Next 'grvwGrid.Columns("Record-ID").OptionsColumn.AllowShowHide = False If TCDetails.SelectedTabPageIndex <> 1 Then @@ -4494,7 +4577,6 @@ Public Class frmConstructor_Main End If If TCDetails.SelectedTabPage.Text.ToLower.StartsWith("windr") Then If RIGHT_WINDREAM_FORBIDDEN = False Then - Load_DocGrid_Layout() tsButtonEdit.Enabled = False If RECORD_ID = 0 Then Dim result As MsgBoxResult @@ -4512,6 +4594,7 @@ Public Class frmConstructor_Main ' RUN_WD_SEARCH(WD_Suche, "RECORD") RUN_WDSEARCH_GRID("RECORD") End If + Load_DocGrid_Layout() End If End If If TCDetails.SelectedTabPage.Text.ToLower.StartsWith("wieder") Or TCDetails.SelectedTabPage.Text.ToLower.StartsWith("follo") Then