diff --git a/app/DD_PM_WINDREAM/ClassControlCreator.vb b/app/DD_PM_WINDREAM/ClassControlCreator.vb
index 2db4dfc..85e1ee4 100644
--- a/app/DD_PM_WINDREAM/ClassControlCreator.vb
+++ b/app/DD_PM_WINDREAM/ClassControlCreator.vb
@@ -11,6 +11,7 @@ Imports DevExpress.XtraGrid.Columns
Imports DevExpress.XtraGrid.Views.Base
Imports DevExpress.XtraGrid.Views.Grid
Imports DigitalData.Controls.LookupGrid
+Imports DigitalData.GUIs.Common
Public Class ClassControlCreator
@@ -38,7 +39,10 @@ Public Class ClassControlCreator
Public Const PREFIX_LINE = "LINE"
Public Const PREFIX_BUTTON = "BTN"
- Public Shared GridTables As New Dictionary(Of String, Dictionary(Of String, DataTable))
+ '''
+ ''' Saves the column data for each grid and each column in that grid
+ '''
+ Public Shared Property GridTables As New Dictionary(Of Integer, Dictionary(Of String, RepositoryItem))
'''
''' Standard Eigenschaften für alle Controls
@@ -407,8 +411,9 @@ Public Class ClassControlCreator
Return control
End Function
- Public Shared Function CreateExistingGridControl(row As DataRow, DT_MY_COLUMNS As DataTable, designMode As Boolean) As GridControl
+ Public Shared Function CreateExistingGridControl(row As DataRow, DT_MY_COLUMNS As DataTable, designMode As Boolean, pPanel As Panel) As GridControl
Dim oControl As GridControl = CreateBaseControl(New GridControl(), row, designMode)
+ Dim oControlId = DirectCast(oControl.Tag, ControlMetadata).Guid
Dim oDatatable As New DataTable
Dim oView As GridView
@@ -418,9 +423,14 @@ Public Class ClassControlCreator
oView.OptionsView.ShowGroupPanel = False
oControl.ContextMenu = Nothing
+ Dim oGridBuilder As New GridBuilder(oView)
+ oGridBuilder.WithClipboardHandler()
+
If Not designMode Then
oView.OptionsBehavior.Editable = Not row.Item("READ_ONLY")
oView.OptionsBehavior.ReadOnly = row.Item("READ_ONLY")
+ 'oView.OptionsBehavior.EditorShowMode = EditorShowMode.Click
+
oControl.UseEmbeddedNavigator = Not row.Item("READ_ONLY")
' Copy single cell value in CTRL+C instead of whole row
@@ -456,10 +466,10 @@ Public Class ClassControlCreator
End With
- If GridTables.ContainsKey(oControl.Name) Then
- GridTables.Item(oControl.Name).Clear()
+ If GridTables.ContainsKey(oControlId) Then
+ GridTables.Item(oControlId).Clear()
Else
- GridTables.Add(oControl.Name, New Dictionary(Of String, DataTable)())
+ GridTables.Add(oControlId, New Dictionary(Of String, RepositoryItem)())
End If
For Each oRow As DataRow In DT_MY_COLUMNS.Rows
@@ -478,25 +488,27 @@ Public Class ClassControlCreator
Dim oConnectionId As Integer = NotNull(oRow.Item("CONNECTION_ID"), 0)
Dim oSqlCommand As String = NotNull(oRow.Item("SQL_COMMAND"), "")
- If Not clsPatterns.HasComplexPatterns(oSqlCommand) Then
- If oConnectionId > 0 And oSqlCommand <> "" Then
- Try
- Dim oComboboxDataTable As DataTable = ClassDatabase.Return_Datatable_ConId(oSqlCommand, oConnectionId)
+ If oConnectionId > 0 And oSqlCommand <> "" Then
+ Try
+ Dim oComboboxDataTable As DataTable = Nothing
+ Dim oColumnName As String = oRow.Item("SPALTENNAME")
- If oComboboxDataTable Is Nothing Then
- LOGGER.Warn("DataTable for SQL [{0}] is nothing. Possible error on SQL Query.")
- End If
+ If Not clsPatterns.HasComplexPatterns(oSqlCommand) Then
+ oComboboxDataTable = ClassDatabase.Return_Datatable_ConId(oSqlCommand, oConnectionId)
+ End If
- GridTables.Item(oControl.Name).Add(oRow.Item("SPALTENNAME"), oComboboxDataTable)
- 'GridTables.Add(oRow.Item("SPALTENNAME"), oComboboxDataTable)
- Catch ex As Exception
- LOGGER.Warn("Could not load data for column {0} in control {1}", oRow.Item("SPALTENNAME"), oControl.Name)
- LOGGER.Error(ex)
- End Try
- End If
+ Dim oRepositoryItem = GridTables_GetRepositoryItemForColumn(oColumnName, oComboboxDataTable, oRow.Item("ADVANCED_LOOKUP"))
+
+ If GridTables.Item(oControlId).ContainsKey(oColumnName) Then
+ GridTables.Item(oControlId).Item(oColumnName) = oRepositoryItem
+ Else
+ GridTables.Item(oControlId).Add(oColumnName, oRepositoryItem)
+ End If
+ Catch ex As Exception
+ LOGGER.Warn("Could not load data for column {0} in control {1}", oRow.Item("SPALTENNAME"), oControl.Name)
+ LOGGER.Error(ex)
+ End Try
End If
-
-
Next
oView.PopulateColumns(oDatatable)
@@ -515,54 +527,12 @@ Public Class ClassControlCreator
AddHandler oView.CustomRowCellEdit, Sub(sender As Object, e As CustomRowCellEditEventArgs)
Try
For Each oRow As DataRow In DT_MY_COLUMNS.Rows
- If oRow.Item("SPALTENNAME") = e.Column.FieldName Then
- If GridTables.Item(oControl.Name).ContainsKey(e.Column.FieldName) Then
- Dim oComboboxDataTable As DataTable = GridTables.Item(oControl.Name).Item(e.Column.FieldName)
+ Dim oColumnName = oRow.Item("SPALTENNAME")
+ Dim oEditorExists = GridTables_TestEditorExistsByControlAndColumn(oControlId, oColumnName)
- If oComboboxDataTable Is Nothing Then
- Throw New ApplicationException($"ComboboxTable for Column {e.Column.FieldName} is empty.")
- End If
-
- If oRow.Item("ADVANCED_LOOKUP") And oComboboxDataTable IsNot Nothing Then
- Dim oEditor = New RepositoryItemLookupControl3 With {
- .DataSource = oComboboxDataTable,
- .DisplayMember = oComboboxDataTable.Columns.Item(0).ColumnName,
- .ValueMember = oComboboxDataTable.Columns.Item(0).ColumnName
- }
-
-
- 'AddHandler oEditor.SelectedValuesChanged, Sub(_sender As Object, _e As List(Of String))
- ' oView.PostEditor()
- ' End Sub
-
- e.RepositoryItem = oEditor
- Else
- Dim oEditor = New RepositoryItemComboBox()
- Dim oItems As New List(Of String)
-
- AddHandler oEditor.Validating, Sub(_sender As ComboBoxEdit, _e As CancelEventArgs)
- If oItems.Contains(_sender.EditValue) Then
- _e.Cancel = False
- Else
- _e.Cancel = True
- End If
-
- End Sub
- For Each oRow2 As DataRow In oComboboxDataTable.Rows
- Dim oValue = oRow2.Item(0)
-
- Try
- oValue &= $" | {oRow2.Item(1)}"
- Catch ex As Exception
- End Try
-
- oEditor.Items.Add(oValue)
- oItems.Add(oValue)
- Next
-
- e.RepositoryItem = oEditor
- End If
- End If
+ If oColumnName = e.Column.FieldName And oEditorExists Then
+ Dim oEditor = GridTables.Item(oControlId).Item(oColumnName)
+ e.RepositoryItem = oEditor
End If
Next
Catch ex As Exception
@@ -571,57 +541,18 @@ Public Class ClassControlCreator
End Try
End Sub
- 'AddHandler oView.CellValueChanged, Sub(sender As Object, e As CellValueChangedEventArgs)
- ' Console.WriteLine("")
- ' End Sub
+ AddHandler oView.ValidatingEditor, Sub(sender As Object, e As BaseContainerValidateEditorEventArgs)
+ Dim oRow As DataRowView = oView.GetRow(oView.FocusedRowHandle)
+ Dim oColumnName = oView.FocusedColumn.FieldName
- AddHandler oView.ValidateRow, Sub(sender As Object, e As ValidateRowEventArgs)
- Dim oRow As DataRowView = oView.GetRow(oView.FocusedRowHandle)
-
- For Each oCol As DataColumn In oRow.DataView.Table.Columns
- Dim oColumn As DataRow = (From r As DataRow In DT_MY_COLUMNS.Rows
- Where r.Item("SPALTENNAME") = oCol.ColumnName
- Select r).FirstOrDefault()
-
- Dim oGridColumn As GridColumn = (From c As GridColumn In oView.Columns
- Where c.FieldName = oCol.ColumnName
- Select c).FirstOrDefault()
-
- Dim oIsRequired = oColumn.Item("VALIDATION")
- Dim oValue = NotNull(oView.GetRowCellValue(e.RowHandle, oCol.ColumnName), "")
-
- Try
- Dim oRegex = NotNull(oColumn.Item("REGEX_MATCH"), String.Empty)
- Dim oRegexMessage = NotNull(oColumn.Item("REGEX_MESSAGE_DE"), String.Empty)
- If oRegex <> String.Empty Then
- Dim oMatch = New Regex(oRegex).IsMatch(oValue)
- Dim oDefaultMessage = "Wert entspricht nicht dem gefordertem Format!"
- Dim oMessage = IIf(oRegexMessage <> String.Empty, oRegexMessage, oDefaultMessage)
-
- If oMatch = False Then
- oView.SetColumnError(oGridColumn, oMessage)
- e.Valid = False
- Exit For
-
- End If
- End If
- Catch ex As Exception
- LOGGER.Error(ex)
- End Try
-
- If oIsRequired And oValue = "" Then
- oView.SetColumnError(oGridColumn, "Spalte muss ausgefüllt werden!")
- e.Valid = False
- Exit For
-
- End If
- Next
- End Sub
+ GridTables_ValidateColumn(oView, DT_MY_COLUMNS, oColumnName, e.Value, e.Valid, e.ErrorText)
+ End Sub
AddHandler oView.InvalidRowException, Sub(sender As Object, e As InvalidRowExceptionEventArgs)
e.ExceptionMode = ExceptionMode.NoAction
End Sub
+
AddHandler oView.ValidatingEditor, Sub(sender As Object, e As BaseContainerValidateEditorEventArgs)
Dim oValue As String = NotNull(e.Value, "")
@@ -764,4 +695,162 @@ Public Class ClassControlCreator
End Try
End Function
+
+ Public Shared Sub GridTables_CacheDatatableForColumn(pControlId As Object, pColumnName As Object, pSqlStatement As Object, pConnectionId As Integer, pAdvancedLookup As Boolean)
+ Try
+ Dim oTable As DataTable = ClassDatabase.Return_Datatable_ConId(pSqlStatement, pConnectionId)
+
+ ' If no columns for this control have been added, create an empty dict now
+ If Not GridTables.ContainsKey(pControlId) Then
+ GridTables.Add(pControlId, New Dictionary(Of String, RepositoryItem))
+ End If
+
+ Dim oRepositoryItem = GridTables_GetRepositoryItemForColumn(pColumnName, oTable, pAdvancedLookup)
+ Dim oColumnDictionary = GridTables.Item(pControlId)
+
+ If oColumnDictionary.ContainsKey(pColumnName) Then
+ oColumnDictionary.Item(pColumnName) = oRepositoryItem
+ Else
+ oColumnDictionary.Add(pColumnName, oRepositoryItem)
+ End If
+ Catch ex As Exception
+ LOGGER.Error(ex)
+ End Try
+ End Sub
+
+ Public Shared Function GridTables_GetRepositoryItemForColumn(pColumnName As String, pDataTable As DataTable, pIsAdvancedLookup As Boolean) As RepositoryItem
+ If pIsAdvancedLookup Then
+
+ Dim oEditor = New RepositoryItemLookupControl3
+
+ If pDataTable IsNot Nothing Then
+ oEditor.DisplayMember = pDataTable.Columns.Item(0).ColumnName
+ oEditor.ValueMember = pDataTable.Columns.Item(0).ColumnName
+ oEditor.DataSource = pDataTable
+ End If
+
+ Return oEditor
+ Else
+ Dim oEditor = New RepositoryItemComboBox()
+ Dim oItems As New List(Of String)
+
+ AddHandler oEditor.Validating, Sub(_sender As ComboBoxEdit, _e As CancelEventArgs)
+ If oItems.Contains(_sender.EditValue) Then
+ _e.Cancel = False
+ Else
+ _e.Cancel = True
+ End If
+
+ End Sub
+
+ If pDataTable IsNot Nothing Then
+ For Each oRow2 As DataRow In pDataTable.Rows
+ Dim oValue = oRow2.Item(0)
+
+ Try
+ oValue &= $" | {oRow2.Item(1)}"
+ Catch ex As Exception
+ End Try
+
+ oEditor.Items.Add(oValue)
+ oItems.Add(oValue)
+ Next
+ End If
+
+ Return oEditor
+ End If
+ End Function
+
+ Public Shared Sub GridTables_HandleControlValueChange(pControlPanel As Panel, pColumnsWithSqlAndControlPlaceholders As DataTable)
+ If Not IsNothing(pColumnsWithSqlAndControlPlaceholders) AndAlso pColumnsWithSqlAndControlPlaceholders.Rows.Count > 0 Then
+ For Each oRow As DataRow In pColumnsWithSqlAndControlPlaceholders.Rows
+ Try
+ Dim oControlId = oRow.Item("CONTROL_ID")
+ Dim oSqlStatement = oRow.Item("SQL_COMMAND")
+ Dim oConnectionId = oRow.Item("CONNECTION_ID")
+ Dim oColumnName = oRow.Item("SPALTENNAME")
+ Dim oAdvancedLookup = oRow.Item("ADVANCED_LOOKUP")
+
+ If Not IsDBNull(oSqlStatement) And Not IsDBNull(oSqlStatement) Then
+ oSqlStatement = clsPatterns.ReplaceAllValues(oSqlStatement, pControlPanel, True)
+
+ ClassControlCreator.GridTables_CacheDatatableForColumn(oControlId, oColumnName, oSqlStatement, oConnectionId, oAdvancedLookup)
+
+
+ ' === Block to force setting the editor for GridColumns
+ For Each oControl As Control In pControlPanel.Controls
+ Try
+ Dim oMeta = DirectCast(oControl.Tag, ClassControlCreator.ControlMetadata)
+ If oMeta.Guid = oControlId AndAlso TypeOf oControl Is GridControl Then
+ Dim oGrid As GridControl = DirectCast(oControl, GridControl)
+ DirectCast(oGrid.FocusedView, GridView).FocusInvalidRow()
+ Exit For
+ End If
+ Catch ex As Exception
+ LOGGER.Error(ex)
+ End Try
+ Next
+ ' === End
+
+ End If
+ Catch ex As Exception
+ LOGGER.Error(ex)
+ LOGGER.Info("Unexpected Error in Display SQL result for grid column: " & oRow.Item("CONTROL_ID") & " - ERROR: " & ex.Message)
+ End Try
+ Next
+ End If
+ End Sub
+
+ Private Shared Function GridTables_TestEditorExistsByControlAndColumn(oControlId As Integer, pColumn As String) As Boolean
+ If GridTables.ContainsKey(oControlId) Then
+ Dim oContainsKey = GridTables.Item(oControlId).ContainsKey(pColumn)
+ If oContainsKey AndAlso GridTables.Item(oControlId).Item(pColumn) IsNot Nothing Then
+ Return True
+ Else
+ Return False
+ End If
+ Else
+ Return False
+ End If
+ End Function
+
+ Private Shared Function GridTables_ValidateColumn(pView As GridView, pColumnDefinition As DataTable, ColumnName As String, pValue As Object, ByRef pIsValid As Boolean, ByRef pErrorText As String) As Boolean
+ Dim oColumn As DataRow = (From r As DataRow In pColumnDefinition.Rows
+ Where r.Item("SPALTENNAME") = ColumnName
+ Select r).FirstOrDefault()
+
+ Dim oGridColumn As GridColumn = (From c As GridColumn In pView.Columns
+ Where c.FieldName = ColumnName
+ Select c).FirstOrDefault()
+
+ Dim oIsRequired = oColumn.Item("VALIDATION")
+
+ Try
+ Dim oRegex = NotNull(oColumn.Item("REGEX_MATCH"), String.Empty)
+ Dim oRegexMessage = NotNull(oColumn.Item("REGEX_MESSAGE_DE"), String.Empty)
+ If oRegex <> String.Empty Then
+ Dim oMatch = New Regex(oRegex).IsMatch(pValue.ToString)
+ Dim oDefaultMessage = "Wert entspricht nicht dem gefordertem Format!"
+ Dim oMessage = IIf(oRegexMessage <> String.Empty, oRegexMessage, oDefaultMessage)
+
+ If oMatch = False Then
+ pErrorText = oMessage
+ pIsValid = False
+ Return False
+ End If
+ End If
+ Catch ex As Exception
+ LOGGER.Error(ex)
+ End Try
+
+ If oIsRequired And pValue.ToString = "" Then
+ pErrorText = "Spalte muss ausgefüllt werden!"
+ pIsValid = False
+ Return False
+
+ End If
+
+ Return True
+ End Function
+
End Class
diff --git a/app/DD_PM_WINDREAM/DD_PM_WINDREAM.vbproj b/app/DD_PM_WINDREAM/DD_PM_WINDREAM.vbproj
index f70fe8f..121d5e8 100644
--- a/app/DD_PM_WINDREAM/DD_PM_WINDREAM.vbproj
+++ b/app/DD_PM_WINDREAM/DD_PM_WINDREAM.vbproj
@@ -159,6 +159,9 @@
..\..\..\DDMonorepo\Controls.SnapPanel\bin\Debug\DigitalData.Controls.SnapPanel.dll
+
+ ..\..\..\DDMonorepo\GUIs.Common\bin\Debug\DigitalData.GUIs.Common.dll
+
..\..\..\DDMonorepo\Modules.Config\bin\Debug\DigitalData.Modules.Config.dll
diff --git a/app/DD_PM_WINDREAM/ModuleRuntimeVariables.vb b/app/DD_PM_WINDREAM/ModuleRuntimeVariables.vb
index c790f05..cf4a02e 100644
--- a/app/DD_PM_WINDREAM/ModuleRuntimeVariables.vb
+++ b/app/DD_PM_WINDREAM/ModuleRuntimeVariables.vb
@@ -104,8 +104,8 @@ Module ModuleRuntimeVariables
Public CURRENT_SQL_COMAMND As String
Public CURRENT_DT_SQL_CONFIG_TABLE As DataTable
- Public CURRENT_CLICKED_PROFILE_ID As Integer = 0
- Public CURRENT_CLICKED_PROFILE_TITLE As String
+ Public Property CURRENT_CLICKED_PROFILE_ID As Integer = 0
+ Public Property CURRENT_CLICKED_PROFILE_TITLE As String
Public DT_CLIENT_USER As DataTable
Public CLIENT_SELECTED As Integer = 0
@@ -114,7 +114,7 @@ Module ModuleRuntimeVariables
Public CURR_SELECT_CONTROL As String
Public CURR_CHOICE_LIST As String
- Public CURR_DT_DEPENDING_CONTROLS As DataTable 'enthält zur Laufzeit die abhängigen Controls
+ Public Property CURR_DT_DEPENDING_CONTROLS As DataTable 'enthält zur Laufzeit die abhängigen Controls
Public CURRENT_DT_MASS_CHANGE_DOCS As DataTable
diff --git a/app/DD_PM_WINDREAM/My Project/AssemblyInfo.vb b/app/DD_PM_WINDREAM/My Project/AssemblyInfo.vb
index 68c636a..c5d2596 100644
--- a/app/DD_PM_WINDREAM/My Project/AssemblyInfo.vb
+++ b/app/DD_PM_WINDREAM/My Project/AssemblyInfo.vb
@@ -31,5 +31,5 @@ Imports System.Runtime.InteropServices
' übernehmen, indem Sie "*" eingeben:
'
-
+
diff --git a/app/DD_PM_WINDREAM/clsPatterns.vb b/app/DD_PM_WINDREAM/clsPatterns.vb
index 2b91309..c300df9 100644
--- a/app/DD_PM_WINDREAM/clsPatterns.vb
+++ b/app/DD_PM_WINDREAM/clsPatterns.vb
@@ -73,6 +73,7 @@ Public Class clsPatterns
Catch ex As Exception
LOGGER.Error(ex)
LOGGER.Info("Error in ReplaceAllValues:" & ex.Message)
+ Return input
End Try
End Function
diff --git a/app/DD_PM_WINDREAM/frmFormDesigner.vb b/app/DD_PM_WINDREAM/frmFormDesigner.vb
index 886d400..25faedf 100644
--- a/app/DD_PM_WINDREAM/frmFormDesigner.vb
+++ b/app/DD_PM_WINDREAM/frmFormDesigner.vb
@@ -267,7 +267,7 @@ Public Class frmFormDesigner
Dim oDTColumnsPerDevExGrid As DataTable = Database_ECM.GetDatatable($"SELECT * FROM TBPM_CONTROL_TABLE WHERE CONTROL_ID = {guid} ORDER BY [SEQUENCE]") ', "FDesignLaodControls")
- Dim table = ClassControlCreator.CreateExistingGridControl(row, oDTColumnsPerDevExGrid, True)
+ Dim table = ClassControlCreator.CreateExistingGridControl(row, oDTColumnsPerDevExGrid, True, pnldesigner)
AddHandler table.MouseClick, AddressOf gridControl_MouseClick
' AddHandler table.ColumnHeaderMouseClick, AddressOf table_ColumnHeaderMouseClick
diff --git a/app/DD_PM_WINDREAM/frmMassValidator.vb b/app/DD_PM_WINDREAM/frmMassValidator.vb
index 7864064..809f05e 100644
--- a/app/DD_PM_WINDREAM/frmMassValidator.vb
+++ b/app/DD_PM_WINDREAM/frmMassValidator.vb
@@ -369,7 +369,7 @@ Public Class frmMassValidator
LOGGER.Debug("Versuch Tabelle zu laden")
Dim oDTMyColumns As DataTable = Database_ECM.GetDatatable($"SELECT * FROM TBPM_CONTROL_TABLE WHERE CONTROL_ID = {oControlRow.Item("GUID")} ORDER BY SEQUENCE") ', "MV_LoadControls1")
- oControl = ClassControlCreator.CreateExistingGridControl(oControlRow, oDTMyColumns, False)
+ oControl = ClassControlCreator.CreateExistingGridControl(oControlRow, oDTMyColumns, False, pnldesigner)
End Select
If oControl IsNot Nothing AndAlso TypeOf oControl IsNot Label Then
diff --git a/app/DD_PM_WINDREAM/frmValidator.Designer.vb b/app/DD_PM_WINDREAM/frmValidator.Designer.vb
index b5b0760..c2f03b4 100644
--- a/app/DD_PM_WINDREAM/frmValidator.Designer.vb
+++ b/app/DD_PM_WINDREAM/frmValidator.Designer.vb
@@ -30,7 +30,7 @@ Partial Class frmValidator
Me.TITLELabel1 = New System.Windows.Forms.Label()
Me.btnSave = New System.Windows.Forms.Button()
Me.DESCRIPTIONLabel = New System.Windows.Forms.Label()
- Me.pnldesigner = New System.Windows.Forms.Panel()
+ Me.PanelValidatorControl = New System.Windows.Forms.Panel()
Me.DocumentViewerValidator = New DigitalData.Controls.DocumentViewer.DocumentViewer()
Me.ChatControl1 = New DigitalData.Controls.ChatControl.ChatControl()
Me.BarAndDockingController3 = New DevExpress.XtraBars.BarAndDockingController(Me.components)
@@ -110,6 +110,7 @@ Partial Class frmValidator
Me.RibbonStatusBar1 = New DevExpress.XtraBars.Ribbon.RibbonStatusBar()
Me.RibbonPage2 = New DevExpress.XtraBars.Ribbon.RibbonPage()
Me.FolderBrowserDialog1 = New System.Windows.Forms.FolderBrowserDialog()
+ Me.BarButtonItem6 = New DevExpress.XtraBars.BarButtonItem()
CType(Me.SplitContainer2_DV_Chat, System.ComponentModel.ISupportInitialize).BeginInit()
Me.SplitContainer2_DV_Chat.SuspendLayout()
CType(Me.SplitContainer1, System.ComponentModel.ISupportInitialize).BeginInit()
@@ -161,7 +162,7 @@ Partial Class frmValidator
Me.Panel1.Controls.Add(Me.TITLELabel1)
Me.Panel1.Controls.Add(Me.btnSave)
Me.Panel1.Controls.Add(Me.DESCRIPTIONLabel)
- Me.Panel1.Controls.Add(Me.pnldesigner)
+ Me.Panel1.Controls.Add(Me.PanelValidatorControl)
resources.ApplyResources(Me.Panel1, "Panel1")
Me.Panel1.Name = "Panel1"
'
@@ -185,9 +186,9 @@ Partial Class frmValidator
'
'pnldesigner
'
- resources.ApplyResources(Me.pnldesigner, "pnldesigner")
- Me.pnldesigner.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle
- Me.pnldesigner.Name = "pnldesigner"
+ resources.ApplyResources(Me.PanelValidatorControl, "pnldesigner")
+ Me.PanelValidatorControl.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle
+ Me.PanelValidatorControl.Name = "pnldesigner"
'
'DocumentViewerValidator
'
@@ -452,9 +453,9 @@ Partial Class frmValidator
'RibbonControl1
'
Me.RibbonControl1.ExpandCollapseItem.Id = 0
- Me.RibbonControl1.Items.AddRange(New DevExpress.XtraBars.BarItem() {Me.RibbonControl1.ExpandCollapseItem, Me.RibbonControl1.SearchEditItem, Me.bsiError, Me.bsiInformation, Me.bsiDocID, Me.BarButtonItemFileView, Me.BarButtonItem3, Me.BarButtonItem4, Me.bbtniRefresh, Me.bbtniRefreshSearches, Me.bbtniNext, Me.bbtniDelete, Me.bbtniAnnotation, Me.bsiInfo1, Me.bsiInfo2, Me.BbtnitmSave, Me.BarButtonItem2, Me.BarLinkContainerItem1, Me.btnitemConversationEnd, Me.bbtnitem_ConversationNew, Me.BarLinkContainerItem2, Me.BarEditItem1, Me.BarEditItem2, Me.BarEditItem3, Me.btnitemConversation_reload, Me.BarButtonItem5, Me.BarButtonItemAttmt, Me.barbtnitmExport})
+ Me.RibbonControl1.Items.AddRange(New DevExpress.XtraBars.BarItem() {Me.RibbonControl1.ExpandCollapseItem, Me.RibbonControl1.SearchEditItem, Me.bsiError, Me.bsiInformation, Me.bsiDocID, Me.BarButtonItemFileView, Me.BarButtonItem3, Me.BarButtonItem4, Me.bbtniRefresh, Me.bbtniRefreshSearches, Me.bbtniNext, Me.bbtniDelete, Me.bbtniAnnotation, Me.bsiInfo1, Me.bsiInfo2, Me.BbtnitmSave, Me.BarButtonItem2, Me.BarLinkContainerItem1, Me.btnitemConversationEnd, Me.bbtnitem_ConversationNew, Me.BarLinkContainerItem2, Me.BarEditItem1, Me.BarEditItem2, Me.BarEditItem3, Me.btnitemConversation_reload, Me.BarButtonItem5, Me.BarButtonItemAttmt, Me.barbtnitmExport, Me.BarButtonItem6})
resources.ApplyResources(Me.RibbonControl1, "RibbonControl1")
- Me.RibbonControl1.MaxItemId = 29
+ Me.RibbonControl1.MaxItemId = 30
Me.RibbonControl1.Name = "RibbonControl1"
Me.RibbonControl1.PageCategories.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPageCategory() {Me.RibbonPageConversations})
Me.RibbonControl1.Pages.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPage() {Me.RibbonPage1})
@@ -738,6 +739,7 @@ Partial Class frmValidator
Me.RibbonPageGroup3.ItemLinks.Add(Me.bbtniNext)
Me.RibbonPageGroup3.ItemLinks.Add(Me.bbtniDelete)
Me.RibbonPageGroup3.ItemLinks.Add(Me.bbtniAnnotation)
+ Me.RibbonPageGroup3.ItemLinks.Add(Me.BarButtonItem6)
Me.RibbonPageGroup3.Name = "RibbonPageGroup3"
resources.ApplyResources(Me.RibbonPageGroup3, "RibbonPageGroup3")
'
@@ -774,6 +776,12 @@ Partial Class frmValidator
Me.RibbonPage2.Name = "RibbonPage2"
resources.ApplyResources(Me.RibbonPage2, "RibbonPage2")
'
+ 'BarButtonItem6
+ '
+ resources.ApplyResources(Me.BarButtonItem6, "BarButtonItem6")
+ Me.BarButtonItem6.Id = 29
+ Me.BarButtonItem6.Name = "BarButtonItem6"
+ '
'frmValidator
'
Me.Appearance.Options.UseFont = True
@@ -816,7 +824,7 @@ Partial Class frmValidator
Friend WithEvents TITLELabel1 As System.Windows.Forms.Label
Friend WithEvents btnSave As System.Windows.Forms.Button
Friend WithEvents DESCRIPTIONLabel As System.Windows.Forms.Label
- Friend WithEvents pnldesigner As System.Windows.Forms.Panel
+ Friend WithEvents PanelValidatorControl As System.Windows.Forms.Panel
Friend WithEvents PdfBarController1 As DevExpress.XtraPdfViewer.Bars.PdfBarController
Friend WithEvents BarManager1 As DevExpress.XtraBars.BarManager
Friend WithEvents PdfFileOpenBarItem1 As DevExpress.XtraPdfViewer.Bars.PdfFileOpenBarItem
@@ -899,4 +907,5 @@ Partial Class frmValidator
Friend WithEvents RibbonPageCust As DevExpress.XtraBars.Ribbon.RibbonPageGroup
Friend WithEvents barbtnitmExport As DevExpress.XtraBars.BarButtonItem
Friend WithEvents FolderBrowserDialog1 As FolderBrowserDialog
+ Friend WithEvents BarButtonItem6 As DevExpress.XtraBars.BarButtonItem
End Class
diff --git a/app/DD_PM_WINDREAM/frmValidator.resx b/app/DD_PM_WINDREAM/frmValidator.resx
index 6fb4a3c..24cb54a 100644
--- a/app/DD_PM_WINDREAM/frmValidator.resx
+++ b/app/DD_PM_WINDREAM/frmValidator.resx
@@ -1063,6 +1063,9 @@
cmVlbiIgLz4NCiAgPC9nPg0KPC9zdmc+Cw==
+
+ Set Grid Focus (DEBUG)
+
0, 0
@@ -1787,6 +1790,12 @@
System.Windows.Forms.FolderBrowserDialog, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+ BarButtonItem6
+
+
+ DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
frmValidator
diff --git a/app/DD_PM_WINDREAM/frmValidator.vb b/app/DD_PM_WINDREAM/frmValidator.vb
index 0de8bb0..41c83a6 100644
--- a/app/DD_PM_WINDREAM/frmValidator.vb
+++ b/app/DD_PM_WINDREAM/frmValidator.vb
@@ -1,89 +1,97 @@
Imports WINDREAMLib
Imports System.Threading
Imports System.Runtime.InteropServices
-Imports Oracle.ManagedDataAccess.Client
-Imports Independentsoft
Imports System.IO
Imports System.Text.RegularExpressions
Imports System.ComponentModel
Imports DigitalData.Controls.LookupGrid
Imports DevExpress.XtraGrid
-Imports System.Reflection
-Imports DigitalData.Controls.ChatControl
-Imports DevExpress.XtraEditors.Repository
-Imports DigitalData.Modules.EDMI.API
-Imports DigitalData.Modules.EDMI.API.EDMIServiceReference
Imports DevExpress.XtraGrid.Views.Grid
-Imports DevExpress.XtraEditors.Controls
Public Class frmValidator
- Dim strFileList()
- Dim PROFIL_sortbynewest As Boolean
- Dim PROFIL_VEKTORINDEX
- Dim PROFIL_FINISH_SQL
- Dim PROFIL_LOGINDEX
+ '''
+ ''' Contains all controls for the current profile
+ '''
+ Private Property DT_CONTROLS As DataTable
- Dim oErrMsgMissingInput
+ '''
+ ''' Contains all grid columns for the current profile
+ '''
+ Private Property DT_COLUMNS_GRID As DataTable
- Private PMDelimiter As String
+ '''
+ ''' Contains all grid columns for the current profile which have an sql but don't have a reference to a control
+ '''
+ Private Property DT_COLUMNS_GRID_WITH_SQL As DataTable
- Dim WD_Search As String
- Dim finalProfile As Boolean
- Dim Move2Folder As String
- Private DataASorDB As ClassDataASorDB
- Private allgFunk As New ClassAllgemeineFunktionen
+ '''
+ ''' Contains all grid columns for the current profile which have an sql and have a reference to a control
+ '''
+ Private Property DT_COLUMNS_GRID_WITH_SQL_WITH_CTRL_PLACEHOLDER As DataTable
+
+
+ Private Property PROFIL_sortbynewest As Boolean
+ Private Property PROFIL_VEKTORINDEX
+ Private Property PROFIL_FINISH_SQL
+ Private Property PROFIL_LOGINDEX
+
+ Private Property oErrMsgMissingInput
+
+ Private Property PMDelimiter As String
+
+ Private Property WD_Search As String
+ Private Property finalProfile As Boolean
+ Private Property Move2Folder As String
+ Private Property DataASorDB As ClassDataASorDB
+ Private Property allgFunk As New ClassAllgemeineFunktionen
'speichert die DocumentDaten
- Private navStep As String = Nothing
+ Private Property navStep As String = Nothing
- Public Shared WMDocPathWindows As String
- Public WMDocFileString As String
- Private DocPathWindows As String
- Dim OLD_Document_Path As String = ""
- Dim ValueDTP As Date
- Dim AnzDoks As Integer
- Dim docCounter As Integer = 1
+ Public Shared Property WMDocPathWindows As String
+ Private Property WMDocFileString As String
+ Private Property DocPathWindows As String
+ Private Property OLD_Document_Path As String = ""
+ Private Property ValueDTP As Date
+ Private Property docCounter As Integer = 1
'Anzahl der Validierungsdokumente
- Dim Amount_Docs2Validate As Integer
- 'Anzahl der validierten Dokumente
- Dim Anzahl_validierte_Dok As Integer = 0
- Dim me_closing As Boolean = False
- Dim first_control As Control
- Dim last_control As Control
- Dim _Indexe_Loaded As Boolean = False
+ Private Property Amount_Docs2Validate As Integer
+ Private Property me_closing As Boolean = False
+ Private Property first_control As Control
+ Private Property last_control As Control
+ Private Property _Indexe_Loaded As Boolean = False
- Public Shared idxerr_message As String = ""
+ Public Shared Property idxerr_message As String = ""
Private _CURRENT_INDEX_ARRAY(100, 250) As String
- Private _frmValidatorSearch As frmValidatorSearch 'You need a reference to Form1
- Private _dependingControl_in_action As Boolean = False
- Private _dependingColumn_in_action As Boolean = False
- Private _SetControlValue_in_action As Boolean = False
- Private DTCONTROLS As DataTable
- Private DTGRID_COLUMNS_WITH_SQL As DataTable
- Private DTGRID_COLUMNS As DataTable
- Private DTGRID_SQL_DEFINITION As DataTable
- Private DTConversations As DataTable
- Private DTDYNAMIC_RIGHTS As DataTable
+ Private Property _frmValidatorSearch As frmValidatorSearch 'You need a reference to Form1
+ Private Property _dependingControl_in_action As Boolean = False
+ Private Property _dependingColumn_in_action As Boolean = False
+ Private Property _SetControlValue_in_action As Boolean = False
- Private DT_AdditionalSearches_Resultset_Docs As DataTable
- Private Right_Conversation_Add As Boolean = False
- Private Right_Conversation_Stop As Boolean = False
- Private Right_Conversation_Message As Boolean = False
- Private Conversation_User_Active As Boolean = False
- Private ConversationQUDT_Delete As DataTable
- Private Conversation_initialized As Boolean = False
+ Private Property DTConversations As DataTable
+ Private Property DTDYNAMIC_RIGHTS As DataTable
- Public FormLoaded As Boolean = False
- Private ItemWorked As Boolean = False
- Private Override As Boolean = False
- Private OverrideAll As Boolean = False
- Private Override_SQLCommand As String = ""
- Private listChangedLookup As New List(Of String)
+ Private Property DT_AdditionalSearches_Resultset_Docs As DataTable
- Private ControlHandleStarted As Boolean = False
+ Private Property Right_Conversation_Add As Boolean = False
+ Private Property Right_Conversation_Stop As Boolean = False
+ Private Property Right_Conversation_Message As Boolean = False
+
+ Private Property Conversation_User_Active As Boolean = False
+ Private Property ConversationQUDT_Delete As DataTable
+ Private Property Conversation_initialized As Boolean = False
+
+ Public Property FormLoaded As Boolean = False
+ Private Property ItemWorked As Boolean = False
+ Private Property Override As Boolean = False
+ Private Property OverrideAll As Boolean = False
+ Private Property Override_SQLCommand As String = ""
+ Private Property listChangedLookup As New List(Of String)
+
+ Private Property ControlHandleStarted As Boolean = False
Public Sub New()
'MyBase.New
@@ -126,7 +134,7 @@ Public Class frmValidator
Location = My.Settings.frmValidatorPosition
Else
Try
- LOGGER.Debug($"!! Invalid PositionData X({My.Settings.frmValidatorPosition.X.ToString}), Y({My.Settings.frmValidatorPosition.Y})")
+ LOGGER.Debug($"!! Invalid PositionData X({My.Settings.frmValidatorPosition.X}), Y({My.Settings.frmValidatorPosition.Y})")
Catch ex As Exception
End Try
@@ -468,14 +476,14 @@ Public Class frmValidator
'Check whether DocData is there
Dim oConID = BASEDATA_DT_PROFILE_SEARCHES_SQL.Rows(0).Item("CONN_ID")
oDataResultCommand = BASEDATA_DT_PROFILE_SEARCHES_SQL.Rows(0).Item("SQL_COMMAND")
- oDataResultCommand = clsPatterns.ReplaceAllValues(oDataResultCommand, pnldesigner, True)
+ oDataResultCommand = clsPatterns.ReplaceAllValues(oDataResultCommand, PanelValidatorControl, True)
oDatatableDataResult = ClassDatabase.Return_Datatable_ConId(oDataResultCommand, oConID, "Load_Additional_Searches1")
End If
If BASEDATA_DT_PROFILE_SEARCHES_DOC.Rows.Count > 0 Then
'Check whether DocData is there
Dim oConID = BASEDATA_DT_PROFILE_SEARCHES_DOC.Rows(0).Item("CONN_ID")
oDocResultCommand = BASEDATA_DT_PROFILE_SEARCHES_DOC.Rows(0).Item("SQL_COMMAND")
- oDocResultCommand = clsPatterns.ReplaceAllValues(oDocResultCommand, pnldesigner, True)
+ oDocResultCommand = clsPatterns.ReplaceAllValues(oDocResultCommand, PanelValidatorControl, True)
oDatatableDocResult = ClassDatabase.Return_Datatable_ConId(oDocResultCommand, oConID, "Load_Additional_Searches2")
End If
@@ -527,7 +535,7 @@ Public Class frmValidator
_frmValidatorSearch._DTSQLSearches = BASEDATA_DT_PROFILE_SEARCHES_SQL
Dim oConID = BASEDATA_DT_PROFILE_SEARCHES_SQL.Rows(0).Item("CONN_ID")
Dim oCommand = BASEDATA_DT_PROFILE_SEARCHES_SQL.Rows(0).Item("SQL_COMMAND")
- oCommand = clsPatterns.ReplaceAllValues(oCommand, pnldesigner, True)
+ oCommand = clsPatterns.ReplaceAllValues(oCommand, PanelValidatorControl, True)
_frmValidatorSearch.Refresh_Load_GridSQL(oConID, oCommand, 0, BASEDATA_DT_PROFILE_SEARCHES_SQL.Rows(0).Item("TAB_TITLE"))
End If
@@ -535,7 +543,7 @@ Public Class frmValidator
_frmValidatorSearch._DTDocSearches = BASEDATA_DT_PROFILE_SEARCHES_DOC
Dim oConID = BASEDATA_DT_PROFILE_SEARCHES_DOC.Rows(0).Item("CONN_ID")
Dim oCommand = BASEDATA_DT_PROFILE_SEARCHES_DOC.Rows(0).Item("SQL_COMMAND")
- oCommand = clsPatterns.ReplaceAllValues(oCommand, pnldesigner, True)
+ oCommand = clsPatterns.ReplaceAllValues(oCommand, PanelValidatorControl, True)
_frmValidatorSearch.RefreshTabDoc(oConID, oCommand, 0, BASEDATA_DT_PROFILE_SEARCHES_DOC.Rows(0).Item("TAB_TITLE"))
End If
@@ -593,7 +601,7 @@ Public Class frmValidator
End If
'oSql = clsPatterns.ReplaceUserValues(sqlStatement, USER_PRENAME, USER_SURNAME, USER_SHORTNAME, USER_LANGUAGE, USER_EMAIL, USER_ID, CURRENT_CLICKED_PROFILE_ID)
'oSql = clsPatterns.ReplaceInternalValues(oSql)
- oSQLStatement = clsPatterns.ReplaceAllValues(oSQLStatement, pnldesigner, True)
+ oSQLStatement = clsPatterns.ReplaceAllValues(oSQLStatement, PanelValidatorControl, True)
If IsNothing(oSQLStatement) Then
Continue For
End If
@@ -704,34 +712,55 @@ Public Class frmValidator
Sub Create_Controls()
Dim oControlInfo As String
Try
- pnldesigner.Controls.Clear()
+ PanelValidatorControl.Controls.Clear()
Dim oSQL = $"SELECT [dbo].[FNPM_LANGUAGE_CONTROL_TEXT] (NAME,'{USER_LANGUAGE}',CTRL_TYPE,CTRL_TEXT) CTRL_CAPTION_LANG, * FROM TBPM_PROFILE_CONTROLS WHERE CONTROL_ACTIVE = 1 AND PROFIL_ID = {CURRENT_ProfilGUID} ORDER BY Y_LOC, X_LOC"
- DTCONTROLS = DataASorDB.GetDatatable("DD_ECM", oSQL, "TBPM_PROFILE_CONTROLS_LANGUAGE", $"LANGUAGE = '{USER_LANGUAGE}' AND PROFIL_ID = {CURRENT_ProfilGUID}", "Y_LOC, X_LOC")
-
- oSQL = $"SELECT T1.GUID As CONTROL_ID, T1.PROFIL_ID, T.CONNECTION_ID, T.SQL_COMMAND, T.SPALTENNAME,T.FORMATTYPE,T.FORMATSTRING from TBPM_CONTROL_TABLE T, TBPM_PROFILE_CONTROLS T1 WHERE CONTROL_ACTIVE = 1 AND T.CONTROL_ID = T1.GUID AND T1.PROFIL_ID = {CURRENT_ProfilGUID} AND LEN(T.SQL_COMMAND) > 0 AND T.LOAD_AFT_LOAD_CONTROL = 0 ORDER BY T.SEQUENCE"
- DTGRID_COLUMNS_WITH_SQL = DataASorDB.GetDatatable("DD_ECM", oSQL, "DTGRID_COLUMNS_WITH_SQL", $"PROFIL_ID = {CURRENT_ProfilGUID}", "SEQUENCE")
+ DT_CONTROLS = DataASorDB.GetDatatable("DD_ECM", oSQL, "TBPM_PROFILE_CONTROLS_LANGUAGE", $"LANGUAGE = '{USER_LANGUAGE}' AND PROFIL_ID = {CURRENT_ProfilGUID}", "Y_LOC, X_LOC")
oSQL = $"SELECT T.* from TBPM_CONTROL_TABLE T, TBPM_PROFILE_CONTROLS T1 WHERE T1.CONTROL_ACTIVE = 1 AND T.CONTROL_ID = T1.GUID AND T1.PROFIL_ID = {CURRENT_ProfilGUID} ORDER BY T.SEQUENCE"
- DTGRID_COLUMNS = DataASorDB.GetDatatable("DD_ECM", oSQL, "TBPM_CONTROL_TABLE", $"PROFIL_ID = {CURRENT_ProfilGUID}", "SEQUENCE")
+ DT_COLUMNS_GRID = DataASorDB.GetDatatable("DD_ECM", oSQL, "TBPM_CONTROL_TABLE", $"PROFIL_ID = {CURRENT_ProfilGUID}", "SEQUENCE")
- oSQL = $"SELECT T1.GUID As CONTROL_ID, T1.PROFIL_ID, T.CONNECTION_ID, T.SQL_COMMAND, T.SPALTENNAME,T.FORMATTYPE,T.FORMATSTRING from TBPM_CONTROL_TABLE T, TBPM_PROFILE_CONTROLS T1 WHERE T1.CONTROL_ACTIVE = 1 AND T.CONTROL_ID = T1.GUID AND T1.PROFIL_ID = {CURRENT_ProfilGUID} AND LEN(T.SQL_COMMAND) > 0 AND T.LOAD_AFT_LOAD_CONTROL = 1 ORDER BY T.SEQUENCE"
- DTGRID_SQL_DEFINITION = DataASorDB.GetDatatable("DD_ECM", oSQL, "DTGRID_SQL_DEFINITION", $"PROFIL_ID = {CURRENT_ProfilGUID}", "SEQUENCE")
- Dim oCount As Integer = 0
+ oSQL = "SELECT T1.GUID As CONTROL_ID, T1.PROFIL_ID, T.CONNECTION_ID, T.SQL_COMMAND, T.SPALTENNAME,T.FORMATTYPE,T.FORMATSTRING from TBPM_CONTROL_TABLE T, TBPM_PROFILE_CONTROLS T1 WHERE T1.CONTROL_ACTIVE = 1 AND T.CONTROL_ID = T1.GUID AND T1.PROFIL_ID = " & CURRENT_ProfilGUID & " AND LEN(T.SQL_COMMAND) > 0 ORDER BY T.SEQUENCE"
+ DT_COLUMNS_GRID_WITH_SQL = DataASorDB.GetDatatable("DD_ECM", oSQL, "DTGRID_SQL_DEFINITION", $"PROFIL_ID = {CURRENT_ProfilGUID}", "SEQUENCE")
- For Each oControlRow As DataRow In DTCONTROLS.Rows
+ oSQL = "
+ SELECT
+ T1.GUID As CONTROL_ID,
+ T1.PROFIL_ID,
+ T.CONNECTION_ID,
+ T.SQL_COMMAND,
+ T.SPALTENNAME,
+ T.FORMATTYPE,
+ T.FORMATSTRING,
+ T.ADVANCED_LOOKUP
+ FROM
+ TBPM_CONTROL_TABLE T,
+ TBPM_PROFILE_CONTROLS T1
+ WHERE
+ T1.CONTROL_ACTIVE = 1 AND
+ T.CONTROL_ID = T1.GUID AND
+ T1.PROFIL_ID = " & CURRENT_ProfilGUID & " AND
+ LEN(T.SQL_COMMAND) > 0 AND
+ T.SQL_COMMAND LIKE '%{#CTRL%'
+ ORDER BY T.SEQUENCE"
+
+ DT_COLUMNS_GRID_WITH_SQL_WITH_CTRL_PLACEHOLDER = DataASorDB.GetDatatable("DD_ECM", oSQL, "DTGRID_SQL_DEFINITION", $"PROFIL_ID = {CURRENT_ProfilGUID}", "SEQUENCE")
+
+ Dim oTabIndexCounter As Integer = 0
+
+ For Each oControlRow As DataRow In DT_CONTROLS.Rows
Dim oMyControl As Control
Dim oControlID = oControlRow.Item("GUID")
oControlInfo = $"CtrlID: {oControlID} - CtrlName: {oControlRow.Item("NAME")} - CtrlIndex: {oControlRow.Item("INDEX_NAME")}"
Try
Select Case oControlRow.Item("CTRL_TYPE").ToString.ToUpper
- Case "TXT"
+ Case ClassControlCreator.PREFIX_TEXTBOX
Try
- oControlInfo = "TXT#" & oControlInfo
+ oControlInfo = ClassControlCreator.PREFIX_TEXTBOX & "#" & oControlInfo
LOGGER.Debug($"[{oControlInfo}] - TXT Try to create control...")
+
Dim txt As TextBox = ClassControlCreator.CreateExistingTextbox(oControlRow, False)
AddHandler txt.GotFocus, AddressOf OnTextBoxFocus
AddHandler txt.LostFocus, AddressOf OnTextBoxLostFocus
-
AddHandler txt.KeyUp, AddressOf OnTextBoxKeyUp
oMyControl = txt
LOGGER.Debug($"[{oControlInfo}] - TXT Created!!")
@@ -761,7 +790,7 @@ Public Class frmValidator
oComboBox.BackColor = Color.White
End If
End Sub
-#Region "CONTROL LIST"
+
LOGGER.Debug("In add_ComboBox - GUID: " & oControlID)
Dim oCONID As Integer
Try
@@ -787,7 +816,7 @@ Public Class frmValidator
If clsPatterns.HasOnlySimplePatterns(oSQL) Then
LOGGER.Debug("SQL HasOnlySimplePatterns!")
oSQL = clsPatterns.ReplaceInternalValues(oSQL)
- oSQL = clsPatterns.ReplaceControlValues(oSQL, pnldesigner, True)
+ oSQL = clsPatterns.ReplaceControlValues(oSQL, PanelValidatorControl, True)
Dim oDT As DataTable = ClassDatabase.Return_Datatable_ConId(oSQL, oCONID, $"CreateControls - oControlID: {oControlID}")
If Not IsNothing(oDT) Then
For Each oRow As DataRow In oDT.Rows
@@ -822,29 +851,6 @@ Public Class frmValidator
End If
End If
-#End Region
-
- 'Dim oMaxWidth As Integer = oComboBox.Width
-
- 'Using oGraphics As Graphics = oComboBox.CreateGraphics()
- ' Dim oStringLength = oGraphics.MeasureString(Text, oComboBox.Font).Width
- ' If oStringLength + 30 > oMaxWidth Then
- ' oMaxWidth = oStringLength + 30
- ' End If
- 'End Using
-
- 'Using g As Graphics = Me.CreateGraphics
- ' For Each oItem As Object In oComboBox.Items 'Für alle Einträge...
- ' Dim g1 As Graphics = oComboBox.CreateGraphics
- ' If g1.MeasureString(Text, oComboBox.Font).Width + 30 > oMaxWidth Then
- ' oMaxWidth = g1.MeasureString(Text, oComboBox.Font).Width + 30
- ' End If
- ' g1.Dispose()
- ' Next oItem
- 'End Using
-
- 'oComboBox.DropDownWidth = oMaxWidth
-
oMyControl = oComboBox
End If
@@ -884,9 +890,9 @@ Public Class frmValidator
AddHandler lookup.Properties.SelectedValuesChanged, AddressOf LookupListChanged
'Wenn Multiselect false dann prüfen ob abhängiges Control
If CBool(oControlRow.Item("MULTISELECT")) = False Then
- Dim oFilteredData As DataTable = DTCONTROLS.Clone()
+ Dim oFilteredData As DataTable = DT_CONTROLS.Clone()
Dim oExpression = $"SQL_UEBERPRUEFUNG like '%#CTRL#{oMyControl.Name}%'"
- DTCONTROLS.Select(oExpression).CopyToDataTable(oFilteredData, LoadOption.PreserveChanges)
+ DT_CONTROLS.Select(oExpression).CopyToDataTable(oFilteredData, LoadOption.PreserveChanges)
If oFilteredData.Rows.Count >= 1 Then
LOGGER.Debug($"createControlsLU - Found {oFilteredData.Rows.Count} Controls which are depending on {oMyControl.Name}")
'AddHandler lookup.EditValueChanged, AddressOf onLookUp1
@@ -894,7 +900,7 @@ Public Class frmValidator
End If
oExpression = $"SQL_ENABLE like '%#CTRL#{oMyControl.Name}%'"
- DTCONTROLS.Select(oExpression).CopyToDataTable(oFilteredData, LoadOption.PreserveChanges)
+ DT_CONTROLS.Select(oExpression).CopyToDataTable(oFilteredData, LoadOption.PreserveChanges)
If oFilteredData.Rows.Count >= 1 Then
LOGGER.Debug($"createControlsLU - Found {oFilteredData.Rows.Count} Controls which' enable state is depending on {oMyControl.Name}")
'AddHandler lookup.EditValueChanged, AddressOf onLookUp1
@@ -902,14 +908,14 @@ Public Class frmValidator
End If
- oFilteredData = DTCONTROLS.Clone()
+ oFilteredData = DT_CONTROLS.Clone()
oExpression = $"GUID = {oControlRow.Item("GUID")} and Len(SET_CONTROL_DATA) > 0"
- DTCONTROLS.Select(oExpression).CopyToDataTable(oFilteredData, LoadOption.PreserveChanges)
+ DT_CONTROLS.Select(oExpression).CopyToDataTable(oFilteredData, LoadOption.PreserveChanges)
If oFilteredData.Rows.Count = 1 Then
'AddHandler lookup.EditValueChanged, AddressOf onLookUp1
AddHandler lookup.Properties.SelectedValuesChanged, AddressOf onLookUpselectedValue_Control2Set
End If
- oFilteredData = DTCONTROLS.Clone()
+ oFilteredData = DT_CONTROLS.Clone()
End If
@@ -937,61 +943,29 @@ Public Class frmValidator
Dim mycheckbox As CheckBox = oMyControl
AddHandler mycheckbox.CheckedChanged, AddressOf onCheckBox_CheckedChange
- 'prüfen ob abhängiges Control
- 'Dim filteredData As DataTable = DTCONTROLS.Clone()
- 'Dim oExpression = $"SQL_UEBERPRUEFUNG like '%#CTRL#{oMyControl.Name}%'"
- 'DTCONTROLS.Select(oExpression).CopyToDataTable(filteredData, LoadOption.PreserveChanges)
- 'If filteredData.Rows.Count = 1 Then
- ' AddHandler mycheckbox.CheckedChanged, AddressOf onCheckBox_CheckedChange
- 'End If
- 'oExpression = $"SQL_ENABLE like '%#CTRL#{oMyControl.Name}%'"
- 'DTCONTROLS.Select(oExpression).CopyToDataTable(filteredData, LoadOption.PreserveChanges)
- 'If filteredData.Rows.Count >= 1 Then
- ' 'AddHandler lookup.EditValueChanged, AddressOf onLookUp1
- ' AddHandler mycheckbox.CheckedChanged, AddressOf onCheckBox_CheckedChange
- 'End If
-
- 'filteredData = DTCONTROLS.Clone()
- 'oExpression = $"GUID = {oControlRow.Item("GUID")} and Len(SET_CONTROL_DATA) > 0"
- 'DTCONTROLS.Select(oExpression).CopyToDataTable(filteredData, LoadOption.PreserveChanges)
- 'If filteredData.Rows.Count >= 1 Then
- ' AddHandler mycheckbox.CheckedChanged, AddressOf onCheckBox_CheckedChange
- 'End If
- 'Dim oCONTROL_ID = DirectCast(oControlRow.Item("GUID"), ClassControlCreator.ControlMetadata).Guid
- 'Dim ofilteredData As DataTable = DTCONTROLS.Clone()
- 'oExpression = $"GUID = {oCONTROL_ID} and Len(SET_CONTROL_DATA) > 0"
- 'DTCONTROLS.Select(oExpression).CopyToDataTable(ofilteredData, LoadOption.PreserveChanges)
- 'If ofilteredData.Rows.Count = 1 Then
- ' AddHandler mycheckbox.CheckedChanged, AddressOf onCheckBox_CheckedChange
- 'End If
Case "TABLE"
oControlInfo = "TABLE#" & oControlInfo
- 'Dim columns As List(Of DD_DMSLiteDataSet.TBPM_CONTROL_TABLERow) = (From r As DD_DMSLiteDataSet.TBPM_CONTROL_TABLERow In DD_DMSLiteDataSet.TBPM_CONTROL_TABLE
- ' Where r.CONTROL_ID = oControlRow.Item("GUID")
- ' Select r).ToList()
- Dim oFilteredDatatable As DataTable = DTGRID_COLUMNS.Clone()
+ Dim oFilteredDatatable As DataTable = DT_COLUMNS_GRID.Clone()
Dim oExpression = $"CONTROL_ID = {oControlRow.Item("GUID")}"
- DTGRID_COLUMNS.Select(oExpression, "SEQUENCE").CopyToDataTable(oFilteredDatatable, LoadOption.PreserveChanges)
+ DT_COLUMNS_GRID.Select(oExpression, "SEQUENCE").CopyToDataTable(oFilteredDatatable, LoadOption.PreserveChanges)
If oFilteredDatatable.Rows.Count >= 1 Then
- LOGGER.Debug($"We got a definition for DTGRID_COLUMNS!!")
+ LOGGER.Debug("We got a DTGRID_COLUMNS definition for [{0}] ", oControlInfo)
Else
+ LOGGER.Debug("DTGRID_COLUMNS definition for control [{0}] does not contain any rows!", oControlInfo)
Continue For
End If
-
- Dim oGrid = ClassControlCreator.CreateExistingGridControl(oControlRow, oFilteredDatatable, False)
-
+ Dim oGrid = ClassControlCreator.CreateExistingGridControl(oControlRow, oFilteredDatatable, False, PanelValidatorControl)
AddHandler oGrid.ProcessGridKey, Sub(ByVal _sender As Object, ByVal e As KeyEventArgs)
-
-
If e.KeyCode = Keys.Tab Then
Dim gridControl = TryCast(_sender, GridControl)
Dim view = TryCast(gridControl.FocusedView, Views.Base.ColumnView)
- If (e.Modifiers = Keys.None And view.IsNewItemRow(view.FocusedRowHandle) And view.FocusedColumn.VisibleIndex = view.VisibleColumns.Count - 1) Then
+ If (e.Modifiers = Keys.None And view.IsNewItemRow(view.FocusedRowHandle) _
+ And view.FocusedColumn.VisibleIndex = view.VisibleColumns.Count - 1) Then
If view.IsEditing Then
view.CloseEditor()
Me.SelectNextControl(gridControl, e.Modifiers = Keys.None, True, True, True)
@@ -1021,12 +995,12 @@ Public Class frmValidator
End If
last_control = oMyControl
- oMyControl.TabIndex = oCount
+ oMyControl.TabIndex = oTabIndexCounter
End If
' oMyControl.Tag = CInt(oControlRow.Item("GUID"))
- pnldesigner.Controls.Add(oMyControl)
+ PanelValidatorControl.Controls.Add(oMyControl)
- oCount += 1
+ oTabIndexCounter += 1
Catch ex As Exception
Dim st As New StackTrace(True)
st = New StackTrace(ex, True)
@@ -1040,15 +1014,8 @@ Public Class frmValidator
Next
LOGGER.Debug("Create_Controls finished!")
-
-
-
Catch ex As Exception
- Dim st As New StackTrace(True)
- st = New StackTrace(ex, True)
- 'LOGGER.Error(ex)
- MsgBox(ex.Message, MsgBoxStyle.Critical, "Error in Create_Controls")
- LOGGER.Warn($"Unexpected Error in Create_Controls [{oControlInfo}] Line: {st.GetFrame(0).GetFileLineNumber().ToString} - {ex.Message}")
+ LOGGER.Error(ex)
If DEBUG = False Then MsgBox("Error CreateControls: " & ex.Message, MsgBoxStyle.Critical, "Attention:")
allgFunk.Insert_LogEntry($"ERROR CreateControls >> {ex.Message}")
End Try
@@ -1059,12 +1026,11 @@ Public Class frmValidator
Dim oControlID = DirectCast(oMyGridView.GridControl.Tag, ClassControlCreator.ControlMetadata).Guid
SaveDevExpressGridControl_Layout(CURRENT_ProfilGUID, oControlID, oMyGridView)
Catch ex As Exception
-
+ LOGGER.Error(ex)
End Try
-
End Sub
Sub Clear_all_Input()
- For Each inctrl As Control In Me.pnldesigner.Controls
+ For Each inctrl As Control In Me.PanelValidatorControl.Controls
Dim Type As String = inctrl.GetType.ToString
Select Case Type
Case "System.Windows.Forms.TextBox"
@@ -1104,12 +1070,14 @@ Public Class frmValidator
oTextbox.BackColor = Color.White
End If
Dim oCONTROL_ID = DirectCast(oTextbox.Tag, ClassControlCreator.ControlMetadata).Guid
- Dim ofilteredData As DataTable = DTCONTROLS.Clone()
+ Dim ofilteredData As DataTable = DT_CONTROLS.Clone()
Dim oExpression = $"GUID = {oCONTROL_ID} and Len(SET_CONTROL_DATA) > 0"
- DTCONTROLS.Select(oExpression).CopyToDataTable(ofilteredData, LoadOption.PreserveChanges)
+ DT_CONTROLS.Select(oExpression).CopyToDataTable(ofilteredData, LoadOption.PreserveChanges)
If ofilteredData.Rows.Count = 1 Then
Dynamic_SetControlData(oTextbox, ofilteredData.Rows(0))
End If
+
+ ClassControlCreator.GridTables_HandleControlValueChange(PanelValidatorControl, DT_COLUMNS_GRID_WITH_SQL_WITH_CTRL_PLACEHOLDER)
End Sub
Private Function GetControlID(ByVal PROFILEID As Integer, Controlname As String)
For Each oROW As DataRow In DTVWCONTROL_INDEX.Rows
@@ -1123,46 +1091,48 @@ Public Class frmValidator
ControlHandleStarted = False
Exit Sub
End If
- Dim box As TextBox = sender
- If box.Text <> String.Empty And me_closing = False And _Indexe_Loaded = True And box.Height < 25 Then
+
+ Dim oTextBox As TextBox = sender
+ If oTextBox.Text <> String.Empty And me_closing = False And _Indexe_Loaded = True And oTextBox.Height < 25 Then
If (e.KeyCode = Keys.Return) Or (e.KeyCode = Keys.Tab) Or (e.KeyCode = Keys.Enter) Then
Try
- Dim CONTROL_ID = DirectCast(box.Tag, ClassControlCreator.ControlMetadata).Guid
- Dim oSql = String.Format("select NAME,CONNECTION_ID,SQL_UEBERPRUEFUNG FROM TBPM_PROFILE_CONTROLS WHERE CONTROL_ACTIVE = 1 AND PROFIL_ID = {0} AND SQL_UEBERPRUEFUNG LIKE '%{1}%'", CURRENT_ProfilGUID, box.Name)
+ Dim CONTROL_ID = DirectCast(oTextBox.Tag, ClassControlCreator.ControlMetadata).Guid
+ Dim oSql = String.Format("SELECT NAME, CONNECTION_ID, SQL_UEBERPRUEFUNG FROM TBPM_PROFILE_CONTROLS WHERE CONTROL_ACTIVE = 1 AND PROFIL_ID = {0} AND SQL_UEBERPRUEFUNG LIKE '%{1}%'", CURRENT_ProfilGUID, oTextBox.Name)
Dim DTCONTROLS_UEBP As DataTable
- DTCONTROLS_UEBP = DataASorDB.GetDatatable("DD_ECM", oSql, "TBPM_PROFILE_CONTROLS_SQL_UEP", $"PROFIL_ID = {CURRENT_ProfilGUID} AND SQL_UEBERPRUEFUNG LIKE '%{box.Name}%'")
+ DTCONTROLS_UEBP = DataASorDB.GetDatatable("DD_ECM", oSql, "TBPM_PROFILE_CONTROLS_SQL_UEP", $"PROFIL_ID = {CURRENT_ProfilGUID} AND SQL_UEBERPRUEFUNG LIKE '%{oTextBox.Name}%'")
- If Not IsNothing(DTCONTROLS_UEBP) And DTCONTROLS_UEBP.Rows.Count > 0 Then
- For Each ROW As DataRow In DTCONTROLS_UEBP.Rows
+ If Not IsNothing(DTCONTROLS_UEBP) AndAlso DTCONTROLS_UEBP.Rows.Count > 0 Then
+ For Each oRow As DataRow In DTCONTROLS_UEBP.Rows
Try
- Dim displayboxname = ROW.Item(0).ToString
- If Not IsDBNull(ROW.Item(1)) And Not IsDBNull(ROW.Item(2)) Then
- Dim sql_Statement = ROW.Item(2)
-
-
- sql_Statement = clsPatterns.ReplaceAllValues(sql_Statement, pnldesigner, True)
+ Dim oControlName = oRow.Item("NAME").ToString
+ Dim oSqlStatement = oRow.Item("SQL_UEBERPRUEFUNG")
+ Dim oConnectionId = oRow.Item("CONNECTION_ID")
+ If Not IsDBNull(oSqlStatement) And Not IsDBNull(oConnectionId) Then
+ oSqlStatement = clsPatterns.ReplaceAllValues(oSqlStatement, PanelValidatorControl, True)
_dependingControl_in_action = True
- Depending_Control_Set_Result(displayboxname, sql_Statement, ROW.Item(1))
+ Depending_Control_Set_Result(oControlName, oSqlStatement, oConnectionId)
_dependingControl_in_action = False
End If
Catch ex As Exception
LOGGER.Error(ex)
- LOGGER.Info("Unexpected Error in Display SQL result for control: " & ROW.Item(0).ToString & " - ERROR: " & ex.Message)
+ LOGGER.Info("Unexpected Error in Display SQL result for control: " & oRow.Item("NAME") & " - ERROR: " & ex.Message)
End Try
Next
End If
+ ClassControlCreator.GridTables_HandleControlValueChange(PanelValidatorControl, DT_COLUMNS_GRID_WITH_SQL_WITH_CTRL_PLACEHOLDER)
+
Catch ex As Exception
LOGGER.Error(ex)
LOGGER.Info("Unexpected Error in Eventhandler Variable SQL Result - ERROR: " & ex.Message)
End Try
- If box.Name = last_control.Name Then
+ If oTextBox.Name = last_control.Name Then
' Abschluss()
Else
SendKeys.Send("{TAB}")
@@ -1175,7 +1145,7 @@ Public Class frmValidator
Private Sub onCustomButtonClick(sender As System.Object, e As System.EventArgs)
Dim oButton As Button = sender
Dim oControlID = DirectCast(oButton.Tag, ClassControlCreator.ControlMetadata).Guid
- Dim oSQL = ClassControlCreator.GET_CONTROL_PROPERTY(DTCONTROLS, oControlID, "SQL_UEBERPRUEFUNG")
+ Dim oSQL = ClassControlCreator.GET_CONTROL_PROPERTY(DT_CONTROLS, oControlID, "SQL_UEBERPRUEFUNG")
If IsNothing(oSQL) Then
LOGGER.Warn("onCustomButtonClick - SQL_UEBERPRUEFUNG IS NOTHING")
Exit Sub
@@ -1185,12 +1155,12 @@ Public Class frmValidator
LOGGER.Warn("onCustomButtonClick - Check_UpdateIndexe = False >> Exit Click")
Exit Sub
End If
- Override_SQLCommand = ClassControlCreator.GET_CONTROL_PROPERTY(DTCONTROLS, oControlID, "SQL2")
+ Override_SQLCommand = ClassControlCreator.GET_CONTROL_PROPERTY(DT_CONTROLS, oControlID, "SQL2")
If IsNothing(Override_SQLCommand) Then
Override_SQLCommand = ""
End If
- oSQL = clsPatterns.ReplaceAllValues(oSQL, pnldesigner, True)
- Override_SQLCommand = clsPatterns.ReplaceAllValues(Override_SQLCommand, pnldesigner, True)
+ oSQL = clsPatterns.ReplaceAllValues(oSQL, PanelValidatorControl, True)
+ Override_SQLCommand = clsPatterns.ReplaceAllValues(Override_SQLCommand, PanelValidatorControl, True)
Dim oDT_ACTIONS As DataTable = Database_ECM.GetDatatable(oSQL) ', "onCustomButtonClick")
If IsNothing(oDT_ACTIONS) Then
MsgBox("Something went wrong in custom action - Please check Your log!", MsgBoxStyle.Exclamation, ADDITIONAL_TITLE)
@@ -1336,17 +1306,17 @@ Public Class frmValidator
For Each row1 As DataRow In resultDT.Rows
Dim result = row1.Item(0)
If Not IsNothing(result) Then
- pnldesigner.Controls(displayboxname).Text = result.ToString
+ PanelValidatorControl.Controls(displayboxname).Text = result.ToString
Exit For
Else
- pnldesigner.Controls(displayboxname).Text = "RESULT = NOTHING"
+ PanelValidatorControl.Controls(displayboxname).Text = "RESULT = NOTHING"
Exit For
End If
Next
Else
- pnldesigner.Controls(displayboxname).Text = "NO RESULT"
+ PanelValidatorControl.Controls(displayboxname).Text = "NO RESULT"
End If
@@ -1390,14 +1360,15 @@ Public Class frmValidator
End Try
End Sub
Public Sub LookupListChanged(sender As Object, SelectedValues As List(Of String))
-
If FormLoaded = False Then
Exit Sub
End If
- LOGGER.Debug("LookupListChanged")
- Dim oLookup As RepositoryItemLookupControl3 = sender
+
Try
+ Dim oLookup As RepositoryItemLookupControl3 = sender
listChangedLookup.Add(oLookup.Name)
+
+ ClassControlCreator.GridTables_HandleControlValueChange(PanelValidatorControl, DT_COLUMNS_GRID_WITH_SQL_WITH_CTRL_PLACEHOLDER)
Catch ex As Exception
LOGGER.Error(ex)
End Try
@@ -1414,10 +1385,12 @@ Public Class frmValidator
CheckBox_DependingControls(oCheckbox)
Checkbox_EnablingControls(oCheckbox)
CheckBox_DependingColumn(oCheckbox)
+ ClassControlCreator.GridTables_HandleControlValueChange(PanelValidatorControl, DT_COLUMNS_GRID_WITH_SQL_WITH_CTRL_PLACEHOLDER)
+
Dim oCONTROL_ID = DirectCast(oCheckbox.Tag, ClassControlCreator.ControlMetadata).Guid
- Dim ofilteredData As DataTable = DTCONTROLS.Clone()
+ Dim ofilteredData As DataTable = DT_CONTROLS.Clone()
Dim oExpression = $"GUID = {oCONTROL_ID} and Len(SET_CONTROL_DATA) > 0"
- DTCONTROLS.Select(oExpression).CopyToDataTable(ofilteredData, LoadOption.PreserveChanges)
+ DT_CONTROLS.Select(oExpression).CopyToDataTable(ofilteredData, LoadOption.PreserveChanges)
If ofilteredData.Rows.Count = 1 Then
Dynamic_SetControlData(oCheckbox, ofilteredData.Rows(0))
End If
@@ -1464,7 +1437,7 @@ Public Class frmValidator
End If
If Not IsDBNull(oDataRow.Item("CONNECTION_ID")) And Not IsDBNull(oDataRow.Item("SET_CONTROL_DATA")) Then
Dim oSqlCommand = IIf(IsDBNull(oDataRow.Item("SET_CONTROL_DATA")), "", oDataRow.Item("SET_CONTROL_DATA"))
- oSqlCommand = clsPatterns.ReplaceAllValues(oSqlCommand, pnldesigner, True)
+ oSqlCommand = clsPatterns.ReplaceAllValues(oSqlCommand, PanelValidatorControl, True)
_SetControlValue_in_action = True
Dim oDTDEPENDING_RESULT As DataTable = ClassDatabase.Return_Datatable_ConId(oSqlCommand, oDataRow.Item("CONNECTION_ID"), $"Dynamic_SetControlData-Control [{oControlID}-{oControlname2Set}]")
For Each oRowControl2Set As DataRow In oDTDEPENDING_RESULT.Rows
@@ -1503,7 +1476,7 @@ Public Class frmValidator
Exit Sub
End If
- For Each oControl As Control In pnldesigner.Controls
+ For Each oControl As Control In PanelValidatorControl.Controls
If DirectCast(oControl.Tag, ClassControlCreator.ControlMetadata).Guid = oControl2Set Then
oFound = True
LOGGER.Debug($"Got the Control22Set: {oControl2Set}..Setting the values..")
@@ -1573,9 +1546,9 @@ Public Class frmValidator
Dim oLOOKUPName = LookupControl.Name
LOGGER.Debug($"oLOOKUPValue is [{oLOOKUPValue}]!")
Dim oControlID = DirectCast(LookupControl.Tag, ClassControlCreator.ControlMetadata).Guid
- Dim oFilteredDatatable As DataTable = DTCONTROLS.Clone()
+ Dim oFilteredDatatable As DataTable = DT_CONTROLS.Clone()
Dim oExpression = $"GUID = {oControlID} and LEN(SET_CONTROL_DATA) > 0"
- DTCONTROLS.Select(oExpression).CopyToDataTable(oFilteredDatatable, LoadOption.PreserveChanges)
+ DT_CONTROLS.Select(oExpression).CopyToDataTable(oFilteredDatatable, LoadOption.PreserveChanges)
If oFilteredDatatable.Rows.Count = 1 Then
LOGGER.Debug($"We got a definition for SetControlValues!!")
Else
@@ -1593,7 +1566,7 @@ Public Class frmValidator
End If
If Not IsDBNull(oFilteredDatatable.Rows(0).Item("CONNECTION_ID")) And Not IsDBNull(oFilteredDatatable.Rows(0).Item("SET_CONTROL_DATA")) Then
Dim oSqlCommand = IIf(IsDBNull(oFilteredDatatable.Rows(0).Item("SET_CONTROL_DATA")), "", oFilteredDatatable.Rows(0).Item("SET_CONTROL_DATA"))
- oSqlCommand = clsPatterns.ReplaceAllValues(oSqlCommand, pnldesigner, True)
+ oSqlCommand = clsPatterns.ReplaceAllValues(oSqlCommand, PanelValidatorControl, True)
_SetControlValue_in_action = True
Dim oDTDEPENDING_RESULT As DataTable = ClassDatabase.Return_Datatable_ConId(oSqlCommand, oFilteredDatatable.Rows(0).Item("CONNECTION_ID"), $"SetControlValues - CTRLID {oControlID}")
For Each oRowControl2Set As DataRow In oDTDEPENDING_RESULT.Rows
@@ -1632,7 +1605,7 @@ Public Class frmValidator
Exit Sub
End If
'Dim oDependingLookup As LookupControl3 = pnldesigner.Controls.Find(oDEPENDING_CtrlName, False).FirstOrDefault()
- For Each oControl As Control In pnldesigner.Controls
+ For Each oControl As Control In PanelValidatorControl.Controls
If DirectCast(oControl.Tag, ClassControlCreator.ControlMetadata).Guid = oControl2Set Then
oFound = True
LOGGER.Debug($"Got the Control22Set: {oControl2Set}..Setting the values..")
@@ -1700,9 +1673,9 @@ Public Class frmValidator
Dim oLOOKUPName = LookupControl.Name
LOGGER.Debug($"oLOOKUPValue is [{oLOOKUPValue}]!")
Dim oControlID = DirectCast(LookupControl.Tag, ClassControlCreator.ControlMetadata).Guid
- Dim oFilteredDatatable As DataTable = DTCONTROLS.Clone()
+ Dim oFilteredDatatable As DataTable = DT_CONTROLS.Clone()
Dim oExpression = $"SQL_UEBERPRUEFUNG like '%#CTRL#{oLOOKUPName}%'"
- DTCONTROLS.Select(oExpression).CopyToDataTable(oFilteredDatatable, LoadOption.PreserveChanges)
+ DT_CONTROLS.Select(oExpression).CopyToDataTable(oFilteredDatatable, LoadOption.PreserveChanges)
If oFilteredDatatable.Rows.Count > 0 Then
LOGGER.Debug($"We got {oFilteredDatatable.Rows.Count} depending controls!!")
Else
@@ -1718,13 +1691,13 @@ Public Class frmValidator
End If
If Not IsDBNull(oRowDependingControl.Item("CONNECTION_ID")) And Not IsDBNull(oRowDependingControl.Item("SQL_UEBERPRUEFUNG")) Then
Dim oSqlCommand = IIf(IsDBNull(oRowDependingControl.Item("SQL_UEBERPRUEFUNG")), "", oRowDependingControl.Item("SQL_UEBERPRUEFUNG"))
- oSqlCommand = clsPatterns.ReplaceAllValues(oSqlCommand, pnldesigner, True)
+ oSqlCommand = clsPatterns.ReplaceAllValues(oSqlCommand, PanelValidatorControl, True)
_dependingControl_in_action = True
Dim oDTDEPENDING_RESULT As DataTable = ClassDatabase.Return_Datatable_ConId(oSqlCommand, oRowDependingControl.Item("CONNECTION_ID"), $"LookupControl_DependingControls - oControlID: {oControlID}")
Try
Dim oFound As Boolean = False
- For Each oControl As Control In pnldesigner.Controls
+ For Each oControl As Control In PanelValidatorControl.Controls
If DirectCast(oControl.Tag, ClassControlCreator.ControlMetadata).Guid = oDEPENDING_GUID Then
oFound = True
LOGGER.Debug($"Got the depending control ID:{oDEPENDING_GUID}..Setting the values..")
@@ -1821,9 +1794,9 @@ Public Class frmValidator
Dim oCheckboxname = pCheckbox.Name
LOGGER.Debug($"pCheckStateTrue [{pCheckbox.Checked}]!")
Dim oControlID = DirectCast(pCheckbox.Tag, ClassControlCreator.ControlMetadata).Guid
- Dim oFilteredDatatable As DataTable = DTCONTROLS.Clone()
+ Dim oFilteredDatatable As DataTable = DT_CONTROLS.Clone()
Dim oExpression = $"SQL_UEBERPRUEFUNG like '%#CTRL#{oCheckboxname}%'"
- DTCONTROLS.Select(oExpression).CopyToDataTable(oFilteredDatatable, LoadOption.PreserveChanges)
+ DT_CONTROLS.Select(oExpression).CopyToDataTable(oFilteredDatatable, LoadOption.PreserveChanges)
If oFilteredDatatable.Rows.Count > 0 Then
LOGGER.Debug($"We got {oFilteredDatatable.Rows.Count} depending controls!!")
Else
@@ -1839,13 +1812,13 @@ Public Class frmValidator
End If
If Not IsDBNull(oRowDependingControl.Item("CONNECTION_ID")) And Not IsDBNull(oRowDependingControl.Item("SQL_UEBERPRUEFUNG")) Then
Dim oSqlCommand = IIf(IsDBNull(oRowDependingControl.Item("SQL_UEBERPRUEFUNG")), "", oRowDependingControl.Item("SQL_UEBERPRUEFUNG"))
- oSqlCommand = clsPatterns.ReplaceAllValues(oSqlCommand, pnldesigner, True)
+ oSqlCommand = clsPatterns.ReplaceAllValues(oSqlCommand, PanelValidatorControl, True)
_dependingControl_in_action = True
Dim oDTDEPENDING_RESULT As DataTable = ClassDatabase.Return_Datatable_ConId(oSqlCommand, oRowDependingControl.Item("CONNECTION_ID"), $"CheckBox_DependingControls - oControlID: {oControlID}")
Try
Dim oFound As Boolean = False
'Dim oDependingLookup As LookupControl3 = pnldesigner.Controls.Find(oDEPENDING_CtrlName, False).FirstOrDefault()
- For Each oControl As Control In pnldesigner.Controls
+ For Each oControl As Control In PanelValidatorControl.Controls
If DirectCast(oControl.Tag, ClassControlCreator.ControlMetadata).Guid = oDEPENDING_GUID Then
oFound = True
LOGGER.Debug($"Got the depending control ID:{oDEPENDING_GUID}..Setting the values..")
@@ -1942,29 +1915,34 @@ Public Class frmValidator
End Sub
Private Sub LookupControl_DependingColumn(LookupControl As LookupControl3, SelectedValues As List(Of String))
- Dim oSQLColumnDatatable As DataTable = DTGRID_COLUMNS_WITH_SQL.Clone()
+ Dim oSQLColumnDatatable As DataTable = DT_COLUMNS_GRID_WITH_SQL.Clone()
Dim oExpression = $"SQL_COMMAND like '%#CTRL#{LookupControl.Name}%'"
- DTGRID_COLUMNS_WITH_SQL.Select(oExpression).CopyToDataTable(oSQLColumnDatatable, LoadOption.PreserveChanges)
+ DT_COLUMNS_GRID_WITH_SQL.Select(oExpression).CopyToDataTable(oSQLColumnDatatable, LoadOption.PreserveChanges)
If oSQLColumnDatatable.Rows.Count > 0 Then
For Each oRow As DataRow In oSQLColumnDatatable.Rows
- Dim oDEPENDING_CONTROL_ID = DTGRID_COLUMNS_WITH_SQL.Rows(0).Item("CONTROL_ID")
- Dim oCONNID = DTGRID_COLUMNS_WITH_SQL.Rows(0).Item("CONNECTION_ID")
- Dim oDEPENDING_COLUMN = DTGRID_COLUMNS_WITH_SQL.Rows(0).Item("SPALTENNAME")
- Dim oSqlCommand = DTGRID_COLUMNS_WITH_SQL.Rows(0).Item("SQL_COMMAND")
+ Dim oDEPENDING_CONTROL_ID = oRow.Item("CONTROL_ID")
+ Dim oCONNID = oRow.Item("CONNECTION_ID")
+ Dim oDEPENDING_COLUMN = oRow.Item("SPALTENNAME")
+ Dim oSqlCommand = oRow.Item("SQL_COMMAND")
+ Dim oAdvancedLookup = oRow.Item("ADVANCED_LOOKUP")
If _dependingColumn_in_action = True Then
Exit Sub
End If
- oSqlCommand = clsPatterns.ReplaceAllValues(oSqlCommand, pnldesigner, True)
+ oSqlCommand = clsPatterns.ReplaceAllValues(oSqlCommand, PanelValidatorControl, True)
_dependingColumn_in_action = True
Try
+
+
Dim oDTDEPENDING_RESULT As DataTable = ClassDatabase.Return_Datatable_ConId(oSqlCommand, oCONNID, $"LookupControl_DependingColumn - oDEPENDING_CONTROL_ID: {oDEPENDING_CONTROL_ID}")
If Not IsNothing(oDTDEPENDING_RESULT) Then
LOGGER.Debug($"Trying to fill the DropDown (DC) for ControlID [{oDEPENDING_CONTROL_ID}]..RowCount: [{oDTDEPENDING_RESULT.Rows.Count}] ")
- For Each oControl As Control In pnldesigner.Controls
- If DirectCast(oControl.Tag, ClassControlCreator.ControlMetadata).Guid = oDEPENDING_CONTROL_ID Then
- ClassControlCreator.GridTables.Item(oControl.Name).Add(oDEPENDING_COLUMN, oDTDEPENDING_RESULT)
+ For Each oControl As Control In PanelValidatorControl.Controls
+ Dim oControlId = DirectCast(oControl.Tag, ClassControlCreator.ControlMetadata).Guid
+
+ If oControlId = oDEPENDING_CONTROL_ID Then
+ ClassControlCreator.GridTables_CacheDatatableForColumn(oControlId, oDEPENDING_COLUMN, oSqlCommand, oCONNID, oAdvancedLookup)
_dependingColumn_in_action = False
Exit For
End If
@@ -1979,29 +1957,32 @@ Public Class frmValidator
End If
End Sub
Private Sub CheckBox_DependingColumn(pCheckbox As CheckBox)
- Dim oSQLColumnDatatable As DataTable = DTGRID_COLUMNS_WITH_SQL.Clone()
+ Dim oSQLColumnDatatable As DataTable = DT_COLUMNS_GRID_WITH_SQL.Clone()
Dim oExpression = $"SQL_COMMAND like '%#CTRL#{pCheckbox.Name}%'"
- DTGRID_COLUMNS_WITH_SQL.Select(oExpression).CopyToDataTable(oSQLColumnDatatable, LoadOption.PreserveChanges)
+ DT_COLUMNS_GRID_WITH_SQL.Select(oExpression).CopyToDataTable(oSQLColumnDatatable, LoadOption.PreserveChanges)
If oSQLColumnDatatable.Rows.Count > 0 Then
For Each oRow As DataRow In oSQLColumnDatatable.Rows
- Dim oDEPENDING_CONTROL_ID = DTGRID_COLUMNS_WITH_SQL.Rows(0).Item("CONTROL_ID")
- Dim oCONNID = DTGRID_COLUMNS_WITH_SQL.Rows(0).Item("CONNECTION_ID")
- Dim oDEPENDING_COLUMN = DTGRID_COLUMNS_WITH_SQL.Rows(0).Item("SPALTENNAME")
- Dim oSqlCommand = DTGRID_COLUMNS_WITH_SQL.Rows(0).Item("SQL_COMMAND")
+ Dim oDEPENDING_CONTROL_ID = oRow.Item("CONTROL_ID")
+ Dim oCONNID = oRow.Item("CONNECTION_ID")
+ Dim oDEPENDING_COLUMN = oRow.Item("SPALTENNAME")
+ Dim oSqlCommand = oRow.Item("SQL_COMMAND")
+ Dim oAdvancedLookup = oRow.Item("ADVANCED_LOOKUP")
+
If _dependingColumn_in_action = True Then
Exit Sub
End If
- oSqlCommand = clsPatterns.ReplaceAllValues(oSqlCommand, pnldesigner, True)
+
+ oSqlCommand = clsPatterns.ReplaceAllValues(oSqlCommand, PanelValidatorControl, True)
_dependingColumn_in_action = True
Try
-
Dim oDTDEPENDING_RESULT As DataTable = ClassDatabase.Return_Datatable_ConId(oSqlCommand, oCONNID, $"CheckBox_DependingColumn - oDEPENDING_CONTROL_ID: {oDEPENDING_CONTROL_ID}")
If Not IsNothing(oDTDEPENDING_RESULT) Then
LOGGER.Debug($"Trying to fill the DropDown (DC) for ControlID [{oDEPENDING_CONTROL_ID}]..RowCount: [{oDTDEPENDING_RESULT.Rows.Count}] ")
- For Each oControl As Control In pnldesigner.Controls
+ For Each oControl As Control In PanelValidatorControl.Controls
+ Dim oControlId = DirectCast(oControl.Tag, ClassControlCreator.ControlMetadata).Guid
If DirectCast(oControl.Tag, ClassControlCreator.ControlMetadata).Guid = oDEPENDING_CONTROL_ID Then
- ClassControlCreator.GridTables.Item(oControl.Name).Add(oDEPENDING_COLUMN, oDTDEPENDING_RESULT)
+ ClassControlCreator.GridTables_CacheDatatableForColumn(oControlId, oDEPENDING_COLUMN, oSqlCommand, oCONNID, oAdvancedLookup)
_dependingColumn_in_action = False
Exit For
End If
@@ -2039,7 +2020,7 @@ Public Class frmValidator
_Step = 2
Dim sql_Statement = IIf(IsDBNull(ROW.Item("SQL_UEBERPRUEFUNG")), "", ROW.Item("SQL_UEBERPRUEFUNG"))
- sql_Statement = clsPatterns.ReplaceAllValues(sql_Statement, pnldesigner, True)
+ sql_Statement = clsPatterns.ReplaceAllValues(sql_Statement, PanelValidatorControl, True)
_Step = 3
_dependingControl_in_action = True
@@ -2055,10 +2036,13 @@ Public Class frmValidator
End Try
Next
End If
+
+ ClassControlCreator.GridTables_HandleControlValueChange(PanelValidatorControl, DT_COLUMNS_GRID_WITH_SQL_WITH_CTRL_PLACEHOLDER)
+
Controls2beEnabled(oCombobox.Name)
- Dim ofilteredData As DataTable = DTCONTROLS.Clone()
+ Dim ofilteredData As DataTable = DT_CONTROLS.Clone()
Dim oExpression = $"GUID = {CONTROL_ID} and Len(SET_CONTROL_DATA) > 0"
- DTCONTROLS.Select(oExpression).CopyToDataTable(ofilteredData, LoadOption.PreserveChanges)
+ DT_CONTROLS.Select(oExpression).CopyToDataTable(ofilteredData, LoadOption.PreserveChanges)
If ofilteredData.Rows.Count = 1 Then
Dynamic_SetControlData(oCombobox, ofilteredData.Rows(0))
End If
@@ -2072,9 +2056,9 @@ Public Class frmValidator
End Sub
Private Sub Controls2beEnabled(pControlName As String)
Try
- Dim oFilteredDatatable As DataTable = DTCONTROLS.Clone()
+ Dim oFilteredDatatable As DataTable = DT_CONTROLS.Clone()
Dim oExpression = $"SQL_ENABLE like '%#CTRL#{pControlName}%'"
- DTCONTROLS.Select(oExpression).CopyToDataTable(oFilteredDatatable, LoadOption.PreserveChanges)
+ DT_CONTROLS.Select(oExpression).CopyToDataTable(oFilteredDatatable, LoadOption.PreserveChanges)
If oFilteredDatatable.Rows.Count > 0 Then
LOGGER.Debug($"We got {oFilteredDatatable.Rows.Count} controls which got enable definitions!!")
Else
@@ -2090,13 +2074,13 @@ Public Class frmValidator
End If
If Not IsDBNull(oRowEnablingControl.Item("CONNECTION_ID")) And Not IsDBNull(oRowEnablingControl.Item("SQL_ENABLE")) Then
Dim oSqlCommand = IIf(IsDBNull(oRowEnablingControl.Item("SQL_ENABLE")), "", oRowEnablingControl.Item("SQL_ENABLE"))
- oSqlCommand = clsPatterns.ReplaceAllValues(oSqlCommand, pnldesigner, True)
+ oSqlCommand = clsPatterns.ReplaceAllValues(oSqlCommand, PanelValidatorControl, True)
_dependingControl_in_action = True
Dim oENABLERESULT As Boolean = ClassDatabase.Execute_Scalar_ConID(oSqlCommand, oRowEnablingControl.Item("CONNECTION_ID"), $"Controls2beEnabled - oENABLE_CTRLID: {oENABLE_GUID}")
Try
Dim oFound As Boolean = False
- For Each oControl As Control In pnldesigner.Controls
+ For Each oControl As Control In PanelValidatorControl.Controls
If DirectCast(oControl.Tag, ClassControlCreator.ControlMetadata).Guid = oENABLE_GUID Then
oFound = True
LOGGER.Debug($"Got the depending control ID:{oENABLE_GUID}..Setting enabled/Disabled...")
@@ -2127,16 +2111,16 @@ Public Class frmValidator
End Sub
Private Sub Controls2beDisabled()
Try
- Dim oFilteredDatatable As DataTable = DTCONTROLS.Clone()
+ Dim oFilteredDatatable As DataTable = DT_CONTROLS.Clone()
Dim oExpression = $"LEN(SQL_ENABLE) > 0"
- DTCONTROLS.Select(oExpression).CopyToDataTable(oFilteredDatatable, LoadOption.PreserveChanges)
+ DT_CONTROLS.Select(oExpression).CopyToDataTable(oFilteredDatatable, LoadOption.PreserveChanges)
If oFilteredDatatable.Rows.Count > 0 Then
LOGGER.Debug($"We got {oFilteredDatatable.Rows.Count} controls which need to be disabled!!")
End If
For Each oRowEnablingControl As DataRow In oFilteredDatatable.Rows
Dim oENABLE_GUID = oRowEnablingControl.Item("GUID")
Dim oENABLE_CtrlName = oRowEnablingControl.Item("NAME")
- For Each oControl As Control In pnldesigner.Controls
+ For Each oControl As Control In PanelValidatorControl.Controls
If oENABLE_GUID = DirectCast(oControl.Tag, ClassControlCreator.ControlMetadata).Guid Then
oControl.Enabled = False
Exit For
@@ -2149,22 +2133,22 @@ Public Class frmValidator
End Sub
Private Sub Controls2B_EnDisabled_on_Load()
Try
- Dim oFilteredDatatable As DataTable = DTCONTROLS.Clone()
+ Dim oFilteredDatatable As DataTable = DT_CONTROLS.Clone()
Dim oExpression = $"LEN(SQL_ENABLE_ON_LOAD) > 0"
- DTCONTROLS.Select(oExpression).CopyToDataTable(oFilteredDatatable, LoadOption.PreserveChanges)
+ DT_CONTROLS.Select(oExpression).CopyToDataTable(oFilteredDatatable, LoadOption.PreserveChanges)
If oFilteredDatatable.Rows.Count > 0 Then
LOGGER.Debug($"We got {oFilteredDatatable.Rows.Count} controls which need to be checked dis/enable on load!")
End If
For Each oRowEnablingControl As DataRow In oFilteredDatatable.Rows
Dim oENABLE_GUID = oRowEnablingControl.Item("GUID")
Dim oENABLE_CtrlName = oRowEnablingControl.Item("NAME")
- For Each oControl As Control In pnldesigner.Controls
+ For Each oControl As Control In PanelValidatorControl.Controls
If oENABLE_GUID = DirectCast(oControl.Tag, ClassControlCreator.ControlMetadata).Guid Then
LOGGER.Debug($"Found the Control on panel which needs to be checked [{oENABLE_GUID}]...")
Dim oSqlCommand = IIf(IsDBNull(oRowEnablingControl.Item("SQL_ENABLE_ON_LOAD")), "", oRowEnablingControl.Item("SQL_ENABLE_ON_LOAD"))
Dim oConID = oRowEnablingControl.Item("SQL_ENABLE_ON_LOAD_CONID")
If Not IsDBNull(oConID) Then
- oSqlCommand = clsPatterns.ReplaceAllValues(oSqlCommand, pnldesigner, True)
+ oSqlCommand = clsPatterns.ReplaceAllValues(oSqlCommand, PanelValidatorControl, True)
Dim oENABLERESULT As Boolean = ClassDatabase.Execute_Scalar_ConID(oSqlCommand, oRowEnablingControl.Item("SQL_ENABLE_ON_LOAD_CONID"), $"Controls2B_EnDisabled_on_Load - oENABLE_CTRLID: {oENABLE_GUID}")
Try
LOGGER.Debug($"oENABLERESULT [{oENABLERESULT}]...")
@@ -2202,7 +2186,7 @@ Public Class frmValidator
If displayboxname.StartsWith(ClassControlCreator.PREFIX_COMBOBOX) Then
LOGGER.Debug("Filling Combobox with Results")
- Dim oCombobox As ComboBox = pnldesigner.Controls(displayboxname)
+ Dim oCombobox As ComboBox = PanelValidatorControl.Controls(displayboxname)
If IsNothing(oCombobox) Then
Exit Sub
@@ -2218,7 +2202,7 @@ Public Class frmValidator
ElseIf displayboxname.StartsWith(ClassControlCreator.PREFIX_LOOKUP) Then
LOGGER.Debug("Filling Lookup Control with Results")
- Dim oLookup As LookupControl3 = pnldesigner.Controls(displayboxname)
+ Dim oLookup As LookupControl3 = PanelValidatorControl.Controls(displayboxname)
If IsNothing(oLookup) Then
Exit Sub
@@ -2235,9 +2219,9 @@ Public Class frmValidator
End If
Else
If oResultTable.Rows.Count = 1 Then
- pnldesigner.Controls(displayboxname).Text = oResultTable.Rows(0).Item(0).ToString
+ PanelValidatorControl.Controls(displayboxname).Text = oResultTable.Rows(0).Item(0).ToString
Else
- pnldesigner.Controls(displayboxname).Text = "RESULT = resultDT.Rows.Count <> 1"
+ PanelValidatorControl.Controls(displayboxname).Text = "RESULT = resultDT.Rows.Count <> 1"
LOGGER.Info(">> Datatable-SQL: " & sqlCommand)
End If
End If
@@ -2531,7 +2515,7 @@ Public Class frmValidator
FillIndexValues(first)
- For Each oControl As Control In pnldesigner.Controls
+ For Each oControl As Control In PanelValidatorControl.Controls
LoadSQLData(oControl, DirectCast(oControl.Tag, ClassControlCreator.ControlMetadata).Guid)
Next
@@ -2617,7 +2601,7 @@ Public Class frmValidator
SplitContainer1.Panel2Collapsed = False
End Sub
Sub activate_controls(status As Boolean)
- Me.pnldesigner.Enabled = status
+ Me.PanelValidatorControl.Enabled = status
Me.btnSave.Enabled = status
End Sub
Private Function Windream_get_Doc_info()
@@ -2927,7 +2911,7 @@ Public Class frmValidator
Try
If DTVWCONTROL_INDEX.Rows.Count > 0 Then
Dim oCount As Integer = 0
- For Each oControl As Control In Me.pnldesigner.Controls
+ For Each oControl As Control In Me.PanelValidatorControl.Controls
If SingleAttribute <> "" Then
oIDBOverride = True
If SingleAttribute <> oControl.Name Then
@@ -3115,7 +3099,7 @@ Public Class frmValidator
Case "DevExpress.XtraGrid.GridControl"
oControlType = "DevExpress.XtraGrid.GridControl"
Dim oMyGridControl As GridControl = oControl
- Dim oDTColumnsPerDevExGrid As DataTable = DTGRID_COLUMNS.Clone()
+ Dim oDTColumnsPerDevExGrid As DataTable = DT_COLUMNS_GRID.Clone()
If oSourceIndexName = "" Then
MsgBox("Attention wrong configuration:" & vbNewLine & "for control " & oControl.Name & " no INDEX configured!" & vbNewLine & "Bitte prüfen Sie den Formulardesigner!", MsgBoxStyle.Critical, ADDITIONAL_TITLE)
Exit For
@@ -3138,7 +3122,7 @@ Public Class frmValidator
'Tabellendarstellung
Case "TABLE"
Dim oExpression = $"CONTROL_ID = {oControlId}"
- DTGRID_COLUMNS.Select(oExpression, "SEQUENCE").CopyToDataTable(oDTColumnsPerDevExGrid, LoadOption.PreserveChanges)
+ DT_COLUMNS_GRID.Select(oExpression, "SEQUENCE").CopyToDataTable(oDTColumnsPerDevExGrid, LoadOption.PreserveChanges)
Dim oColValuesfromSource As String()
LOGGER.Debug($"DevExpressGrid: {oDTColumnsPerDevExGrid.Rows.Count} Columns configured for control {oControlId}.")
@@ -3505,21 +3489,26 @@ Public Class frmValidator
' set_foreground()
If first_control Is Nothing = False Then first_control.Focus()
Try
- For Each oRow As DataRow In DTGRID_SQL_DEFINITION.Rows
+ Dim oDataTable As DataTable = DT_COLUMNS_GRID_WITH_SQL.Clone()
+ DT_COLUMNS_GRID_WITH_SQL.Select($"SQL_COMMAND not like '%#CTRL#%'").CopyToDataTable(oDataTable, LoadOption.PreserveChanges)
+
+ For Each oRow As DataRow In oDataTable.Rows
Dim oDEPENDING_CTRL_ID = oRow.Item("CONTROL_ID")
Dim oDEPENDING_COLUMN = oRow.Item("SPALTENNAME")
Dim oSqlCommand = oRow.Item("SQL_COMMAND")
Dim oCONNID = oRow.Item("CONNECTION_ID")
- oSqlCommand = clsPatterns.ReplaceAllValues(oSqlCommand, pnldesigner, True)
+ Dim oAdvancedLookup = oRow.Item("ADVANCED_LOOKUP")
+ oSqlCommand = clsPatterns.ReplaceAllValues(oSqlCommand, PanelValidatorControl, True)
Try
Dim oDTRESULT_FOR_COLUMN As DataTable = ClassDatabase.Return_Datatable_ConId(oSqlCommand, oCONNID, $"oDEPENDING_CTRL_ID: {oDEPENDING_CTRL_ID}")
If Not IsNothing(oDTRESULT_FOR_COLUMN) Then
LOGGER.Debug($"Trying to create a DropDown(FIV) for CONTROL-ID [{oDEPENDING_CTRL_ID}] - RowCount: [{oDTRESULT_FOR_COLUMN.Rows.Count}] ")
- For Each oControl As Control In pnldesigner.Controls
- If DirectCast(oControl.Tag, ClassControlCreator.ControlMetadata).Guid = oDEPENDING_CTRL_ID Then
- ClassControlCreator.GridTables.Item(oControl.Name).Add(oDEPENDING_COLUMN, oDTRESULT_FOR_COLUMN)
+ For Each oControl As Control In PanelValidatorControl.Controls
+ Dim oControlId = DirectCast(oControl.Tag, ClassControlCreator.ControlMetadata).Guid
+ If oControlId = oDEPENDING_CTRL_ID Then
+ ClassControlCreator.GridTables_CacheDatatableForColumn(oControlId, oDEPENDING_COLUMN, oSqlCommand, oCONNID, oAdvancedLookup)
Exit For
End If
Next
@@ -3699,7 +3688,7 @@ Public Class frmValidator
Private Function ForceGridValidation()
Dim oValidation As Boolean = True
- Dim oGrids = (From oControl In pnldesigner.Controls
+ Dim oGrids = (From oControl In PanelValidatorControl.Controls
Where TypeOf oControl Is GridControl
Select oControl).ToList()
@@ -3726,7 +3715,7 @@ Public Class frmValidator
Private Function btnFinish_continue()
Try
Dim oSQL = PROFIL_FINISH_SQL
- oSQL = clsPatterns.ReplaceAllValues(oSQL, pnldesigner, True)
+ oSQL = clsPatterns.ReplaceAllValues(oSQL, PanelValidatorControl, True)
Dim oDT_ACTIONS As DataTable = Database_ECM.GetDatatable(oSQL)
If IsNothing(oDT_ACTIONS) Then
@@ -3832,7 +3821,7 @@ Public Class frmValidator
Dim oGUID = oFinalIndexRow.Item("GUID")
Dim oSQLCommand = oFinalIndexRow.Item("SQL_COMMAND")
Dim oConnectionID = oFinalIndexRow.Item("CONNECTION_ID")
- oSQLCommand = clsPatterns.ReplaceAllValues(oSQLCommand, pnldesigner, True)
+ oSQLCommand = clsPatterns.ReplaceAllValues(oSQLCommand, PanelValidatorControl, True)
If IsNothing(oSQLCommand) Then
errormessage = "Error while replacing Values in final indexing - Check the log"
My.Settings.Save()
@@ -3899,61 +3888,61 @@ Public Class frmValidator
oResult(0) = oValue
LOGGER.Debug($"oIndexType {oIndexType.ToString}")
- If oIndexType > 4000 And oIndexType <5000 Then
+ If oIndexType > 4000 And oIndexType < 5000 Then
'If dr.Item("INDEXNAME").ToString.StartsWith("[%VKT") Then
- ' Dim PM_String = Return_PM_VEKTOR(value, dr.Item("INDEXNAME"))
- 'Hier muss nun separat as Vektorfeld indexiert werden
- If WMIndexVectofield(oValue, oFinalIndexRow.Item("INDEXNAME"), oFinalIndexRow.Item("PREVENT_DUPLICATES"), oFinalIndexRow.Item("ALLOW_NEW_VALUES")) = False Then
- LOGGER.Debug("Final Vektorindex '" & oFinalIndexRow.Item("INDEXNAME").ToString & "' has beens et suxxessfully!")
- Else
- errormessage = "Error in final indexing:" & vbNewLine & idxerr_message
- My.Settings.Save()
- frmError.ShowDialog()
- oErrorOcurred = True
- ItemWorked = False
- End If
- Else
- LOGGER.Debug("Now the final indexing...")
- If oValue.ToUpper = "SQL-Command".ToUpper Then
- MsgBox("Something went wrong while final-indexing. Check Your log and inform the admin-team!", MsgBoxStyle.Critical, ADDITIONAL_TITLE)
- LOGGER.Warn("Something went wrong while final-indexing")
- Exit For
- End If
- Dim oFIResult As Boolean = False
- If IDB_ACTIVE = False Then
- If Indexiere_File(CURRENT_WMFILE, oFinalIndexRow.Item("INDEXNAME"), oResult) = True Then
- oFIResult = True
- LOGGER.Debug("FINALER INDEX '" & oFinalIndexRow.Item("INDEXNAME") & "' WURDE ERFOLGREICH GESETZT")
+ ' Dim PM_String = Return_PM_VEKTOR(value, dr.Item("INDEXNAME"))
+ 'Hier muss nun separat as Vektorfeld indexiert werden
+ If WMIndexVectofield(oValue, oFinalIndexRow.Item("INDEXNAME"), oFinalIndexRow.Item("PREVENT_DUPLICATES"), oFinalIndexRow.Item("ALLOW_NEW_VALUES")) = False Then
+ LOGGER.Debug("Final Vektorindex '" & oFinalIndexRow.Item("INDEXNAME").ToString & "' has beens et suxxessfully!")
+ Else
+ errormessage = "Error in final indexing:" & vbNewLine & idxerr_message
+ My.Settings.Save()
+ frmError.ShowDialog()
+ oErrorOcurred = True
+ ItemWorked = False
+ End If
+ Else
+ LOGGER.Debug("Now the final indexing...")
+ If oValue.ToUpper = "SQL-Command".ToUpper Then
+ MsgBox("Something went wrong while final-indexing. Check Your log and inform the admin-team!", MsgBoxStyle.Critical, ADDITIONAL_TITLE)
+ LOGGER.Warn("Something went wrong while final-indexing")
+ Exit For
+ End If
+ Dim oFIResult As Boolean = False
+ If IDB_ACTIVE = False Then
+ If Indexiere_File(CURRENT_WMFILE, oFinalIndexRow.Item("INDEXNAME"), oResult) = True Then
+ oFIResult = True
+ LOGGER.Debug("FINALER INDEX '" & oFinalIndexRow.Item("INDEXNAME") & "' WURDE ERFOLGREICH GESETZT")
- 'Nun das Logging
- If PROFIL_LOGINDEX <> "" Then
- Dim logstr = Return_LOGString(oValue, "DDFINALINDEX", oFinalIndexRow.Item("INDEXNAME"))
- WMIndexVectofield(logstr, PROFIL_LOGINDEX)
- End If
- End If
- Else
- If IDBData.SetVariableValue(oFinalIndexRow.Item("INDEXNAME"), oValue) = True Then
- oFIResult = True
- LOGGER.Debug($"Final index IDB '{oFinalIndexRow.Item("INDEXNAME")}' was updated with [{oValue.ToString}]")
- End If
- End If
- If oFIResult = False Then
- errormessage = "Error in final indexing:" & vbNewLine & idxerr_message
- My.Settings.Save()
- frmError.ShowDialog()
- oErrorOcurred = True
- ItemWorked = False
- End If
+ 'Nun das Logging
+ If PROFIL_LOGINDEX <> "" Then
+ Dim logstr = Return_LOGString(oValue, "DDFINALINDEX", oFinalIndexRow.Item("INDEXNAME"))
+ WMIndexVectofield(logstr, PROFIL_LOGINDEX)
+ End If
+ End If
+ Else
+ If IDBData.SetVariableValue(oFinalIndexRow.Item("INDEXNAME"), oValue) = True Then
+ oFIResult = True
+ LOGGER.Debug($"Final index IDB '{oFinalIndexRow.Item("INDEXNAME")}' was updated with [{oValue.ToString}]")
+ End If
+ End If
+ If oFIResult = False Then
+ errormessage = "Error in final indexing:" & vbNewLine & idxerr_message
+ My.Settings.Save()
+ frmError.ShowDialog()
+ oErrorOcurred = True
+ ItemWorked = False
+ End If
- End If
- If oErrorOcurred = True Then
- ItemWorked = False
- Exit For
- End If
- Next
- End If
- Catch ex As Exception
- LOGGER.Warn($"Error in finalIndexing: {ex.Message}")
+ End If
+ If oErrorOcurred = True Then
+ ItemWorked = False
+ Exit For
+ End If
+ Next
+ End If
+ Catch ex As Exception
+ LOGGER.Warn($"Error in finalIndexing: {ex.Message}")
oErrorOcurred = True
End Try
End If
@@ -3993,7 +3982,7 @@ Public Class frmValidator
CTRL_ID = CTRL_ID.Replace("CTRLID", "")
Dim value_from_control
If IsNumeric(CTRL_ID) Then
- For Each oControl As Control In Me.pnldesigner.Controls
+ For Each oControl As Control In Me.PanelValidatorControl.Controls
Try
If IsNothing(DirectCast(oControl.Tag, ClassControlCreator.ControlMetadata).Guid) Then
Continue For
@@ -4145,11 +4134,6 @@ Public Class frmValidator
MsgBox("Unhandled error occured ... please check your log!", MsgBoxStyle.Exclamation, ADDITIONAL_TITLE)
ItemWorked = False
Else
- 'Das Dokument freigeben und as editiert markieren
- 'Dim sql = String.Format("UPDATE TBPM_PROFILE_FILES SET IN_WORK = 0, IN_WORK_WHEN = NULL, WORK_USER = '{0}', EDIT = 1 WHERE GUID = {1}", USER_USERNAME, CURRENT_DOC_GUID)
- 'Database_ECM.ExecuteNonQuery(sql)
- Anzahl_validierte_Dok += 1
- 'tstrlbl_Info.Text = "Anzahl Dateien: " & TBPM_PROFILE_FILESTableAdapter.cmdGet_Anzahl(PROFIL_ID)
LOGGER.Debug("Validation of document ended successfully!")
Dim oPROCSQL = $"EXEC PRPM_CHECK_NEXT_WF {CURRENT_DOC_GUID}"
Database_ECM.ExecuteNonQuery(oPROCSQL)
@@ -4262,7 +4246,7 @@ Public Class frmValidator
Try
Dim oMissing As Boolean = False
'Jedes Control auf panel durchlaufen
- For Each oControl As Control In Me.pnldesigner.Controls
+ For Each oControl As Control In Me.PanelValidatorControl.Controls
'Der input der Box,Cmb muss jedes mal geleert werden
Dim oMyInput As String = ""
'Jedes Control in Konfig Tab durchlaufn
@@ -5675,4 +5659,14 @@ Public Class frmValidator
End If
End Sub
+
+ Private Sub BarButtonItem6_ItemClick_2(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonItem6.ItemClick
+ For Each oControl In PanelValidatorControl.Controls
+ If TypeOf oControl Is GridControl Then
+ Dim oGrid = DirectCast(oControl, GridControl)
+ Dim oView = DirectCast(oGrid.FocusedView, GridView)
+ oView.FocusInvalidRow()
+ End If
+ Next
+ End Sub
End Class
\ No newline at end of file
diff --git a/app/DD_PM_WINDREAM/frmValidatorSearch.vb b/app/DD_PM_WINDREAM/frmValidatorSearch.vb
index 2e0c106..b6dcc87 100644
--- a/app/DD_PM_WINDREAM/frmValidatorSearch.vb
+++ b/app/DD_PM_WINDREAM/frmValidatorSearch.vb
@@ -414,7 +414,7 @@ Public Class frmValidatorSearch
If IsNothing(_DTSQLSearches) Then Exit Sub
Dim oConID = _DTSQLSearches.Rows(XtraTabControlSQL.SelectedTabPageIndex).Item("CONN_ID")
Dim oCommand = _DTSQLSearches.Rows(XtraTabControlSQL.SelectedTabPageIndex).Item("SQL_COMMAND")
- oCommand = clsPatterns.ReplaceAllValues(oCommand, _frmValidator.pnldesigner, True)
+ oCommand = clsPatterns.ReplaceAllValues(oCommand, _frmValidator.PanelValidatorControl, True)
Dim oTabIndex = _DTSQLSearches.Rows(XtraTabControlSQL.SelectedTabPageIndex).Item("TAB_INDEX")
Dim oTabCaption = _DTSQLSearches.Rows(XtraTabControlSQL.SelectedTabPageIndex).Item("TAB_TITLE")
RefreshTabSQL(oConID, oCommand, oTabIndex, oTabCaption)
@@ -423,7 +423,7 @@ Public Class frmValidatorSearch
If IsNothing(_DTDocSearches) Then Exit Sub
Dim oConID = _DTDocSearches.Rows(XtraTabControlDocs.SelectedTabPageIndex).Item("CONN_ID")
Dim oCommand = _DTDocSearches.Rows(XtraTabControlDocs.SelectedTabPageIndex).Item("SQL_COMMAND")
- oCommand = clsPatterns.ReplaceAllValues(oCommand, _frmValidator.pnldesigner, True)
+ oCommand = clsPatterns.ReplaceAllValues(oCommand, _frmValidator.PanelValidatorControl, True)
Dim oTabIndex = _DTDocSearches.Rows(XtraTabControlDocs.SelectedTabPageIndex).Item("TAB_INDEX")
Dim oTabCaption = _DTDocSearches.Rows(XtraTabControlDocs.SelectedTabPageIndex).Item("TAB_TITLE")
RefreshTabDoc(oConID, oCommand, oTabIndex, oTabCaption)
@@ -614,7 +614,7 @@ Public Class frmValidatorSearch
_DTSQLSearches = BASEDATA_DT_PROFILE_SEARCHES_SQL
Dim oConID = BASEDATA_DT_PROFILE_SEARCHES_SQL.Rows(0).Item("CONN_ID")
Dim oCommand = BASEDATA_DT_PROFILE_SEARCHES_SQL.Rows(0).Item("SQL_COMMAND")
- oCommand = clsPatterns.ReplaceAllValues(oCommand, _frmValidator.pnldesigner, True)
+ oCommand = clsPatterns.ReplaceAllValues(oCommand, _frmValidator.PanelValidatorControl, True)
XtraTabControlSQL.SelectedTabPageIndex = 0
Refresh_Load_GridSQL(oConID, oCommand, 0, BASEDATA_DT_PROFILE_SEARCHES_SQL.Rows(0).Item("TAB_TITLE"))
End If
@@ -622,7 +622,7 @@ Public Class frmValidatorSearch
_DTDocSearches = BASEDATA_DT_PROFILE_SEARCHES_DOC
Dim oConID = BASEDATA_DT_PROFILE_SEARCHES_DOC.Rows(0).Item("CONN_ID")
Dim oCommand = BASEDATA_DT_PROFILE_SEARCHES_DOC.Rows(0).Item("SQL_COMMAND")
- oCommand = clsPatterns.ReplaceAllValues(oCommand, _frmValidator.pnldesigner, True)
+ oCommand = clsPatterns.ReplaceAllValues(oCommand, _frmValidator.PanelValidatorControl, True)
XtraTabControlDocs.SelectedTabPageIndex = 0
RefreshTabDoc(oConID, oCommand, 0, BASEDATA_DT_PROFILE_SEARCHES_DOC.Rows(0).Item("TAB_TITLE"))
End If
@@ -639,7 +639,7 @@ Public Class frmValidatorSearch
Dim oTabIndex = XtraTabControlDocs.SelectedTabPageIndex
Dim oConID = BASEDATA_DT_PROFILE_SEARCHES_DOC.Rows(oTabIndex).Item("CONN_ID")
Dim oCommand = BASEDATA_DT_PROFILE_SEARCHES_DOC.Rows(oTabIndex).Item("SQL_COMMAND")
- oCommand = clsPatterns.ReplaceAllValues(oCommand, _frmValidator.pnldesigner, True)
+ oCommand = clsPatterns.ReplaceAllValues(oCommand, _frmValidator.PanelValidatorControl, True)
RefreshTabDoc(oConID, oCommand, oTabIndex, BASEDATA_DT_PROFILE_SEARCHES_DOC.Rows(oTabIndex).Item("TAB_TITLE"))
End Sub
@@ -671,7 +671,7 @@ Public Class frmValidatorSearch
Dim oTabIndex = XtraTabControlSQL.SelectedTabPageIndex
Dim oConID = BASEDATA_DT_PROFILE_SEARCHES_SQL.Rows(oTabIndex).Item("CONN_ID")
Dim oCommand = BASEDATA_DT_PROFILE_SEARCHES_SQL.Rows(oTabIndex).Item("SQL_COMMAND")
- oCommand = clsPatterns.ReplaceAllValues(oCommand, _frmValidator.pnldesigner, True)
+ oCommand = clsPatterns.ReplaceAllValues(oCommand, _frmValidator.PanelValidatorControl, True)
RefreshTabSQL(oConID, oCommand, oTabIndex, BASEDATA_DT_PROFILE_SEARCHES_SQL.Rows(oTabIndex).Item("TAB_TITLE"))
End Sub
diff --git a/app/SetupVS19/Product.wxs b/app/SetupVS19/Product.wxs
index 1eee030..f9b689d 100644
--- a/app/SetupVS19/Product.wxs
+++ b/app/SetupVS19/Product.wxs
@@ -118,6 +118,7 @@
+