diff --git a/app/DD_PM_WINDREAM/ClassAllgemeineFunktionen.vb b/app/DD_PM_WINDREAM/ClassAllgemeineFunktionen.vb
index 5f3266c..c296840 100644
--- a/app/DD_PM_WINDREAM/ClassAllgemeineFunktionen.vb
+++ b/app/DD_PM_WINDREAM/ClassAllgemeineFunktionen.vb
@@ -205,7 +205,7 @@ Public Class ClassAllgemeineFunktionen
Do While Check_File_exists(_Ziel, clsWD) = True
Dim neuername As String = Stammname & "~" & version & extension
_Ziel = neuername
- version = version + 1
+ version += 1
Loop
My.Computer.FileSystem.MoveFile(vMove_File, _Ziel)
LOGGER.Info("Datei erfolgreich verschoben - Ziel: " & _Ziel)
diff --git a/app/DD_PM_WINDREAM/My Project/licenses.licx b/app/DD_PM_WINDREAM/My Project/licenses.licx
index a593206..41c69df 100644
--- a/app/DD_PM_WINDREAM/My Project/licenses.licx
+++ b/app/DD_PM_WINDREAM/My Project/licenses.licx
@@ -1,6 +1,10 @@
-DevExpress.XtraEditors.Repository.RepositoryItemComboBox, DevExpress.XtraEditors.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+DevExpress.XtraEditors.LookUpEdit, DevExpress.XtraEditors.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+DevExpress.XtraEditors.CheckEdit, DevExpress.XtraEditors.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraBars.Ribbon.RibbonControl, DevExpress.XtraBars.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+DevExpress.XtraLayout.LayoutControl, DevExpress.XtraLayout.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+DevExpress.XtraEditors.TextEdit, DevExpress.XtraEditors.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraEditors.Repository.RepositoryItemProgressBar, DevExpress.XtraEditors.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-DevExpress.XtraGrid.GridControl, DevExpress.XtraGrid.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-DevExpress.XtraNavBar.NavBarControl, DevExpress.XtraNavBar.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+DevExpress.XtraEditors.Repository.RepositoryItemComboBox, DevExpress.XtraEditors.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraBars.BarManager, DevExpress.XtraBars.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+DevExpress.XtraNavBar.NavBarControl, DevExpress.XtraNavBar.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+DevExpress.XtraGrid.GridControl, DevExpress.XtraGrid.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
diff --git a/app/DD_PM_WINDREAM/frmColumn_Detail.Designer.vb b/app/DD_PM_WINDREAM/frmColumn_Detail.Designer.vb
index 7a375c2..f660b46 100644
--- a/app/DD_PM_WINDREAM/frmColumn_Detail.Designer.vb
+++ b/app/DD_PM_WINDREAM/frmColumn_Detail.Designer.vb
@@ -37,6 +37,7 @@ Partial Class frmColumn_Detail
Me.RibbonStatusBar1 = New DevExpress.XtraBars.Ribbon.RibbonStatusBar()
Me.RibbonPage2 = New DevExpress.XtraBars.Ribbon.RibbonPage()
Me.LayoutControl1 = New DevExpress.XtraLayout.LayoutControl()
+ Me.LU_CAPTIONTextBox = New System.Windows.Forms.TextBox()
Me.TYPE_COLUMNComboBox = New System.Windows.Forms.ComboBox()
Me.GUIDTextBox = New DevExpress.XtraEditors.TextEdit()
Me.SPALTENNAMETextBox = New DevExpress.XtraEditors.TextEdit()
@@ -73,6 +74,7 @@ Partial Class frmColumn_Detail
Me.LayoutControlItem11 = New DevExpress.XtraLayout.LayoutControlItem()
Me.LayoutControlItem13 = New DevExpress.XtraLayout.LayoutControlItem()
Me.LayoutControlGroup1 = New DevExpress.XtraLayout.LayoutControlGroup()
+ Me.LayoutControlItem16 = New DevExpress.XtraLayout.LayoutControlItem()
Me.LayoutControlItem14 = New DevExpress.XtraLayout.LayoutControlItem()
Me.LayoutControlItem15 = New DevExpress.XtraLayout.LayoutControlItem()
Me.LayoutControlItem17 = New DevExpress.XtraLayout.LayoutControlItem()
@@ -80,9 +82,7 @@ Partial Class frmColumn_Detail
Me.LayoutControlItem18 = New DevExpress.XtraLayout.LayoutControlItem()
Me.LayoutControlItem19 = New DevExpress.XtraLayout.LayoutControlItem()
Me.LayoutControlItem22 = New DevExpress.XtraLayout.LayoutControlItem()
- Me.LU_CAPTIONTextBox = New System.Windows.Forms.TextBox()
Me.LayoutControlItem23 = New DevExpress.XtraLayout.LayoutControlItem()
- Me.LayoutControlItem16 = New DevExpress.XtraLayout.LayoutControlItem()
CType(Me.TBPM_CONTROL_TABLEBindingSource, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.DD_DMSLiteDataSet, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.RibbonControl1, System.ComponentModel.ISupportInitialize).BeginInit()
@@ -121,6 +121,7 @@ Partial Class frmColumn_Detail
CType(Me.LayoutControlItem11, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.LayoutControlItem13, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.LayoutControlGroup1, System.ComponentModel.ISupportInitialize).BeginInit()
+ CType(Me.LayoutControlItem16, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.LayoutControlItem14, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.LayoutControlItem15, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.LayoutControlItem17, System.ComponentModel.ISupportInitialize).BeginInit()
@@ -129,7 +130,6 @@ Partial Class frmColumn_Detail
CType(Me.LayoutControlItem19, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.LayoutControlItem22, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.LayoutControlItem23, System.ComponentModel.ISupportInitialize).BeginInit()
- CType(Me.LayoutControlItem16, System.ComponentModel.ISupportInitialize).BeginInit()
Me.SuspendLayout()
'
'TBPM_CONTROL_TABLEBindingSource
@@ -252,6 +252,12 @@ Partial Class frmColumn_Detail
Me.LayoutControl1.Name = "LayoutControl1"
Me.LayoutControl1.Root = Me.Root
'
+ 'LU_CAPTIONTextBox
+ '
+ Me.LU_CAPTIONTextBox.DataBindings.Add(New System.Windows.Forms.Binding("Text", Me.TBPM_CONTROL_TABLEBindingSource, "LU_CAPTION", True))
+ resources.ApplyResources(Me.LU_CAPTIONTextBox, "LU_CAPTIONTextBox")
+ Me.LU_CAPTIONTextBox.Name = "LU_CAPTIONTextBox"
+ '
'TYPE_COLUMNComboBox
'
Me.TYPE_COLUMNComboBox.DataBindings.Add(New System.Windows.Forms.Binding("Text", Me.TBPM_CONTROL_TABLEBindingSource, "TYPE_COLUMN", True))
@@ -575,6 +581,15 @@ Partial Class frmColumn_Detail
Me.LayoutControlGroup1.Size = New System.Drawing.Size(553, 156)
resources.ApplyResources(Me.LayoutControlGroup1, "LayoutControlGroup1")
'
+ 'LayoutControlItem16
+ '
+ Me.LayoutControlItem16.Control = Me.VALIDATIONCheckbox
+ Me.LayoutControlItem16.Location = New System.Drawing.Point(0, 0)
+ Me.LayoutControlItem16.Name = "LayoutControlItem16"
+ Me.LayoutControlItem16.Size = New System.Drawing.Size(264, 24)
+ Me.LayoutControlItem16.TextSize = New System.Drawing.Size(0, 0)
+ Me.LayoutControlItem16.TextVisible = False
+ '
'LayoutControlItem14
'
Me.LayoutControlItem14.Control = Me.READ_ONLYCheckBox
@@ -641,12 +656,6 @@ Partial Class frmColumn_Detail
Me.LayoutControlItem22.Size = New System.Drawing.Size(553, 41)
Me.LayoutControlItem22.TextSize = New System.Drawing.Size(112, 13)
'
- 'LU_CAPTIONTextBox
- '
- Me.LU_CAPTIONTextBox.DataBindings.Add(New System.Windows.Forms.Binding("Text", Me.TBPM_CONTROL_TABLEBindingSource, "LU_CAPTION", True))
- resources.ApplyResources(Me.LU_CAPTIONTextBox, "LU_CAPTIONTextBox")
- Me.LU_CAPTIONTextBox.Name = "LU_CAPTIONTextBox"
- '
'LayoutControlItem23
'
Me.LayoutControlItem23.Control = Me.LU_CAPTIONTextBox
@@ -657,15 +666,6 @@ Partial Class frmColumn_Detail
Me.LayoutControlItem23.Size = New System.Drawing.Size(553, 40)
Me.LayoutControlItem23.TextSize = New System.Drawing.Size(112, 13)
'
- 'LayoutControlItem16
- '
- Me.LayoutControlItem16.Control = Me.VALIDATIONCheckbox
- Me.LayoutControlItem16.Location = New System.Drawing.Point(0, 0)
- Me.LayoutControlItem16.Name = "LayoutControlItem16"
- Me.LayoutControlItem16.Size = New System.Drawing.Size(264, 24)
- Me.LayoutControlItem16.TextSize = New System.Drawing.Size(0, 0)
- Me.LayoutControlItem16.TextVisible = False
- '
'frmColumn_Detail
'
Me.Appearance.Options.UseFont = True
@@ -680,7 +680,6 @@ Partial Class frmColumn_Detail
Me.Name = "frmColumn_Detail"
Me.Ribbon = Me.RibbonControl1
Me.StatusBar = Me.RibbonStatusBar1
- Me.TopMost = True
CType(Me.TBPM_CONTROL_TABLEBindingSource, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.DD_DMSLiteDataSet, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.RibbonControl1, System.ComponentModel.ISupportInitialize).EndInit()
@@ -719,6 +718,7 @@ Partial Class frmColumn_Detail
CType(Me.LayoutControlItem11, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.LayoutControlItem13, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.LayoutControlGroup1, System.ComponentModel.ISupportInitialize).EndInit()
+ CType(Me.LayoutControlItem16, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.LayoutControlItem14, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.LayoutControlItem15, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.LayoutControlItem17, System.ComponentModel.ISupportInitialize).EndInit()
@@ -727,7 +727,6 @@ Partial Class frmColumn_Detail
CType(Me.LayoutControlItem19, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.LayoutControlItem22, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.LayoutControlItem23, System.ComponentModel.ISupportInitialize).EndInit()
- CType(Me.LayoutControlItem16, System.ComponentModel.ISupportInitialize).EndInit()
Me.ResumeLayout(False)
Me.PerformLayout
diff --git a/app/DD_PM_WINDREAM/frmColumn_Detail.resx b/app/DD_PM_WINDREAM/frmColumn_Detail.resx
index 53bfb88..fa933b7 100644
--- a/app/DD_PM_WINDREAM/frmColumn_Detail.resx
+++ b/app/DD_PM_WINDREAM/frmColumn_Detail.resx
@@ -952,6 +952,12 @@
DevExpress.XtraLayout.LayoutControlGroup, DevExpress.XtraLayout.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+ LayoutControlItem16
+
+
+ DevExpress.XtraLayout.LayoutControlItem, DevExpress.XtraLayout.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
LayoutControlItem14
@@ -1000,12 +1006,6 @@
DevExpress.XtraLayout.LayoutControlItem, DevExpress.XtraLayout.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-
- LayoutControlItem16
-
-
- DevExpress.XtraLayout.LayoutControlItem, DevExpress.XtraLayout.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-
frmColumn_Detail
diff --git a/app/DD_PM_WINDREAM/frmMain.resx b/app/DD_PM_WINDREAM/frmMain.resx
index 1ae2fd1..760ce75 100644
--- a/app/DD_PM_WINDREAM/frmMain.resx
+++ b/app/DD_PM_WINDREAM/frmMain.resx
@@ -125,7 +125,7 @@
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAADw
- CAAAAk1TRnQBSQFMAgEBAgEAAcQBCAHEAQgBEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo
+ CAAAAk1TRnQBSQFMAgEBAgEAAcwBCAHMAQgBEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo
AwABQAMAARADAAEBAQABCAYAAQQYAAGAAgABgAMAAoABAAGAAwABgAEAAYABAAKAAgADwAEAAcAB3AHA
AQAB8AHKAaYBAAEzBQABMwEAATMBAAEzAQACMwIAAxYBAAMcAQADIgEAAykBAANVAQADTQEAA0IBAAM5
AQABgAF8Af8BAAJQAf8BAAGTAQAB1gEAAf8B7AHMAQABxgHWAe8BAAHWAucBAAGQAakBrQIAAf8BMwMA
diff --git a/app/DD_PM_WINDREAM/frmValidator.resx b/app/DD_PM_WINDREAM/frmValidator.resx
index 9cecf0f..d4f5910 100644
--- a/app/DD_PM_WINDREAM/frmValidator.resx
+++ b/app/DD_PM_WINDREAM/frmValidator.resx
@@ -131,31 +131,6 @@
0, 0
-
- Top, Left, Right
-
-
- Segoe UI Symbol, 12pt, style=Bold
-
-
- 3, 4
-
-
- No
-
-
- 433, 29
-
-
-
- 1
-
-
- Label1
-
-
- MiddleLeft
-
TITLELabel1
@@ -168,30 +143,6 @@
0
-
- Bottom, Left, Right
-
-
- Tahoma, 9.75pt
-
-
- MiddleLeft
-
-
- 7, 454
-
-
- 3, 4, 3, 4
-
-
- 445, 50
-
-
- 11
-
-
- Validierung speichern - Nächstes Dokument
-
btnSave
@@ -204,21 +155,6 @@
1
-
- Top, Left, Right
-
-
- 5, 33
-
-
- 447, 48
-
-
- 1
-
-
- Label3
-
DESCRIPTIONLabel
@@ -231,24 +167,6 @@
2
-
- Top, Bottom, Left, Right
-
-
- True
-
-
- 8, 85
-
-
- 3, 4, 3, 4
-
-
- 444, 361
-
-
- 18
-
PanelValidatorControl
@@ -273,6 +191,7 @@
455, 511
+
24
@@ -319,7 +238,7 @@
DocumentViewerValidator
- DigitalData.Controls.DocumentViewer.DocumentViewer, DigitalData.Controls.DocumentViewer, Version=1.7.0.1, Culture=neutral, PublicKeyToken=null
+ DigitalData.Controls.DocumentViewer.DocumentViewer, DigitalData.Controls.DocumentViewer, Version=1.8.0.0, Culture=neutral, PublicKeyToken=null
SplitContainer1.Panel2
@@ -441,6 +360,135 @@
0
+
+ Top, Left, Right
+
+
+ Segoe UI Symbol, 12pt, style=Bold
+
+
+ 3, 4
+
+
+ No
+
+
+ 433, 29
+
+
+ 1
+
+
+ Label1
+
+
+ MiddleLeft
+
+
+ TITLELabel1
+
+
+ System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ Panel1
+
+
+ 0
+
+
+ Bottom, Left, Right
+
+
+ Tahoma, 9.75pt
+
+
+ MiddleLeft
+
+
+ 7, 454
+
+
+ 3, 4, 3, 4
+
+
+ 445, 50
+
+
+ 11
+
+
+ Validierung speichern - Nächstes Dokument
+
+
+ btnSave
+
+
+ System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ Panel1
+
+
+ 1
+
+
+ Top, Left, Right
+
+
+ 5, 33
+
+
+ 447, 48
+
+
+ 1
+
+
+ Label3
+
+
+ DESCRIPTIONLabel
+
+
+ System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ Panel1
+
+
+ 2
+
+
+ Top, Bottom, Left, Right
+
+
+ True
+
+
+ 8, 85
+
+
+ 3, 4, 3, 4
+
+
+ 444, 361
+
+
+ 18
+
+
+ PanelValidatorControl
+
+
+ System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ Panel1
+
+
+ 3
+
17, 17
@@ -1029,43 +1077,9 @@
0, 0
-
- Aktionen
-
-
- Beendete Konversationen
-
-
- Funktionen
-
Konversationen
-
- Datei
-
-
- Aktionen
-
-
- Anhänge zu Beleg
-
-
-
- iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m
- dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAALdEVYdFRpdGxlAEluZm87bRIthgAAAVxJREFUWEfF
- l7FxwzAMRT2Bq4yjPp1nyAAZxNu4dZkt0rnLCm4ZPF+gg5LPCLJko3h3Ovn/T5gCSWnXWitF3nwm48Uw
- DHPsjYNxNM7Gxbj+wDX3+A0NWpUxsqSAF+Pd+DBaErR48KrMdAGvxslQg2TAS8af7EwBb8anoYKXQAZZ
- k/y5AjB8GSrwHsiaFPFfAUzZFv/8N2SOj6NXAE2z5pnPQfatMXsF0LnKuCWMIQtg7aaXmvuCX+oEjLF3
- XwxgA1EGifuCX+o6HNwXA9jFlFjivuCXug5H98UAtlIllrgv+KWuw9l9MYD9XIkl7gt+qetwcV8M4FBR
- Yon7gl/qOlzdFwPKCyh/BOVNWL4MF21EK5EbUflWDOnDyH3BL3WC7mEE5ccxlL6QOKWvZA6GLWaCjMng
- kCkAmLI1PYF3nPZItgCgaejc9BI10OK5NZxiSQHOYz/NqpA3n0fbfQM/tJcKTygMggAAAABJRU5ErkJg
- gg==
-
-
-
- Information
-
Start
@@ -1993,6 +2007,39 @@
Zoom
+
+
+ AAEAAAD/////AQAAAAAAAAAMAgAAAFpEZXZFeHByZXNzLlV0aWxzLnYyMS4yLCBWZXJzaW9uPTIxLjIu
+ NC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI4OGQxNzU0ZDcwMGU0OWEMAwAAAFlE
+ ZXZFeHByZXNzLkRhdGEudjIxLjIsIFZlcnNpb249MjEuMi40LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVi
+ bGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURldkV4cHJlc3MuVXRpbHMuU3VwZXJUb29s
+ VGlwBwAAAA1BbGxvd0h0bWxUZXh0EUZpeGVkVG9vbFRpcFdpZHRoCkl0ZW1zQ291bnQJaXRlbVR5cGUw
+ BWl0ZW0wCWl0ZW1UeXBlMQVpdGVtMQQAAAQEBAQfRGV2RXhwcmVzcy5VdGlscy5EZWZhdWx0Qm9vbGVh
+ bgMAAAABCCVEZXZFeHByZXNzLlV0aWxzLlN1cGVyVG9vbFRpcEl0ZW1UeXBlAgAAACFEZXZFeHByZXNz
+ LlV0aWxzLlRvb2xUaXBUaXRsZUl0ZW0CAAAAJURldkV4cHJlc3MuVXRpbHMuU3VwZXJUb29sVGlwSXRl
+ bVR5cGUCAAAAHERldkV4cHJlc3MuVXRpbHMuVG9vbFRpcEl0ZW0CAAAAAgAAAAX8////H0RldkV4cHJl
+ c3MuVXRpbHMuRGVmYXVsdEJvb2xlYW4BAAAAB3ZhbHVlX18ACAMAAAACAAAAAAIAAAAF+////yVEZXZF
+ eHByZXNzLlV0aWxzLlN1cGVyVG9vbFRpcEl0ZW1UeXBlAQAAAAd2YWx1ZV9fAAgCAAAAAQAAAAkGAAAA
+ Afn////7////AAAAAAkIAAAADAkAAABRU3lzdGVtLkRyYXdpbmcsIFZlcnNpb249NC4wLjAuMCwgQ3Vs
+ dHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iMDNmNWY3ZjExZDUwYTNhBQYAAAAhRGV2RXhwcmVz
+ cy5VdGlscy5Ub29sVGlwVGl0bGVJdGVtBwAAAA1BbGxvd0h0bWxUZXh0BEljb24MSW1hZ2VPcHRpb25z
+ CkxlZnRJbmRlbnQITWF4V2lkdGgST3duZXJBbGxvd0h0bWxUZXh0BFRleHQEBAQAAAABH0RldkV4cHJl
+ c3MuVXRpbHMuRGVmYXVsdEJvb2xlYW4DAAAAE1N5c3RlbS5EcmF3aW5nLkljb24JAAAAKERldkV4cHJl
+ c3MuVXRpbHMuVG9vbFRpcEl0ZW1JbWFnZU9wdGlvbnMCAAAACAgBAgAAAAH2/////P///wIAAAAKCQsA
+ AAAAAAAAPAEAAAAGDAAAAARab29tBQgAAAAcRGV2RXhwcmVzcy5VdGlscy5Ub29sVGlwSXRlbQcAAAAN
+ QWxsb3dIdG1sVGV4dARJY29uDEltYWdlT3B0aW9ucwpMZWZ0SW5kZW50CE1heFdpZHRoEk93bmVyQWxs
+ b3dIdG1sVGV4dARUZXh0BAQEAAAAAR9EZXZFeHByZXNzLlV0aWxzLkRlZmF1bHRCb29sZWFuAwAAABNT
+ eXN0ZW0uRHJhd2luZy5JY29uCQAAAChEZXZFeHByZXNzLlV0aWxzLlRvb2xUaXBJdGVtSW1hZ2VPcHRp
+ b25zAgAAAAgIAQIAAAAB8/////z///8CAAAACgkOAAAAAAAAADwBAAAABg8AAAApw4RuZGVybiBkZXIg
+ Wm9vbS1TdHVmZSBkZXMgUERGLURva3VtZW50cy4FCwAAAChEZXZFeHByZXNzLlV0aWxzLlRvb2xUaXBJ
+ dGVtSW1hZ2VPcHRpb25zBQAAAAhJbWFnZVVyaQxTdmdJbWFnZVNpemUJQWxpZ25tZW50CkltYWdlSW5k
+ ZXgTSW1hZ2VUb1RleHREaXN0YW5jZQEEBAAAE1N5c3RlbS5EcmF3aW5nLlNpemUJAAAAJkRldkV4cHJl
+ c3MuVXRpbHMuVG9vbFRpcEltYWdlQWxpZ25tZW50AgAAAAgIAgAAAAYQAAAAAAXv////E1N5c3RlbS5E
+ cmF3aW5nLlNpemUCAAAABXdpZHRoBmhlaWdodAAACAgJAAAAAAAAAAAAAAAF7v///yZEZXZFeHByZXNz
+ LlV0aWxzLlRvb2xUaXBJbWFnZUFsaWdubWVudAEAAAAHdmFsdWVfXwAIAgAAAAAAAAD/////DgAAAAEO
+ AAAACwAAAAkQAAAAAe3////v////AAAAAAAAAAAB7P///+7///8AAAAA/////w4AAAAL
+
+
10%
@@ -2035,39 +2082,6 @@
sichtbare einpassen
-
-
- AAEAAAD/////AQAAAAAAAAAMAgAAAFpEZXZFeHByZXNzLlV0aWxzLnYyMS4yLCBWZXJzaW9uPTIxLjIu
- NC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI4OGQxNzU0ZDcwMGU0OWEMAwAAAFlE
- ZXZFeHByZXNzLkRhdGEudjIxLjIsIFZlcnNpb249MjEuMi40LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVi
- bGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURldkV4cHJlc3MuVXRpbHMuU3VwZXJUb29s
- VGlwBwAAAA1BbGxvd0h0bWxUZXh0EUZpeGVkVG9vbFRpcFdpZHRoCkl0ZW1zQ291bnQJaXRlbVR5cGUw
- BWl0ZW0wCWl0ZW1UeXBlMQVpdGVtMQQAAAQEBAQfRGV2RXhwcmVzcy5VdGlscy5EZWZhdWx0Qm9vbGVh
- bgMAAAABCCVEZXZFeHByZXNzLlV0aWxzLlN1cGVyVG9vbFRpcEl0ZW1UeXBlAgAAACFEZXZFeHByZXNz
- LlV0aWxzLlRvb2xUaXBUaXRsZUl0ZW0CAAAAJURldkV4cHJlc3MuVXRpbHMuU3VwZXJUb29sVGlwSXRl
- bVR5cGUCAAAAHERldkV4cHJlc3MuVXRpbHMuVG9vbFRpcEl0ZW0CAAAAAgAAAAX8////H0RldkV4cHJl
- c3MuVXRpbHMuRGVmYXVsdEJvb2xlYW4BAAAAB3ZhbHVlX18ACAMAAAACAAAAAAIAAAAF+////yVEZXZF
- eHByZXNzLlV0aWxzLlN1cGVyVG9vbFRpcEl0ZW1UeXBlAQAAAAd2YWx1ZV9fAAgCAAAAAQAAAAkGAAAA
- Afn////7////AAAAAAkIAAAADAkAAABRU3lzdGVtLkRyYXdpbmcsIFZlcnNpb249NC4wLjAuMCwgQ3Vs
- dHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iMDNmNWY3ZjExZDUwYTNhBQYAAAAhRGV2RXhwcmVz
- cy5VdGlscy5Ub29sVGlwVGl0bGVJdGVtBwAAAA1BbGxvd0h0bWxUZXh0BEljb24MSW1hZ2VPcHRpb25z
- CkxlZnRJbmRlbnQITWF4V2lkdGgST3duZXJBbGxvd0h0bWxUZXh0BFRleHQEBAQAAAABH0RldkV4cHJl
- c3MuVXRpbHMuRGVmYXVsdEJvb2xlYW4DAAAAE1N5c3RlbS5EcmF3aW5nLkljb24JAAAAKERldkV4cHJl
- c3MuVXRpbHMuVG9vbFRpcEl0ZW1JbWFnZU9wdGlvbnMCAAAACAgBAgAAAAH2/////P///wIAAAAKCQsA
- AAAAAAAAPAEAAAAGDAAAAARab29tBQgAAAAcRGV2RXhwcmVzcy5VdGlscy5Ub29sVGlwSXRlbQcAAAAN
- QWxsb3dIdG1sVGV4dARJY29uDEltYWdlT3B0aW9ucwpMZWZ0SW5kZW50CE1heFdpZHRoEk93bmVyQWxs
- b3dIdG1sVGV4dARUZXh0BAQEAAAAAR9EZXZFeHByZXNzLlV0aWxzLkRlZmF1bHRCb29sZWFuAwAAABNT
- eXN0ZW0uRHJhd2luZy5JY29uCQAAAChEZXZFeHByZXNzLlV0aWxzLlRvb2xUaXBJdGVtSW1hZ2VPcHRp
- b25zAgAAAAgIAQIAAAAB8/////z///8CAAAACgkOAAAAAAAAADwBAAAABg8AAAApw4RuZGVybiBkZXIg
- Wm9vbS1TdHVmZSBkZXMgUERGLURva3VtZW50cy4FCwAAAChEZXZFeHByZXNzLlV0aWxzLlRvb2xUaXBJ
- dGVtSW1hZ2VPcHRpb25zBQAAAAhJbWFnZVVyaQxTdmdJbWFnZVNpemUJQWxpZ25tZW50CkltYWdlSW5k
- ZXgTSW1hZ2VUb1RleHREaXN0YW5jZQEEBAAAE1N5c3RlbS5EcmF3aW5nLlNpemUJAAAAJkRldkV4cHJl
- c3MuVXRpbHMuVG9vbFRpcEltYWdlQWxpZ25tZW50AgAAAAgIAgAAAAYQAAAAAAXv////E1N5c3RlbS5E
- cmF3aW5nLlNpemUCAAAABXdpZHRoBmhlaWdodAAACAgJAAAAAAAAAAAAAAAF7v///yZEZXZFeHByZXNz
- LlV0aWxzLlRvb2xUaXBJbWFnZUFsaWdubWVudAEAAAAHdmFsdWVfXwAIAgAAAAAAAAD/////DgAAAAEO
- AAAACwAAAAkQAAAAAe3////v////AAAAAAAAAAAB7P///+7///8AAAAA/////w4AAAAL
-
-
BarButtonItem1
@@ -2080,6 +2094,40 @@
1029, 17
+
+ Funktionen
+
+
+ Aktionen
+
+
+ Beendete Konversationen
+
+
+ Datei
+
+
+ Aktionen
+
+
+ Anhänge zu Beleg
+
+
+
+ iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m
+ dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAALdEVYdFRpdGxlAEluZm87bRIthgAAAVxJREFUWEfF
+ l7FxwzAMRT2Bq4yjPp1nyAAZxNu4dZkt0rnLCm4ZPF+gg5LPCLJko3h3Ovn/T5gCSWnXWitF3nwm48Uw
+ DHPsjYNxNM7Gxbj+wDX3+A0NWpUxsqSAF+Pd+DBaErR48KrMdAGvxslQg2TAS8af7EwBb8anoYKXQAZZ
+ k/y5AjB8GSrwHsiaFPFfAUzZFv/8N2SOj6NXAE2z5pnPQfatMXsF0LnKuCWMIQtg7aaXmvuCX+oEjLF3
+ XwxgA1EGifuCX+o6HNwXA9jFlFjivuCXug5H98UAtlIllrgv+KWuw9l9MYD9XIkl7gt+qetwcV8M4FBR
+ Yon7gl/qOlzdFwPKCyh/BOVNWL4MF21EK5EbUflWDOnDyH3BL3WC7mEE5ccxlL6QOKWvZA6GLWaCjMng
+ kCkAmLI1PYF3nPZItgCgaejc9BI10OK5NZxiSQHOYz/NqpA3n0fbfQM/tJcKTygMggAAAABJRU5ErkJg
+ gg==
+
+
+
+ Information
+
RibbonPage2
diff --git a/app/DD_PM_WINDREAM/frmValidator.vb b/app/DD_PM_WINDREAM/frmValidator.vb
index e8c6d3b..e504b34 100644
--- a/app/DD_PM_WINDREAM/frmValidator.vb
+++ b/app/DD_PM_WINDREAM/frmValidator.vb
@@ -8,6 +8,7 @@ Imports DigitalData.Controls.LookupGrid
Imports DevExpress.XtraGrid
Imports DevExpress.XtraGrid.Views.Grid
Imports DigitalData.Modules.Language.Utils
+Imports DigitalData.Modules.Language
Imports DigitalData.Modules.EDMI.API.DatabaseWithFallback
Imports DigitalData.Modules.EDMI.API.Constants
Imports DevExpress.XtraBars
@@ -15,6 +16,7 @@ Imports DigitalData.GUIs.Common.DocumentResultList
Imports DigitalData.Modules.ZooFlow
Imports DigitalData.Modules.ZooFlow.Constants
Imports DigitalData.GUIs.Common
+Imports DevExpress.XtraGrid.Columns
Public Class frmValidator
Private Property Current_Document As DocumentResultList.Document = Nothing
@@ -3772,7 +3774,7 @@ Public Class frmValidator
LOGGER.Debug("frmValidation_Shown finished!")
End Sub
- Private Sub btnSave_Click(sender As System.Object, e As System.EventArgs) Handles btnSave.Click
+ Private Sub btnSave_Click(sender As Object, e As EventArgs) Handles btnSave.Click
btnSave.Enabled = False
' TODO: Use when working on Validation
@@ -3800,7 +3802,7 @@ Public Class frmValidator
Continue For
End If
- If oView.UpdateCurrentRow() = False Then
+ If DoCellValidation(oView) = False Then
oValidation = False
End If
@@ -3814,6 +3816,28 @@ Public Class frmValidator
Return True
End Function
+ Private Function DoCellValidation(pView As GridView) As Boolean
+ For i As Integer = 0 To pView.DataRowCount - 1
+ Dim oRowHandle = i
+
+ pView.FocusedRowHandle = oRowHandle
+
+ For Each oColumn As GridColumn In pView.Columns
+ pView.FocusedColumn = oColumn
+
+ If pView.PostEditor() = True Then
+ If pView.UpdateCurrentRow() = False Then
+ Return False
+ End If
+ Else
+ Return False
+ End If
+ Next
+ Next
+
+ Return True
+ End Function
+
Private Function btnFinish_continue()
Try
Dim oSQL = PROFIL_FINISH_SQL
@@ -5074,130 +5098,147 @@ Public Class frmValidator
End Try
Case "DevExpress.XtraGrid.GridControl"
- Try
- Dim dgv As GridControl = oControl
+ Dim oGrid As GridControl = oControl
+ Dim oSettings = New ControlSettings() With {
+ .IndexName = oIndexName,
+ .ControlType = Type,
+ .Name = oControlName,
+ .IsRequired = oIsRequired,
+ .IDBAttributeType = oIDBTyp
+ }
+ Dim oGridColumnDefinition As DataTable = DT_COLUMNS_GRID.Clone()
+ Dim oExpression = $"CONTROL_ID = {oControlRow.Item("GUID")}"
+ DT_COLUMNS_GRID.Select(oExpression, "SEQUENCE").CopyToDataTable(oGridColumnDefinition, LoadOption.PreserveChanges)
- Dim oRowCount As Integer = dgv.DataSource.Rows.Count
+ Dim oResult = ValidateGridControl(oGrid, oSettings, oGridColumnDefinition, oMissing, oErrMsgMissingInput)
+ If oResult = False Then
+ Exit For
+ End If
- LOGGER.Debug("Grid Row Count: [{0}]", oRowCount)
+ 'Try
+ ' Dim dgv As GridControl = oControl
- 'Wenn kein Wert ausgewählt wurde und der Index aber gesetzt werden muss
- If oIsRequired = True And oRowCount = 0 Then
- oMissing = True
- oErrMsgMissingInput = "Fehlende Eingabe in Tabelle '" & dgv.Name & "'"
- oControl.BackColor = Color.Red
- LOGGER.Warn(oErrMsgMissingInput)
- Exit For
+ ' Dim oRowCount As Integer = dgv.DataSource.Rows.Count
+
+ ' LOGGER.Debug("Grid Row Count: [{0}]", oRowCount)
+
+ ' 'Wenn kein Wert ausgewählt wurde und der Index aber gesetzt werden muss
+ ' If oIsRequired = True And oRowCount = 0 Then
+ ' oMissing = True
+ ' oErrMsgMissingInput = "Fehlende Eingabe in Tabelle '" & dgv.Name & "'"
+ ' oControl.BackColor = Color.Red
+ ' LOGGER.Warn(oErrMsgMissingInput)
+ ' Exit For
- ElseIf oRowCount > 0 Then
- Dim ZeilenGrid As Integer = 0
- Dim myVektorArr As String()
- 'Jeden Werte des Datagridviews durchlaufen
- For Each row As DataRow In dgv.DataSource.Rows
- Dim exists = False
- Select Case oControlType
- Case "TABLE"
- Dim oRowValue = row.Item(0)
- If IsNothing(oRowValue) Then
- oRowValue = String.Empty
- ElseIf IsDBNull(oRowValue) Then
- oRowValue = String.Empty
- End If
- ' MsgBox(row.Cells(0).Value.GetType.ToString)
- Dim str As String = String.Empty
- 'If oRowValue <> String.Empty Then
- 'Das Array anpassen
- ReDim Preserve myVektorArr(ZeilenGrid)
+ ' ElseIf oRowCount > 0 Then
+ ' Dim ZeilenGrid As Integer = 0
+ ' Dim myVektorArr As String()
+ ' 'Jeden Werte des Datagridviews durchlaufen
+ ' For Each oRow As DataRow In dgv.DataSource.Rows
+ ' Dim exists = False
+ ' Select Case oControlType
+ ' Case "TABLE"
+ ' Dim oRowValue = oRow.Item(0)
+ ' If IsNothing(oRowValue) Then
+ ' oRowValue = String.Empty
+ ' ElseIf IsDBNull(oRowValue) Then
+ ' oRowValue = String.Empty
+ ' End If
+ ' ' MsgBox(row.Cells(0).Value.GetType.ToString)
+ ' Dim str As String = String.Empty
+ ' 'If oRowValue <> String.Empty Then
+ ' 'Das Array anpassen
+ ' ReDim Preserve myVektorArr(ZeilenGrid)
- Dim oValueList As New List(Of String)
+ ' Dim oValueList As New List(Of String)
- For Each item In row.ItemArray
- item = NotNull(item, String.Empty)
- If TypeOf item IsNot String Then item.ToString()
- oValueList.Add(item)
- Next
+ ' For Each item In oRow.ItemArray
+ ' item = NotNull(item, String.Empty)
+ ' If TypeOf item IsNot String Then item.ToString()
+ ' oValueList.Add(item)
+ ' Next
- str = String.Join(PMDelimiter, oValueList.ToArray)
+ ' str = String.Join(PMDelimiter, oValueList.ToArray)
- ' 22.10.2021 Attempt at fixing empty lines appearing in indexes
- LOGGER.Debug("Grid Value before saving: [{0}]", str)
- If str.Trim.Length = 0 Or str.Trim.Replace(PMDelimiter, "").Length = 0 Then
- LOGGER.Debug("Empty line in Grid [{0}]. Skipping.", oControlName)
- Continue For
- End If
+ ' ' 22.10.2021 Attempt at fixing empty lines appearing in indexes
+ ' LOGGER.Debug("Grid Value before saving: [{0}]", str)
+ ' If str.Trim.Length = 0 Or str.Trim.Replace(PMDelimiter, "").Length = 0 Then
+ ' LOGGER.Debug("Empty line in Grid [{0}]. Skipping.", oControlName)
+ ' Continue For
+ ' End If
- 'Den Wert im Array speichern
- myVektorArr(ZeilenGrid) = str
- ZeilenGrid += 1
- 'End If
- Case Else
- ' MsgBox(row.Cells(0).Value.GetType.ToString)
- If row.Item(0) Is Nothing = False Then
- 'Das Array anpassen
- ReDim Preserve myVektorArr(ZeilenGrid)
- 'Den Wert im Array speichern
- myVektorArr(ZeilenGrid) = row.Item(0).Value.ToString
- ZeilenGrid += 1
- End If
- End Select
+ ' 'Den Wert im Array speichern
+ ' myVektorArr(ZeilenGrid) = str
+ ' ZeilenGrid += 1
+ ' 'End If
+ ' Case Else
+ ' ' MsgBox(row.Cells(0).Value.GetType.ToString)
+ ' If oRow.Item(0) Is Nothing = False Then
+ ' 'Das Array anpassen
+ ' ReDim Preserve myVektorArr(ZeilenGrid)
+ ' 'Den Wert im Array speichern
+ ' myVektorArr(ZeilenGrid) = oRow.Item(0).Value.ToString
+ ' ZeilenGrid += 1
+ ' End If
+ ' End Select
- Next
+ ' Next
- If IDB_ACTIVE = False Then
- If Indexiere_File(CURRENT_WMFILE, oIndexName, myVektorArr) = False Then
- oMissing = True
- oErrMsgMissingInput = $"Error while indexing table (1) {dgv.Name} - ERROR: " & idxerr_message
- LOGGER.Warn(oErrMsgMissingInput)
- Exit For
- End If
- Else
- Dim oMyDT = DT_FOR_ARRAY(myVektorArr)
- If oMyDT.Rows.Count > 0 Then
- If IDBData.SetVariableValue(oIndexName, oMyDT, True, oIDBTyp) = False Then
- oMissing = True
- oErrMsgMissingInput = $"Error while indexing table IDB (1) {dgv.Name} - ERROR: " & idxerr_message
- LOGGER.Warn(oErrMsgMissingInput)
- Exit For
- End If
- End If
- End If
+ ' If IDB_ACTIVE = False Then
+ ' If Indexiere_File(CURRENT_WMFILE, oIndexName, myVektorArr) = False Then
+ ' oMissing = True
+ ' oErrMsgMissingInput = $"Error while indexing table (1) {dgv.Name} - ERROR: " & idxerr_message
+ ' LOGGER.Warn(oErrMsgMissingInput)
+ ' Exit For
+ ' End If
+ ' Else
+ ' Dim oMyDT = DT_FOR_ARRAY(myVektorArr)
+ ' If oMyDT.Rows.Count > 0 Then
+ ' If IDBData.SetVariableValue(oIndexName, oMyDT, True, oIDBTyp) = False Then
+ ' oMissing = True
+ ' oErrMsgMissingInput = $"Error while indexing table IDB (1) {dgv.Name} - ERROR: " & idxerr_message
+ ' LOGGER.Warn(oErrMsgMissingInput)
+ ' Exit For
+ ' End If
+ ' End If
+ ' End If
- Else
- LOGGER.Debug("Required = False And RowCount > 0")
+ ' Else
+ ' LOGGER.Debug("Required = False And RowCount > 0")
- Dim oValue As New List(Of Object) From {String.Empty}
+ ' Dim oValue As New List(Of Object) From {String.Empty}
- If IDB_ACTIVE = False Then
- If Indexiere_File(CURRENT_WMFILE, oIndexName, oValue.ToArray) = False Then
- oMissing = True
- 'oErrorMessage = "Error while indexing der Tabelle - ERROR: " & idxerr_message
- oErrMsgMissingInput = $"Error while indexing table (2) {dgv.Name} - ERROR: " & idxerr_message
- LOGGER.Warn(oErrMsgMissingInput)
- Exit For
- End If
- Else
- Dim oOldAttributeResult = IDBData.GetVariableValue(oIndexName, oIDBTyp)
- Dim oTypeOldResult = oOldAttributeResult.GetType.ToString
- If oTypeOldResult = "System.Data.DataTable" Then
- Dim oDT As DataTable = IDBData.GetVariableValue(oIndexName, oIDBTyp)
- If oDT.Rows.Count > 0 Then
- LOGGER.Debug("User cleared the grid, so data needs to be erased!")
- IDBData.Delete_AttributeData(CURRENT_DOC_ID, oIndexName)
- End If
- Else
- LOGGER.Debug("(String) User cleared the grid, so data needs to be erased!")
- IDBData.Delete_AttributeData(CURRENT_DOC_ID, oIndexName)
- End If
+ ' If IDB_ACTIVE = False Then
+ ' If Indexiere_File(CURRENT_WMFILE, oIndexName, oValue.ToArray) = False Then
+ ' oMissing = True
+ ' 'oErrorMessage = "Error while indexing der Tabelle - ERROR: " & idxerr_message
+ ' oErrMsgMissingInput = $"Error while indexing table (2) {dgv.Name} - ERROR: " & idxerr_message
+ ' LOGGER.Warn(oErrMsgMissingInput)
+ ' Exit For
+ ' End If
+ ' Else
+ ' Dim oOldAttributeResult = IDBData.GetVariableValue(oIndexName, oIDBTyp)
+ ' Dim oTypeOldResult = oOldAttributeResult.GetType.ToString
+ ' If oTypeOldResult = "System.Data.DataTable" Then
+ ' Dim oDT As DataTable = IDBData.GetVariableValue(oIndexName, oIDBTyp)
+ ' If oDT.Rows.Count > 0 Then
+ ' LOGGER.Debug("User cleared the grid, so data needs to be erased!")
+ ' IDBData.Delete_AttributeData(CURRENT_DOC_ID, oIndexName)
+ ' End If
+ ' Else
+ ' LOGGER.Debug("(String) User cleared the grid, so data needs to be erased!")
+ ' IDBData.Delete_AttributeData(CURRENT_DOC_ID, oIndexName)
+ ' End If
- End If
+ ' End If
- End If
- Catch ex As Exception
- LOGGER.Error(ex)
- End Try
+ ' End If
+ 'Catch ex As Exception
+ ' LOGGER.Error(ex)
+ 'End Try
End Select
End If 'End If für Control und ReadOnly = False
Next
@@ -5226,6 +5267,184 @@ Public Class frmValidator
End Try
End Function
+
+ Private Class ControlSettings
+ Public Name As String
+ Public IsRequired As Boolean
+ Public IndexName As String
+ Public ControlType As String
+ Public IDBAttributeType As Integer
+ End Class
+
+ Private Function ValidateGridControl(pGrid As GridControl, pSettings As ControlSettings, pColumnDefinition As DataTable, ByRef pMissing As Boolean, ByRef pMissingMessage As String) As Boolean
+ Try
+ Dim oRowCount As Integer = pGrid.DataSource.Rows.Count
+
+ LOGGER.Debug("Grid Row Count: [{0}]", oRowCount)
+
+ 'Wenn kein Wert ausgewählt wurde und der Index aber gesetzt werden muss
+ If pSettings.IsRequired = True And oRowCount = 0 Then
+ pMissing = True
+ pMissingMessage = "Fehlende Eingabe in Tabelle '" & pGrid.Name & "'"
+ pGrid.BackColor = Color.Red
+ LOGGER.Warn(pMissingMessage)
+
+ 'Exit For
+ Return False
+
+ End If
+
+ If oRowCount > 0 Then
+
+ Dim oView As GridView = pGrid.FocusedView
+ Dim oDatasource As DataTable = pGrid.DataSource
+ Dim oRowIndex As Integer = 0
+
+ For Each oRow As DataRow In oDatasource.Rows
+ For Each oColumn As DataColumn In oRow.Table.Columns
+
+ Dim oValue = oRow.ItemEx(oColumn.ColumnName, "")
+ Dim oDefinition = pColumnDefinition.AsEnumerable().
+ Where(Function(row) row.Item("SPALTENNAME") = oColumn.ColumnName).
+ FirstOrDefault()
+
+ If oDefinition IsNot Nothing Then
+ Dim oIsRequired = oDefinition.Item("VALIDATION")
+
+ If oIsRequired = True And oValue = String.Empty Then
+
+ ' Translates the visible row index into the internal rowhandle
+ ' they might be different because of sorting
+ Dim oRowHandle = oView.GetRowHandle(oRowIndex)
+
+ oView.FocusedRowHandle = oRowHandle
+ oView.FocusedColumn = oView.Columns.Item(oColumn.ColumnName)
+
+ pMissing = True
+ pMissingMessage = $"Fehlende Eingabe in Tabelle '{pGrid.Name}' in Spalte '{oDefinition.Item("SPALTEN_HEADER")}', Zeile '{oRowHandle + 1}'"
+ Return False
+ End If
+ End If
+ Next
+
+ oRowIndex += 1
+ Next
+
+ Dim ZeilenGrid As Integer = 0
+ Dim myVektorArr As String()
+ 'Jeden Werte des Datagridviews durchlaufen
+ For Each oRow As DataRow In pGrid.DataSource.Rows
+ Dim exists = False
+ Select Case pSettings.ControlType
+ Case "TABLE"
+ Dim oRowValue = oRow.Item(0)
+ If IsNothing(oRowValue) Then
+ oRowValue = String.Empty
+ ElseIf IsDBNull(oRowValue) Then
+ oRowValue = String.Empty
+ End If
+ ' MsgBox(row.Cells(0).Value.GetType.ToString)
+ Dim str As String = String.Empty
+ 'If oRowValue <> String.Empty Then
+ 'Das Array anpassen
+ ReDim Preserve myVektorArr(ZeilenGrid)
+
+ Dim oValueList As New List(Of String)
+
+ For Each item In oRow.ItemArray
+ item = NotNull(item, String.Empty)
+ If TypeOf item IsNot String Then item.ToString()
+ oValueList.Add(item)
+ Next
+
+ str = String.Join(PMDelimiter, oValueList.ToArray)
+
+ ' 22.10.2021 Attempt at fixing empty lines appearing in indexes
+ LOGGER.Debug("Grid Value before saving: [{0}]", str)
+ If str.Trim.Length = 0 Or str.Trim.Replace(PMDelimiter, "").Length = 0 Then
+ LOGGER.Debug("Empty line in Grid [{0}]. Skipping.", pSettings.Name)
+ Continue For
+ End If
+
+ 'Den Wert im Array speichern
+ myVektorArr(ZeilenGrid) = str
+ ZeilenGrid += 1
+ 'End If
+ Case Else
+ ' MsgBox(row.Cells(0).Value.GetType.ToString)
+ If oRow.Item(0) Is Nothing = False Then
+ 'Das Array anpassen
+ ReDim Preserve myVektorArr(ZeilenGrid)
+ 'Den Wert im Array speichern
+ myVektorArr(ZeilenGrid) = oRow.Item(0).Value.ToString
+ ZeilenGrid += 1
+ End If
+ End Select
+
+ Next
+
+
+ If IDB_ACTIVE = False Then
+ If Indexiere_File(CURRENT_WMFILE, pSettings.IndexName, myVektorArr) = False Then
+ pMissing = True
+ pMissingMessage = $"Error while indexing table (1) {pGrid.Name} - ERROR: " & idxerr_message
+ LOGGER.Warn(pMissingMessage)
+ 'Exit For
+ Return False
+ End If
+ Else
+ Dim oMyDT = DT_FOR_ARRAY(myVektorArr)
+ If oMyDT.Rows.Count > 0 Then
+ If IDBData.SetVariableValue(pSettings.IndexName, oMyDT, True, pSettings.IDBAttributeType) = False Then
+ pMissing = True
+ pMissingMessage = $"Error while indexing table IDB (1) {pGrid.Name} - ERROR: " & idxerr_message
+ LOGGER.Warn(pMissingMessage)
+ 'Exit For
+ Return False
+ End If
+ End If
+ End If
+
+
+ Else ' Row Count = 0
+
+ Dim oValue As New List(Of Object) From {String.Empty}
+
+ If IDB_ACTIVE = False Then
+ If Indexiere_File(CURRENT_WMFILE, pSettings.IndexName, oValue.ToArray) = False Then
+ pMissing = True
+ 'oErrorMessage = "Error while indexing der Tabelle - ERROR: " & idxerr_message
+ pMissingMessage = $"Error while indexing table (2) {pGrid.Name} - ERROR: " & idxerr_message
+ LOGGER.Warn(pMissingMessage)
+ 'Exit For
+ Return False
+ End If
+ Else
+ Dim oOldAttributeResult = IDBData.GetVariableValue(pSettings.IndexName, pSettings.IDBAttributeType)
+ Dim oTypeOldResult = oOldAttributeResult.GetType.ToString
+ If oTypeOldResult = "System.Data.DataTable" Then
+ Dim oDT As DataTable = IDBData.GetVariableValue(pSettings.IndexName, pSettings.IDBAttributeType)
+ If oDT.Rows.Count > 0 Then
+ LOGGER.Debug("User cleared the grid, so data needs to be erased!")
+ IDBData.Delete_AttributeData(CURRENT_DOC_ID, pSettings.IndexName)
+ End If
+ Else
+ LOGGER.Debug("(String) User cleared the grid, so data needs to be erased!")
+ IDBData.Delete_AttributeData(CURRENT_DOC_ID, pSettings.IndexName)
+ End If
+
+ End If
+
+ End If
+
+ Return True
+ Catch ex As Exception
+ LOGGER.Error(ex)
+ Return False
+ End Try
+ End Function
+
+
Private Function Indexiere_File(_dok As WINDREAMLib.WMObject, pIndexName As String, pIndexValues As Object) As Boolean
Dim File_indexiert As Boolean = False
idxerr_message = ""