FORMEL_SQL release Candidate

This commit is contained in:
Developer01
2026-03-25 15:20:39 +01:00
parent c464f24681
commit cb51396952
16 changed files with 2966 additions and 2130 deletions

View File

@@ -26,6 +26,8 @@ Namespace ControlCreator
Private newRowModified As Boolean Private newRowModified As Boolean
Private isApplyingInheritedValue As Boolean Private isApplyingInheritedValue As Boolean
Private _FormulaColumnNames As New HashSet(Of String)(StringComparer.OrdinalIgnoreCase) Private _FormulaColumnNames As New HashSet(Of String)(StringComparer.OrdinalIgnoreCase)
Private _FormulaSqlColumns As New Dictionary(Of String, FormulaSqlDefinition)(StringComparer.OrdinalIgnoreCase)
Private _isRefreshingFormula As Boolean = False ' *** NEU: Flag für Formel-Refresh *** Private _isRefreshingFormula As Boolean = False ' *** NEU: Flag für Formel-Refresh ***
Private _currencySymbol As String = "" Private _currencySymbol As String = ""
''' <summary> ''' <summary>
@@ -36,6 +38,63 @@ Namespace ControlCreator
''' auf das aktuelle Symbol zugreifen. ''' auf das aktuelle Symbol zugreifen.
''' </summary> ''' </summary>
Private Shared _CurrencySymbolByGridName As New Dictionary(Of String, String)(StringComparer.OrdinalIgnoreCase) Private Shared _CurrencySymbolByGridName As New Dictionary(Of String, String)(StringComparer.OrdinalIgnoreCase)
''' <summary>
''' Definiert eine SQL-basierte Formelspalte mit allen nötigen Metadaten.
''' </summary>
Private Class FormulaSqlDefinition
Public Property SqlTemplate As String
Public Property ReferencedColumns As List(Of String)
End Class
''' <summary>
''' Extrahiert alle {#TBCOL#ColumnName}-Platzhalter aus einem SQL-Template.
''' </summary>
Private Function GetReferencedSqlColumnNames(sqlTemplate As String) As List(Of String)
Dim columnNames As New List(Of String)
Dim pattern As String = "\{#TBCOL#([^}]+)\}"
Dim matches = Regex.Matches(sqlTemplate, pattern)
For Each match As Match In matches
Dim colName = match.Groups(1).Value
If Not columnNames.Contains(colName, StringComparer.OrdinalIgnoreCase) Then
columnNames.Add(colName)
End If
Next
Return columnNames
End Function
''' <summary>
''' Ersetzt alle {#TBCOL#ColumnName}-Platzhalter durch die aktuellen Zeilenwerte.
''' Gibt den ausführbaren SQL-String zurück.
''' </summary>
Private Function ResolveSqlTemplate(sqlTemplate As String, pView As GridView, rowHandle As Integer) As String
Dim resolvedSql As String = sqlTemplate
Dim pattern As String = "\{#TBCOL#([^}]+)\}"
Dim matches = Regex.Matches(sqlTemplate, pattern)
For Each match As Match In matches
Dim colName = match.Groups(1).Value
Dim cellValue = pView.GetRowCellValue(rowHandle, colName)
Dim safeValue As String
If cellValue Is Nothing OrElse IsDBNull(cellValue) Then
safeValue = "NULL"
ElseIf TypeOf cellValue Is String Then
' SQL-Injection-Schutz: Einfache Anführungszeichen escapen
safeValue = "'" & cellValue.ToString().Replace("'", "''") & "'"
ElseIf TypeOf cellValue Is Boolean Then
safeValue = If(CBool(cellValue), "1", "0")
Else
' Numerische Werte: Invariant-Format (Punkt als Dezimaltrenner)
safeValue = Convert.ToString(cellValue, CultureInfo.InvariantCulture)
End If
resolvedSql = resolvedSql.Replace(match.Value, safeValue)
_Logger.Debug("Resolved SQL placeholder [{0}] with value [{1}] → {2}", match.Value, cellValue, safeValue)
Next
_Logger.Debug("Final resolved SQL: {0}", resolvedSql)
Return resolvedSql
End Function
Public Sub New(pLogConfig As LogConfig, pGridTables As Dictionary(Of Integer, Dictionary(Of String, RepositoryItem)), pCurrencySymbol As String) Public Sub New(pLogConfig As LogConfig, pGridTables As Dictionary(Of Integer, Dictionary(Of String, RepositoryItem)), pCurrencySymbol As String)
_LogConfig = pLogConfig _LogConfig = pLogConfig
_Logger = pLogConfig.GetLogger() _Logger = pLogConfig.GetLogger()
@@ -81,9 +140,19 @@ Namespace ControlCreator
End Select End Select
Dim oFormulaExpression = ObjectEx.NotNull(oRow.Item("FORMULA_EXPRESSION"), String.Empty) Dim oFormulaExpression = ObjectEx.NotNull(oRow.Item("FORMULA_EXPRESSION"), String.Empty)
Dim oFormulaSql = ObjectEx.NotNull(oRow.Item("FORMULA_SQL"), String.Empty)
' *** VALIDIERUNG: Beides gleichzeitig ist nicht erlaubt ***
If oFormulaExpression <> String.Empty AndAlso oFormulaSql <> String.Empty Then
_Logger.Warn("⚠️ [CreateGridColumns] Column [{0}] has BOTH FORMULA_EXPRESSION and FORMULA_SQL FORMULA_SQL will be ignored.", oColumn.ColumnName)
' FORMULA_EXPRESSION hat Vorrang → nur Expression wird als DataTable.Expression gesetzt
End If
If oFormulaExpression <> String.Empty Then If oFormulaExpression <> String.Empty Then
' Expression merken, aber erst später setzen ' FORMULA_EXPRESSION: Expression merken, aber erst später setzen (DataTable.Expression)
columnsWithExpressions.Add(New Tuple(Of DataColumn, String)(oColumn, oFormulaExpression)) columnsWithExpressions.Add(New Tuple(Of DataColumn, String)(oColumn, oFormulaExpression))
' HINWEIS: FORMULA_SQL-Spalten bekommen KEINE DataTable.Expression,
' da deren Werte programmatisch via SetRowCellValue gesetzt werden.
End If End If
Try Try
@@ -279,7 +348,6 @@ Namespace ControlCreator
pGridView.BeginUpdate() pGridView.BeginUpdate()
Try Try
' Schritt 1: Altes RepositoryItem entfernen (ohne vorher ColumnEdit=Nothing) ' Schritt 1: Altes RepositoryItem entfernen (ohne vorher ColumnEdit=Nothing)
' ColumnEdit NICHT auf Nothing setzen das würde einen Zwischenrender auslösen
Dim oldItems = pGrid.RepositoryItems.OfType(Of RepositoryItemTextEdit)(). Dim oldItems = pGrid.RepositoryItems.OfType(Of RepositoryItemTextEdit)().
Where(Function(item) item.MaskSettings.MaskExpression = "c").ToList() Where(Function(item) item.MaskSettings.MaskExpression = "c").ToList()
For Each oldItem In oldItems For Each oldItem In oldItems
@@ -297,19 +365,33 @@ Namespace ControlCreator
If ObjectEx.NotNull(oColumnData.Item("TYPE_COLUMN"), String.Empty).ToString() <> "CURRENCY" Then Continue For If ObjectEx.NotNull(oColumnData.Item("TYPE_COLUMN"), String.Empty).ToString() <> "CURRENCY" Then Continue For
Dim oIsFormula As Boolean = Dim oIsFormulaExpression As Boolean =
ObjectEx.NotNull(oColumnData.Item("FORMULA_EXPRESSION"), String.Empty) <> String.Empty ObjectEx.NotNull(oColumnData.Item("FORMULA_EXPRESSION"), String.Empty) <> String.Empty
Dim oIsFormulaSql As Boolean =
ObjectEx.NotNull(oColumnData.Item("FORMULA_SQL"), String.Empty) <> String.Empty
' Entweder/Oder: Beide gleichzeitig → Expression gewinnt, SQL ignoriert
If oIsFormulaExpression AndAlso oIsFormulaSql Then
_Logger.Warn("[UpdateCurrencyFormat] Column [{0}] has BOTH FORMULA_EXPRESSION and FORMULA_SQL treating as EXPRESSION only.", oCol.FieldName)
oIsFormulaSql = False
End If
' Spalte ist eine Formel-Spalte (Expression ODER SQL) → ReadOnly, kein ColumnEdit
Dim oIsAnyFormula As Boolean = oIsFormulaExpression OrElse oIsFormulaSql
' DisplayFormat immer aktualisieren ' DisplayFormat immer aktualisieren
oCol.DisplayFormat.FormatType = FormatType.Custom oCol.DisplayFormat.FormatType = FormatType.Custom
oCol.DisplayFormat.FormatString = $"#,##0.00 {_currencySymbol}" oCol.DisplayFormat.FormatString = $"#,##0.00 {_currencySymbol}"
If Not oIsFormula AndAlso oCol.OptionsColumn.AllowEdit Then If Not oIsAnyFormula AndAlso oCol.OptionsColumn.AllowEdit Then
' Direkt neues RepositoryItem setzen kein Umweg über RepositoryItems-Collection ' Nur editierbare Nicht-Formel-Spalten bekommen ein ColumnEdit
oCol.ColumnEdit = riTextEdit oCol.ColumnEdit = riTextEdit
_Logger.Debug("[UpdateCurrencyFormat] ColumnEdit=[{0}] für [{1}]", _Logger.Debug("[UpdateCurrencyFormat] ColumnEdit=[{0}] für [{1}]",
DirectCast(oCol.ColumnEdit, RepositoryItemTextEdit).DisplayFormat.FormatString, DirectCast(oCol.ColumnEdit, RepositoryItemTextEdit).DisplayFormat.FormatString,
oCol.FieldName) oCol.FieldName)
Else
_Logger.Debug("[UpdateCurrencyFormat] [{0}]: ReadOnly/Formula nur DisplayFormat aktualisiert (IsExpression=[{1}], IsSql=[{2}])",
oCol.FieldName, oIsFormulaExpression, oIsFormulaSql)
End If End If
If ObjectEx.NotNull(oColumnData.Item("SUMMARY_FUNCTION"), String.Empty) = If ObjectEx.NotNull(oColumnData.Item("SUMMARY_FUNCTION"), String.Empty) =
@@ -322,13 +404,6 @@ Namespace ControlCreator
pGridView.EndUpdate() pGridView.EndUpdate()
End Try End Try
' *** KEIN DataSource-Rebind ***
' DataSource-Rebind (pGrid.DataSource = Nothing / = oCurrentDataSource) wirft
' den gecachten Display-Text weg und erzwingt einen Neu-Render durch DevExpress.
' Dabei greift DevExpress auf die Mask-Formatierung des RepositoryItems zurück
' (z.B. "c" mit EUR-Culture) statt auf DisplayFormat → EUR bleibt sichtbar.
' Stattdessen: LayoutChanged + alle Zeilen invalidieren → DevExpress rendert
' die Zellen neu mit dem aktualisierten DisplayFormat und ColumnEdit.
pGridView.LayoutChanged() pGridView.LayoutChanged()
For i As Integer = 0 To pGridView.DataRowCount - 1 For i As Integer = 0 To pGridView.DataRowCount - 1
pGridView.InvalidateRow(i) pGridView.InvalidateRow(i)
@@ -372,7 +447,10 @@ Namespace ControlCreator
If oFormulaExpression <> String.Empty Then If oFormulaExpression <> String.Empty Then
oIsReadOnly = True oIsReadOnly = True
End If End If
Dim oSQLExpression = ObjectEx.NotNull(oColumnData.Item("FORMULA_SQL"), String.Empty)
If oSQLExpression <> String.Empty Then
oIsReadOnly = True
End If
oCol.OptionsColumn.AllowEdit = Not oIsReadOnly oCol.OptionsColumn.AllowEdit = Not oIsReadOnly
@@ -448,6 +526,7 @@ Namespace ControlCreator
End With End With
End If End If
End Sub End Sub
Public Sub ConfigureViewColumnsCurrency(pColumnTable As DataTable, pGridView As GridView, pGrid As DevExpress.XtraGrid.GridControl) Public Sub ConfigureViewColumnsCurrency(pColumnTable As DataTable, pGridView As GridView, pGrid As DevExpress.XtraGrid.GridControl)
Dim oCultureInfo As CultureInfo = New CultureInfo("de-DE") Dim oCultureInfo As CultureInfo = New CultureInfo("de-DE")
oCultureInfo.NumberFormat.CurrencySymbol = _currencySymbol oCultureInfo.NumberFormat.CurrencySymbol = _currencySymbol
@@ -462,7 +541,6 @@ Namespace ControlCreator
riTextEdit.DisplayFormat.FormatType = FormatType.Custom riTextEdit.DisplayFormat.FormatType = FormatType.Custom
riTextEdit.DisplayFormat.FormatString = $"#,##0.00 {_currencySymbol}" riTextEdit.DisplayFormat.FormatString = $"#,##0.00 {_currencySymbol}"
' *** DIAGNOSE 1: Zustand der RepositoryItems VOR der Zuweisung ***
_Logger.Debug("[ConfigureViewColumnsCurrency] riTextEdit erstellt: DisplayFormat=[{0}], HashCode=[{1}]", _Logger.Debug("[ConfigureViewColumnsCurrency] riTextEdit erstellt: DisplayFormat=[{0}], HashCode=[{1}]",
riTextEdit.DisplayFormat.FormatString, riTextEdit.GetHashCode()) riTextEdit.DisplayFormat.FormatString, riTextEdit.GetHashCode())
_Logger.Debug("[ConfigureViewColumnsCurrency] pGrid.RepositoryItems.Count VOR Schleife=[{0}]", _Logger.Debug("[ConfigureViewColumnsCurrency] pGrid.RepositoryItems.Count VOR Schleife=[{0}]",
@@ -478,22 +556,34 @@ Namespace ControlCreator
If oColumnType <> "CURRENCY" Then Continue For If oColumnType <> "CURRENCY" Then Continue For
Dim oFormulaExpression = ObjectEx.NotNull(oColumnData.Item("FORMULA_EXPRESSION"), String.Empty) Dim oFormulaExpression = ObjectEx.NotNull(oColumnData.Item("FORMULA_EXPRESSION"), String.Empty)
Dim oIsFormula As Boolean = oFormulaExpression <> String.Empty Dim oFormulaSql = ObjectEx.NotNull(oColumnData.Item("FORMULA_SQL"), String.Empty)
If oIsFormula Then ' Entweder/Oder: Beide gleichzeitig → Expression gewinnt, SQL ignoriert
If oFormulaExpression <> String.Empty AndAlso oFormulaSql <> String.Empty Then
_Logger.Warn("[ConfigureViewColumnsCurrency] Column [{0}] has BOTH FORMULA_EXPRESSION and FORMULA_SQL treating as EXPRESSION only.", oCol.FieldName)
oFormulaSql = String.Empty
End If
' Spalte ist eine Formel-Spalte (Expression ODER SQL) → nur DisplayFormat, kein ColumnEdit
Dim oIsAnyFormula As Boolean = oFormulaExpression <> String.Empty OrElse oFormulaSql <> String.Empty
If oIsAnyFormula Then
' Formel-Spalten (Expression oder SQL): nur DisplayFormat setzen
oCol.DisplayFormat.FormatType = FormatType.Custom oCol.DisplayFormat.FormatType = FormatType.Custom
oCol.DisplayFormat.FormatString = $"#,##0.00 {_currencySymbol}" oCol.DisplayFormat.FormatString = $"#,##0.00 {_currencySymbol}"
_Logger.Debug("[ConfigureViewColumnsCurrency] Formel-Spalte [{0}]: DisplayFormat=[{1}], RepositoryItems.Count=[{2}]", _Logger.Debug("[ConfigureViewColumnsCurrency] Formel-Spalte [{0}] (IsExpression=[{1}], IsSql=[{2}]): DisplayFormat=[{3}], RepositoryItems.Count=[{4}]",
oCol.FieldName, oCol.DisplayFormat.FormatString, pGrid.RepositoryItems.Count) oCol.FieldName,
oFormulaExpression <> String.Empty,
oFormulaSql <> String.Empty,
oCol.DisplayFormat.FormatString,
pGrid.RepositoryItems.Count)
ElseIf oCol.OptionsColumn.AllowEdit Then ElseIf oCol.OptionsColumn.AllowEdit Then
' *** DIAGNOSE 2: RepositoryItems-Count VOR und NACH ColumnEdit-Zuweisung ***
_Logger.Debug("[ConfigureViewColumnsCurrency] [{0}] VOR ColumnEdit: RepositoryItems.Count=[{1}]", _Logger.Debug("[ConfigureViewColumnsCurrency] [{0}] VOR ColumnEdit: RepositoryItems.Count=[{1}]",
oCol.FieldName, pGrid.RepositoryItems.Count) oCol.FieldName, pGrid.RepositoryItems.Count)
oCol.ColumnEdit = riTextEdit oCol.ColumnEdit = riTextEdit
' *** DIAGNOSE 3: Prüfen ob DevExpress das Item intern zu RepositoryItems hinzugefügt hat ***
_Logger.Debug("[ConfigureViewColumnsCurrency] [{0}] NACH ColumnEdit: RepositoryItems.Count=[{1}]", _Logger.Debug("[ConfigureViewColumnsCurrency] [{0}] NACH ColumnEdit: RepositoryItems.Count=[{1}]",
oCol.FieldName, pGrid.RepositoryItems.Count) oCol.FieldName, pGrid.RepositoryItems.Count)
@@ -504,7 +594,6 @@ Namespace ControlCreator
If(assignedEdit IsNot Nothing, assignedEdit.DisplayFormat.FormatString, "N/A"), If(assignedEdit IsNot Nothing, assignedEdit.DisplayFormat.FormatString, "N/A"),
If(assignedEdit IsNot Nothing, assignedEdit.GetHashCode(), -1)) If(assignedEdit IsNot Nothing, assignedEdit.GetHashCode(), -1))
' *** DIAGNOSE 4: Alle Items in RepositoryItems ausgeben ***
For i As Integer = 0 To pGrid.RepositoryItems.Count - 1 For i As Integer = 0 To pGrid.RepositoryItems.Count - 1
_Logger.Debug("[ConfigureViewColumnsCurrency] RepositoryItems[{0}]: Type=[{1}], HashCode=[{2}]", _Logger.Debug("[ConfigureViewColumnsCurrency] RepositoryItems[{0}]: Type=[{1}], HashCode=[{2}]",
i, pGrid.RepositoryItems(i).GetType().Name, pGrid.RepositoryItems(i).GetHashCode()) i, pGrid.RepositoryItems(i).GetType().Name, pGrid.RepositoryItems(i).GetHashCode())
@@ -512,8 +601,6 @@ Namespace ControlCreator
End If End If
Next Next
' *** DIAGNOSE 5: CustomColumnDisplayText feuert es überhaupt? ***
' Temporär direkt hier einen einmaligen Test-Handler registrieren
Dim oTestFired As Boolean = False Dim oTestFired As Boolean = False
AddHandler pGridView.CustomColumnDisplayText, AddHandler pGridView.CustomColumnDisplayText,
Sub(sender As Object, e As CustomColumnDisplayTextEventArgs) Sub(sender As Object, e As CustomColumnDisplayTextEventArgs)
@@ -521,7 +608,6 @@ Namespace ControlCreator
Return Return
End If End If
' Prüfe ob Spalte vom Typ CURRENCY ist
Dim oColumnData As DataRow = pColumnTable. Dim oColumnData As DataRow = pColumnTable.
Select($"SPALTENNAME = '{e.Column.FieldName}'"). Select($"SPALTENNAME = '{e.Column.FieldName}'").
FirstOrDefault() FirstOrDefault()
@@ -530,9 +616,8 @@ Namespace ControlCreator
oColumnData.Item("TYPE_COLUMN").ToString() = "CURRENCY" Then oColumnData.Item("TYPE_COLUMN").ToString() = "CURRENCY" Then
Try Try
' *** KERN-FIX: Hole Symbol aus SHARED Dictionary statt Instanz-Feld *** Dim currentSymbol As String = _currencySymbol
Dim currentSymbol As String = _currencySymbol ' Fallback Dim gridName As String = pGrid.Name
Dim gridName As String = pGrid.Name ' <-- FIX: pGrid statt pControl
SyncLock _CurrencySymbolByGridName SyncLock _CurrencySymbolByGridName
If _CurrencySymbolByGridName.ContainsKey(gridName) Then If _CurrencySymbolByGridName.ContainsKey(gridName) Then
currentSymbol = _CurrencySymbolByGridName(gridName) currentSymbol = _CurrencySymbolByGridName(gridName)
@@ -540,27 +625,21 @@ Namespace ControlCreator
End SyncLock End SyncLock
Dim oValue As Double Dim oValue As Double
' *** KRITISCH: Robustes Parsing unabhängig vom Dezimaltrenner ***
If TypeOf e.Value Is Double OrElse TypeOf e.Value Is Decimal Then If TypeOf e.Value Is Double OrElse TypeOf e.Value Is Decimal Then
oValue = Convert.ToDouble(e.Value) oValue = Convert.ToDouble(e.Value)
ElseIf TypeOf e.Value Is String Then ElseIf TypeOf e.Value Is String Then
Dim oStringValue As String = e.Value.ToString().Trim() Dim oStringValue As String = e.Value.ToString().Trim()
' Versuche zuerst deutsches Format (1.234,56)
Dim oDeCulture As CultureInfo = New CultureInfo("de-DE") Dim oDeCulture As CultureInfo = New CultureInfo("de-DE")
If Double.TryParse(oStringValue, NumberStyles.Currency Or NumberStyles.Number, oDeCulture, oValue) Then If Double.TryParse(oStringValue, NumberStyles.Currency Or NumberStyles.Number, oDeCulture, oValue) Then
' Erfolgreich mit deutschem Format geparst
ElseIf Double.TryParse(oStringValue, NumberStyles.Currency Or NumberStyles.Number, CultureInfo.InvariantCulture, oValue) Then ElseIf Double.TryParse(oStringValue, NumberStyles.Currency Or NumberStyles.Number, CultureInfo.InvariantCulture, oValue) Then
' Erfolgreich mit invariantem Format (Punkt als Dezimaltrenner)
Else Else
' Fallback: Systemkultur
oValue = Convert.ToDouble(oStringValue, CultureInfo.CurrentCulture) oValue = Convert.ToDouble(oStringValue, CultureInfo.CurrentCulture)
End If End If
Else Else
oValue = Convert.ToDouble(e.Value) oValue = Convert.ToDouble(e.Value)
End If End If
' Formatierung IMMER mit deutscher Kultur (Komma als Dezimaltrenner)
Dim oDeCultureInfo As CultureInfo = New CultureInfo("de-DE") Dim oDeCultureInfo As CultureInfo = New CultureInfo("de-DE")
e.DisplayText = oValue.ToString("N2", oDeCultureInfo) & " " & currentSymbol e.DisplayText = oValue.ToString("N2", oDeCultureInfo) & " " & currentSymbol
@@ -570,10 +649,9 @@ Namespace ControlCreator
Catch ex As Exception Catch ex As Exception
_Logger.Warn("⚠️ Could not format currency value [{0}] for column [{1}]: {2}", _Logger.Warn("⚠️ Could not format currency value [{0}] for column [{1}]: {2}",
e.Value, e.Column.FieldName, ex.Message) e.Value, e.Column.FieldName, ex.Message)
' Fallback: Original-Wert + Symbol
Dim fallbackSymbol As String = _currencySymbol Dim fallbackSymbol As String = _currencySymbol
SyncLock _CurrencySymbolByGridName SyncLock _CurrencySymbolByGridName
If _CurrencySymbolByGridName.ContainsKey(pGrid.Name) Then ' <-- FIX: pGrid statt pControl If _CurrencySymbolByGridName.ContainsKey(pGrid.Name) Then
fallbackSymbol = _CurrencySymbolByGridName(pGrid.Name) fallbackSymbol = _CurrencySymbolByGridName(pGrid.Name)
End If End If
End SyncLock End SyncLock
@@ -584,12 +662,40 @@ Namespace ControlCreator
End Sub End Sub
Public Sub ConfigureViewEvents(pColumnTable As DataTable, pGridView As GridView, pControl As Windows.Forms.Control, pControlId As Integer) Public Sub ConfigureViewEvents(pColumnTable As DataTable, pGridView As GridView, pControl As Windows.Forms.Control, pControlId As Integer)
' Formel-Spalten-Namen einmalig cachen für View_ShowingEditor ' *** Formel-Spalten einmalig cachen + Validierung: Entweder EXPRESSION oder SQL, nie beides ***
_FormulaColumnNames.Clear() _FormulaColumnNames.Clear()
_FormulaSqlColumns.Clear()
For Each r As DataRow In pColumnTable.Rows For Each r As DataRow In pColumnTable.Rows
Dim oColName = r.Item("SPALTENNAME").ToString()
Dim oExpr = ObjectEx.NotNull(r.Item("FORMULA_EXPRESSION"), String.Empty).ToString() Dim oExpr = ObjectEx.NotNull(r.Item("FORMULA_EXPRESSION"), String.Empty).ToString()
Dim oSql = ObjectEx.NotNull(r.Item("FORMULA_SQL"), String.Empty).ToString()
' *** VALIDIERUNG: Beides gleichzeitig ist nicht erlaubt ***
If oExpr <> String.Empty AndAlso oSql <> String.Empty Then
_Logger.Warn("⚠️ Column [{0}] has BOTH FORMULA_EXPRESSION and FORMULA_SQL this is not allowed! FORMULA_SQL will be ignored.", oColName)
MsgBox(String.Format(
"Die Spalte '{0}' enthält sowohl eine FORMULA_EXPRESSION als auch eine FORMULA_SQL." & vbCrLf &
"Es darf nur eine der beiden Formeln gesetzt sein." & vbCrLf &
"FORMULA_SQL wird ignoriert. Bitte korrigieren Sie die Konfiguration im Tabellen-Designer.",
oColName), MsgBoxStyle.Exclamation, "Ungültige Spalten-Konfiguration")
' FORMULA_EXPRESSION hat Vorrang → SQL ignorieren
oSql = String.Empty
End If
If oExpr <> String.Empty Then If oExpr <> String.Empty Then
_FormulaColumnNames.Add(r.Item("SPALTENNAME").ToString()) _FormulaColumnNames.Add(oColName)
_Logger.Debug("[ConfigureViewEvents] Column [{0}] registered as FORMULA_EXPRESSION column.", oColName)
ElseIf oSql <> String.Empty Then
Dim oConnectionId As Integer = r.ItemEx("CONNECTION_ID", 0)
_FormulaSqlColumns(oColName) = New FormulaSqlDefinition() With {
.SqlTemplate = oSql,
.ReferencedColumns = GetReferencedSqlColumnNames(oSql)
}
' SQL-Spalten auch in _FormulaColumnNames aufnehmen → Editor-Blockade + ReadOnly
_FormulaColumnNames.Add(oColName)
_Logger.Debug("[ConfigureViewEvents] Column [{0}] registered as FORMULA_SQL column. ReferencedColumns=[{1}]",
oColName, String.Join(", ", GetReferencedSqlColumnNames(oSql)))
End If End If
Next Next
@@ -702,24 +808,6 @@ Namespace ControlCreator
Else Else
Dim oColumnType As String = ObjectEx.NotNull(oRow.Item("TYPE_COLUMN"), String.Empty).ToString() Dim oColumnType As String = ObjectEx.NotNull(oRow.Item("TYPE_COLUMN"), String.Empty).ToString()
If oColumnType = "CURRENCY" Then If oColumnType = "CURRENCY" Then
' *** KERN-FIX ***
' Für CURRENCY-Spalten wird e.RepositoryItem NIEMALS gesetzt.
'
' Grund: Sobald e.RepositoryItem gesetzt ist, übernimmt das
' RepositoryItem die komplette Zelldarstellung DevExpress
' übergeht CustomColumnDisplayText vollständig. Das RepositoryItem
' verwendet intern die Mask-Culture ("c" = EUR) zur Anzeige,
' unabhängig von DisplayFormat oder _currencySymbol.
'
' Korrekte Architektur:
' - Anzeige (nicht editiert): CustomColumnDisplayText
' → formatiert mit _currencySymbol (CHF)
' - Bearbeitung (editiert): ColumnEdit an der GridColumn
' → wird von DevExpress beim Öffnen
' des Editors automatisch verwendet
'
' CustomRowCellEdit muss NICHT eingreifen GridColumn.ColumnEdit
' ist bereits gesetzt und wird für den Editiermodus korrekt genutzt.
If _FormulaColumnNames.Contains(oColumnName) Then If _FormulaColumnNames.Contains(oColumnName) Then
_Logger.Debug("CURRENCY column [{0}] is formula/readonly CustomColumnDisplayText handles display", oColumnName) _Logger.Debug("CURRENCY column [{0}] is formula/readonly CustomColumnDisplayText handles display", oColumnName)
Else Else
@@ -758,19 +846,32 @@ Namespace ControlCreator
End Sub End Sub
End If End If
' *** KRITISCH: LIVE-REFRESH bei JEDER Eingabe (auch NewItemRow!) *** ' *** LIVE-REFRESH bei JEDER Eingabe (nur für FORMULA_EXPRESSION!) ***
' FORMULA_SQL wird NICHT hier behandelt SQL-Refresh erfolgt nur über CellValueChanged
If view.FocusedColumn IsNot Nothing AndAlso view.ActiveEditor IsNot Nothing Then If view.FocusedColumn IsNot Nothing AndAlso view.ActiveEditor IsNot Nothing Then
Dim oFocusedColumnName As String = view.FocusedColumn.FieldName Dim oFocusedColumnName As String = view.FocusedColumn.FieldName
' Prüfen ob diese Spalte von Formel-Spalten referenziert wird ' Prüfen ob diese Spalte von FORMULA_EXPRESSION-Spalten referenziert wird
Dim oFormulaColumnsToRefresh As New List(Of String) Dim oFormulaColumnsToRefresh As New List(Of String)
For Each oColumnData As DataRow In pColumnTable.Rows For Each oColumnData As DataRow In pColumnTable.Rows
Dim oColName = oColumnData.Item("SPALTENNAME").ToString()
Dim oExpr = ObjectEx.NotNull(oColumnData.Item("FORMULA_EXPRESSION"), String.Empty).ToString() Dim oExpr = ObjectEx.NotNull(oColumnData.Item("FORMULA_EXPRESSION"), String.Empty).ToString()
If oExpr = String.Empty Then Continue For
' Nur FORMULA_EXPRESSION FORMULA_SQL wird über CellValueChanged behandelt
If oExpr = String.Empty Then
Continue For
End If
' Spalte darf keine FORMULA_SQL haben (wurde oben validiert, Sicherheitsprüfung)
Dim oSqlExpr = ObjectEx.NotNull(oColumnData.Item("FORMULA_SQL"), String.Empty).ToString()
If oSqlExpr <> String.Empty Then
_Logger.Debug("[FormulaRefresh] Column [{0}] has both FORMULA_EXPRESSION and FORMULA_SQL skipping live refresh.", oColName)
Continue For
End If
Dim referencedColumns = GetReferencedColumnNames(oExpr) Dim referencedColumns = GetReferencedColumnNames(oExpr)
If referencedColumns.Any(Function(col) String.Equals(col, oFocusedColumnName, StringComparison.OrdinalIgnoreCase)) Then If referencedColumns.Any(Function(col) String.Equals(col, oFocusedColumnName, StringComparison.OrdinalIgnoreCase)) Then
oFormulaColumnsToRefresh.Add(oColumnData.Item("SPALTENNAME").ToString()) oFormulaColumnsToRefresh.Add(oColName)
End If End If
Next Next
@@ -864,11 +965,11 @@ Namespace ControlCreator
_Logger.Debug("Showing editor.") _Logger.Debug("Showing editor.")
' Formel-Spalten dürfen keinen Editor öffnen ' Formel-Spalten dürfen keinen Editor öffnen (gilt für EXPRESSION UND SQL)
If oView.FocusedColumn IsNot Nothing Then If oView.FocusedColumn IsNot Nothing Then
Dim oFieldName As String = oView.FocusedColumn.FieldName Dim oFieldName As String = oView.FocusedColumn.FieldName
If _FormulaColumnNames.Contains(oFieldName) Then If _FormulaColumnNames.Contains(oFieldName) Then
_Logger.Debug("Cancelling editor column [{0}] is a formula column.", oFieldName) _Logger.Debug("Cancelling editor column [{0}] is a formula column (Expression or SQL).", oFieldName)
e.Cancel = True e.Cancel = True
Return Return
End If End If
@@ -912,19 +1013,22 @@ Namespace ControlCreator
_Logger.Error(ex) _Logger.Error(ex)
End Try End Try
' *** Formel-Refresh via CellValueChanged ist FALLBACK *** ' *** FORMULA_EXPRESSION-Refresh via CellValueChanged (FALLBACK) ***
' (EditValueChanged macht das normalerweise schon LIVE) ' (EditValueChanged macht das normalerweise schon LIVE)
Try Try
Dim oView As GridView = TryCast(sender, GridView) Dim oView As GridView = TryCast(sender, GridView)
If oView Is Nothing OrElse e.Column Is Nothing Then Return If oView Is Nothing OrElse e.Column Is Nothing Then Return
' Prüfen ob überhaupt eine Formel-Spalte referenziert wird
Dim oFormulaColumnsToRefresh As New List(Of String) Dim oFormulaColumnsToRefresh As New List(Of String)
For Each oColumnData As DataRow In pColumnTable.Rows For Each oColumnData As DataRow In pColumnTable.Rows
Dim oExpr = ObjectEx.NotNull(oColumnData.Item("FORMULA_EXPRESSION"), String.Empty).ToString() Dim oExpr = ObjectEx.NotNull(oColumnData.Item("FORMULA_EXPRESSION"), String.Empty).ToString()
If oExpr = String.Empty Then Continue For If oExpr = String.Empty Then Continue For
' Nur FORMULA_EXPRESSION kein SQL
Dim oSqlExpr = ObjectEx.NotNull(oColumnData.Item("FORMULA_SQL"), String.Empty).ToString()
If oSqlExpr <> String.Empty Then Continue For
Dim referencedColumns = GetReferencedColumnNames(oExpr) Dim referencedColumns = GetReferencedColumnNames(oExpr)
If referencedColumns.Any(Function(col) String.Equals(col, e.Column.FieldName, StringComparison.OrdinalIgnoreCase)) Then If referencedColumns.Any(Function(col) String.Equals(col, e.Column.FieldName, StringComparison.OrdinalIgnoreCase)) Then
oFormulaColumnsToRefresh.Add(oColumnData.Item("SPALTENNAME").ToString()) oFormulaColumnsToRefresh.Add(oColumnData.Item("SPALTENNAME").ToString())
@@ -932,13 +1036,10 @@ Namespace ControlCreator
Next Next
If oFormulaColumnsToRefresh.Count = 0 Then If oFormulaColumnsToRefresh.Count = 0 Then
Return ' Kein FORMULA_EXPRESSION-Refresh nötig weiter zu FORMULA_SQL
End If Else
' *** FALLBACK: Nur wenn EditValueChanged NICHT gefeuert hat ***
' (z.B. bei programmatischer SetRowCellValue oder Paste)
Dim oRowHandle As Integer = e.RowHandle Dim oRowHandle As Integer = e.RowHandle
_Logger.Debug("[FormulaRefresh] CellValueChanged FALLBACK refreshing for row [{0}] after column [{1}] changed.", oRowHandle, e.Column.FieldName) _Logger.Debug("[FormulaRefresh] CellValueChanged FALLBACK refreshing EXPRESSION columns for row [{0}] after column [{1}] changed.", oRowHandle, e.Column.FieldName)
oView.GridControl.BeginInvoke(New Action( oView.GridControl.BeginInvoke(New Action(
Sub() Sub()
@@ -957,6 +1058,88 @@ Namespace ControlCreator
_Logger.Error(ex) _Logger.Error(ex)
End Try End Try
End Sub)) End Sub))
End If
Catch ex As Exception
_Logger.Error(ex)
End Try
' *** FORMULA_SQL-Refresh via CellValueChanged ***
' SQL wird NUR hier ausgeführt (nicht in EditValueChanged) um DB-Roundtrips zu minimieren
Try
Dim oView As GridView = TryCast(sender, GridView)
If oView Is Nothing OrElse e.Column Is Nothing Then Return
' Finde alle SQL-Formelspalten, die die geänderte Spalte referenzieren
Dim oSqlColumnsToRefresh As New List(Of String)
For Each kvp In _FormulaSqlColumns
If kvp.Value.ReferencedColumns.Any(
Function(col) String.Equals(col, e.Column.FieldName, StringComparison.OrdinalIgnoreCase)) Then
oSqlColumnsToRefresh.Add(kvp.Key)
End If
Next
If oSqlColumnsToRefresh.Count = 0 Then Return
Dim oRowHandle As Integer = e.RowHandle
_Logger.Debug("[FormulaSql] CellValueChanged column [{0}] triggers SQL refresh for: [{1}]",
e.Column.FieldName, String.Join(", ", oSqlColumnsToRefresh))
' BeginInvoke: UI nicht blockieren, GridView in stabilem Zustand
oView.GridControl.BeginInvoke(New Action(
Sub()
Try
If Not oView.IsValidRowHandle(oRowHandle) Then Return
For Each oSqlColumnName As String In oSqlColumnsToRefresh
Dim oDefinition = _FormulaSqlColumns(oSqlColumnName)
' Prüfen ob ALLE referenzierten Spalten einen Wert haben
Dim allValuesPresent As Boolean = True
For Each refCol In oDefinition.ReferencedColumns
Dim cellVal = oView.GetRowCellValue(oRowHandle, refCol)
If cellVal Is Nothing OrElse IsDBNull(cellVal) Then
_Logger.Debug("[FormulaSql] Column [{0}] has NULL value skipping SQL for [{1}]", refCol, oSqlColumnName)
allValuesPresent = False
Exit For
End If
Next
If Not allValuesPresent Then Continue For
' Pattern ersetzen und SQL ausführen
Dim resolvedSql = ResolveSqlTemplate(oDefinition.SqlTemplate, oView, oRowHandle)
_Logger.Debug("[FormulaSql] Executing SQL for [{0}]: [{1}]", oSqlColumnName, resolvedSql)
Try
Dim oResultTable As DataTable = DatabaseFallback.GetDatatable(
New GetDatatableOptions(resolvedSql, DatabaseType.ECM))
If oResultTable IsNot Nothing AndAlso oResultTable.Rows.Count > 0 Then
Dim oResult = oResultTable.Rows(0).Item(0)
_Logger.Debug("[FormulaSql] Result for [{0}]: [{1}]", oSqlColumnName, oResult)
_isRefreshingFormula = True
Try
oView.SetRowCellValue(oRowHandle, oSqlColumnName,
If(oResult Is Nothing OrElse IsDBNull(oResult), DBNull.Value, oResult))
oView.RefreshRowCell(oRowHandle, oView.Columns.ColumnByFieldName(oSqlColumnName))
Finally
_isRefreshingFormula = False
End Try
Else
_Logger.Warn("[FormulaSql] No result returned for [{0}]", oSqlColumnName)
End If
Catch sqlEx As Exception
_Logger.Warn("⚠️ [FormulaSql] SQL execution failed for [{0}]: {1}", oSqlColumnName, sqlEx.Message)
_Logger.Error(sqlEx)
End Try
Next
Catch ex As Exception
_Logger.Error(ex)
End Try
End Sub))
Catch ex As Exception Catch ex As Exception
_Logger.Error(ex) _Logger.Error(ex)

View File

@@ -5466,6 +5466,8 @@ Partial Public Class DD_DMSLiteDataSet
Private columnFORMULA_EXPRESSION As Global.System.Data.DataColumn Private columnFORMULA_EXPRESSION As Global.System.Data.DataColumn
Private columnFORMULA_SQL As Global.System.Data.DataColumn
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _ <Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")> _ Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")> _
Public Sub New() Public Sub New()
@@ -5709,6 +5711,14 @@ Partial Public Class DD_DMSLiteDataSet
End Get End Get
End Property End Property
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")> _
Public ReadOnly Property FORMULA_SQLColumn() As Global.System.Data.DataColumn
Get
Return Me.columnFORMULA_SQL
End Get
End Property
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _ <Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0"), _ Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0"), _
Global.System.ComponentModel.Browsable(false)> _ Global.System.ComponentModel.Browsable(false)> _
@@ -5771,9 +5781,10 @@ Partial Public Class DD_DMSLiteDataSet
ByVal TYPE_COLUMN As String, _ ByVal TYPE_COLUMN As String, _
ByVal LU_CAPTION As String, _ ByVal LU_CAPTION As String, _
ByVal INHERIT_VALUE As Boolean, _ ByVal INHERIT_VALUE As Boolean, _
ByVal FORMULA_EXPRESSION As String) As TBPM_CONTROL_TABLERow ByVal FORMULA_EXPRESSION As String, _
ByVal FORMULA_SQL As String) As TBPM_CONTROL_TABLERow
Dim rowTBPM_CONTROL_TABLERow As TBPM_CONTROL_TABLERow = CType(Me.NewRow,TBPM_CONTROL_TABLERow) Dim rowTBPM_CONTROL_TABLERow As TBPM_CONTROL_TABLERow = CType(Me.NewRow,TBPM_CONTROL_TABLERow)
Dim columnValuesArray() As Object = New Object() {Nothing, Nothing, SPALTENNAME, SPALTEN_HEADER, SPALTENBREITE, VALIDATION, CHOICE_LIST, CONNECTION_ID, SQL_COMMAND, READ_ONLY, LOAD_IDX_VALUE, ADDED_WHO, ADDED_WHEN, CHANGED_WHO, CHANGED_WHEN, REGEX_MATCH, REGEX_MESSAGE_EN, REGEX_MESSAGE_DE, SEQUENCE, DEFAULT_VALUE, ADVANCED_LOOKUP, SUMMARY_FUNCTION, TYPE_COLUMN, LU_CAPTION, INHERIT_VALUE, FORMULA_EXPRESSION} Dim columnValuesArray() As Object = New Object() {Nothing, Nothing, SPALTENNAME, SPALTEN_HEADER, SPALTENBREITE, VALIDATION, CHOICE_LIST, CONNECTION_ID, SQL_COMMAND, READ_ONLY, LOAD_IDX_VALUE, ADDED_WHO, ADDED_WHEN, CHANGED_WHO, CHANGED_WHEN, REGEX_MATCH, REGEX_MESSAGE_EN, REGEX_MESSAGE_DE, SEQUENCE, DEFAULT_VALUE, ADVANCED_LOOKUP, SUMMARY_FUNCTION, TYPE_COLUMN, LU_CAPTION, INHERIT_VALUE, FORMULA_EXPRESSION, FORMULA_SQL}
If (Not (parentTBPM_PROFILE_CONTROLSRowByFK_TBPM_CONTROL_TABLE_CONTROL1) Is Nothing) Then If (Not (parentTBPM_PROFILE_CONTROLSRowByFK_TBPM_CONTROL_TABLE_CONTROL1) Is Nothing) Then
columnValuesArray(1) = parentTBPM_PROFILE_CONTROLSRowByFK_TBPM_CONTROL_TABLE_CONTROL1(0) columnValuesArray(1) = parentTBPM_PROFILE_CONTROLSRowByFK_TBPM_CONTROL_TABLE_CONTROL1(0)
End If End If
@@ -5831,6 +5842,7 @@ Partial Public Class DD_DMSLiteDataSet
Me.columnLU_CAPTION = MyBase.Columns("LU_CAPTION") Me.columnLU_CAPTION = MyBase.Columns("LU_CAPTION")
Me.columnINHERIT_VALUE = MyBase.Columns("INHERIT_VALUE") Me.columnINHERIT_VALUE = MyBase.Columns("INHERIT_VALUE")
Me.columnFORMULA_EXPRESSION = MyBase.Columns("FORMULA_EXPRESSION") Me.columnFORMULA_EXPRESSION = MyBase.Columns("FORMULA_EXPRESSION")
Me.columnFORMULA_SQL = MyBase.Columns("FORMULA_SQL")
End Sub End Sub
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _ <Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
@@ -5888,6 +5900,8 @@ Partial Public Class DD_DMSLiteDataSet
MyBase.Columns.Add(Me.columnINHERIT_VALUE) MyBase.Columns.Add(Me.columnINHERIT_VALUE)
Me.columnFORMULA_EXPRESSION = New Global.System.Data.DataColumn("FORMULA_EXPRESSION", GetType(String), Nothing, Global.System.Data.MappingType.Element) Me.columnFORMULA_EXPRESSION = New Global.System.Data.DataColumn("FORMULA_EXPRESSION", GetType(String), Nothing, Global.System.Data.MappingType.Element)
MyBase.Columns.Add(Me.columnFORMULA_EXPRESSION) MyBase.Columns.Add(Me.columnFORMULA_EXPRESSION)
Me.columnFORMULA_SQL = New Global.System.Data.DataColumn("FORMULA_SQL", GetType(String), Nothing, Global.System.Data.MappingType.Element)
MyBase.Columns.Add(Me.columnFORMULA_SQL)
Me.Constraints.Add(New Global.System.Data.UniqueConstraint("Constraint1", New Global.System.Data.DataColumn() {Me.columnGUID}, true)) Me.Constraints.Add(New Global.System.Data.UniqueConstraint("Constraint1", New Global.System.Data.DataColumn() {Me.columnGUID}, true))
Me.columnGUID.AutoIncrement = true Me.columnGUID.AutoIncrement = true
Me.columnGUID.AllowDBNull = false Me.columnGUID.AllowDBNull = false
@@ -5931,7 +5945,11 @@ Partial Public Class DD_DMSLiteDataSet
Me.columnINHERIT_VALUE.AllowDBNull = false Me.columnINHERIT_VALUE.AllowDBNull = false
Me.columnINHERIT_VALUE.DefaultValue = CType(false,Boolean) Me.columnINHERIT_VALUE.DefaultValue = CType(false,Boolean)
Me.columnFORMULA_EXPRESSION.AllowDBNull = false Me.columnFORMULA_EXPRESSION.AllowDBNull = false
Me.columnFORMULA_EXPRESSION.DefaultValue = CType("",String)
Me.columnFORMULA_EXPRESSION.MaxLength = 1000 Me.columnFORMULA_EXPRESSION.MaxLength = 1000
Me.columnFORMULA_SQL.AllowDBNull = false
Me.columnFORMULA_SQL.DefaultValue = CType("",String)
Me.columnFORMULA_SQL.MaxLength = 3000
End Sub End Sub
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _ <Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
@@ -13227,6 +13245,17 @@ Partial Public Class DD_DMSLiteDataSet
End Set End Set
End Property End Property
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")> _
Public Property FORMULA_SQL() As String
Get
Return CType(Me(Me.tableTBPM_CONTROL_TABLE.FORMULA_SQLColumn),String)
End Get
Set
Me(Me.tableTBPM_CONTROL_TABLE.FORMULA_SQLColumn) = value
End Set
End Property
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _ <Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")> _ Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")> _
Public Property TBPM_PROFILE_CONTROLSRow() As TBPM_PROFILE_CONTROLSRow Public Property TBPM_PROFILE_CONTROLSRow() As TBPM_PROFILE_CONTROLSRow
@@ -21535,6 +21564,7 @@ Namespace DD_DMSLiteDataSetTableAdapters
tableMapping.ColumnMappings.Add("LU_CAPTION", "LU_CAPTION") tableMapping.ColumnMappings.Add("LU_CAPTION", "LU_CAPTION")
tableMapping.ColumnMappings.Add("INHERIT_VALUE", "INHERIT_VALUE") tableMapping.ColumnMappings.Add("INHERIT_VALUE", "INHERIT_VALUE")
tableMapping.ColumnMappings.Add("FORMULA_EXPRESSION", "FORMULA_EXPRESSION") tableMapping.ColumnMappings.Add("FORMULA_EXPRESSION", "FORMULA_EXPRESSION")
tableMapping.ColumnMappings.Add("FORMULA_SQL", "FORMULA_SQL")
Me._adapter.TableMappings.Add(tableMapping) Me._adapter.TableMappings.Add(tableMapping)
Me._adapter.DeleteCommand = New Global.System.Data.SqlClient.SqlCommand() Me._adapter.DeleteCommand = New Global.System.Data.SqlClient.SqlCommand()
Me._adapter.DeleteCommand.Connection = Me.Connection Me._adapter.DeleteCommand.Connection = Me.Connection
@@ -21572,12 +21602,12 @@ Namespace DD_DMSLiteDataSetTableAdapters
"ENCE = @SEQUENCE, DEFAULT_VALUE = @DEFAULT_VALUE, ADVANCED_LOOKUP = @ADVANCED_LO"& _ "ENCE = @SEQUENCE, DEFAULT_VALUE = @DEFAULT_VALUE, ADVANCED_LOOKUP = @ADVANCED_LO"& _
"OKUP, SAVE_CHANGE_ON_ENABLED = @SAVE_CHANGE_ON_ENABLED, INHERIT_VALUE = @INHERIT"& _ "OKUP, SAVE_CHANGE_ON_ENABLED = @SAVE_CHANGE_ON_ENABLED, INHERIT_VALUE = @INHERIT"& _
"_VALUE, "&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10)&" LU_CAPTION = @LU_CAPTION, FORMULA_EXPRESSION "& _ "_VALUE, "&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10)&" LU_CAPTION = @LU_CAPTION, FORMULA_EXPRESSION "& _
"= @FORMULA_EXPRESSION"&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10)&"WHERE (GUID = @Original_GUID); "&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10)&"SELECT GUID, "& _ "= @FORMULA_EXPRESSION, FORMULA_SQL = @FORMULA_SQL"&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10)&"WHERE (GUID = @Origina"& _
"CONTROL_ID, SPALTENNAME, SPALTEN_HEADER, SPALTENBREITE, VALIDATION, CHOICE_LIST,"& _ "l_GUID); "&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10)&"SELECT GUID, CONTROL_ID, SPALTENNAME, SPALTEN_HEADER, SPALTENBRE"& _
" CONNECTION_ID, SQL_COMMAND, READ_ONLY, LOAD_IDX_VALUE, ADDED_WHO, ADDED_WHEN, C"& _ "ITE, VALIDATION, CHOICE_LIST, CONNECTION_ID, SQL_COMMAND, READ_ONLY, LOAD_IDX_VA"& _
"HANGED_WHO, CHANGED_WHEN, REGEX_MATCH, REGEX_MESSAGE_EN, REGEX_MESSAGE_DE, SEQUE"& _ "LUE, ADDED_WHO, ADDED_WHEN, CHANGED_WHO, CHANGED_WHEN, REGEX_MATCH, REGEX_MESSAG"& _
"NCE, DEFAULT_VALUE, ADVANCED_LOOKUP FROM TBPM_CONTROL_TABLE WHERE (GUID = @GUID)"& _ "E_EN, REGEX_MESSAGE_DE, SEQUENCE, DEFAULT_VALUE, ADVANCED_LOOKUP FROM TBPM_CONTR"& _
"" "OL_TABLE WHERE (GUID = @GUID)"
Me._adapter.UpdateCommand.CommandType = Global.System.Data.CommandType.Text Me._adapter.UpdateCommand.CommandType = Global.System.Data.CommandType.Text
Me._adapter.UpdateCommand.Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@CONTROL_ID", Global.System.Data.SqlDbType.Int, 4, Global.System.Data.ParameterDirection.Input, 0, 0, "CONTROL_ID", Global.System.Data.DataRowVersion.Current, false, Nothing, "", "", "")) Me._adapter.UpdateCommand.Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@CONTROL_ID", Global.System.Data.SqlDbType.Int, 4, Global.System.Data.ParameterDirection.Input, 0, 0, "CONTROL_ID", Global.System.Data.DataRowVersion.Current, false, Nothing, "", "", ""))
Me._adapter.UpdateCommand.Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@SPALTENNAME", Global.System.Data.SqlDbType.VarChar, 100, Global.System.Data.ParameterDirection.Input, 0, 0, "SPALTENNAME", Global.System.Data.DataRowVersion.Current, false, Nothing, "", "", "")) Me._adapter.UpdateCommand.Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@SPALTENNAME", Global.System.Data.SqlDbType.VarChar, 100, Global.System.Data.ParameterDirection.Input, 0, 0, "SPALTENNAME", Global.System.Data.DataRowVersion.Current, false, Nothing, "", "", ""))
@@ -21603,6 +21633,7 @@ Namespace DD_DMSLiteDataSetTableAdapters
Me._adapter.UpdateCommand.Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@INHERIT_VALUE", Global.System.Data.SqlDbType.Bit, 1, Global.System.Data.ParameterDirection.Input, 0, 0, "INHERIT_VALUE", Global.System.Data.DataRowVersion.Current, false, Nothing, "", "", "")) Me._adapter.UpdateCommand.Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@INHERIT_VALUE", Global.System.Data.SqlDbType.Bit, 1, Global.System.Data.ParameterDirection.Input, 0, 0, "INHERIT_VALUE", Global.System.Data.DataRowVersion.Current, false, Nothing, "", "", ""))
Me._adapter.UpdateCommand.Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@LU_CAPTION", Global.System.Data.SqlDbType.VarChar, 150, Global.System.Data.ParameterDirection.Input, 0, 0, "LU_CAPTION", Global.System.Data.DataRowVersion.Current, false, Nothing, "", "", "")) Me._adapter.UpdateCommand.Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@LU_CAPTION", Global.System.Data.SqlDbType.VarChar, 150, Global.System.Data.ParameterDirection.Input, 0, 0, "LU_CAPTION", Global.System.Data.DataRowVersion.Current, false, Nothing, "", "", ""))
Me._adapter.UpdateCommand.Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@FORMULA_EXPRESSION", Global.System.Data.SqlDbType.NVarChar, 1000, Global.System.Data.ParameterDirection.Input, 0, 0, "FORMULA_EXPRESSION", Global.System.Data.DataRowVersion.Current, false, Nothing, "", "", "")) Me._adapter.UpdateCommand.Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@FORMULA_EXPRESSION", Global.System.Data.SqlDbType.NVarChar, 1000, Global.System.Data.ParameterDirection.Input, 0, 0, "FORMULA_EXPRESSION", Global.System.Data.DataRowVersion.Current, false, Nothing, "", "", ""))
Me._adapter.UpdateCommand.Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@FORMULA_SQL", Global.System.Data.SqlDbType.NVarChar, 3000, Global.System.Data.ParameterDirection.Input, 0, 0, "FORMULA_SQL", Global.System.Data.DataRowVersion.Current, false, Nothing, "", "", ""))
Me._adapter.UpdateCommand.Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@Original_GUID", Global.System.Data.SqlDbType.Int, 4, Global.System.Data.ParameterDirection.Input, 0, 0, "GUID", Global.System.Data.DataRowVersion.Original, false, Nothing, "", "", "")) Me._adapter.UpdateCommand.Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@Original_GUID", Global.System.Data.SqlDbType.Int, 4, Global.System.Data.ParameterDirection.Input, 0, 0, "GUID", Global.System.Data.DataRowVersion.Original, false, Nothing, "", "", ""))
Me._adapter.UpdateCommand.Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@GUID", Global.System.Data.SqlDbType.Int, 4, Global.System.Data.ParameterDirection.Input, 0, 0, "GUID", Global.System.Data.DataRowVersion.Original, false, Nothing, "", "", "")) Me._adapter.UpdateCommand.Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@GUID", Global.System.Data.SqlDbType.Int, 4, Global.System.Data.ParameterDirection.Input, 0, 0, "GUID", Global.System.Data.DataRowVersion.Original, false, Nothing, "", "", ""))
End Sub End Sub
@@ -21625,8 +21656,8 @@ Namespace DD_DMSLiteDataSetTableAdapters
"_WHO, ADDED_WHEN, CHANGED_WHO, "&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10)&" CHANGED_WHEN, REGEX_MA"& _ "_WHO, ADDED_WHEN, CHANGED_WHO, "&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10)&" CHANGED_WHEN, REGEX_MA"& _
"TCH, REGEX_MESSAGE_EN, REGEX_MESSAGE_DE, SEQUENCE, DEFAULT_VALUE, ADVANCED_LOOKU"& _ "TCH, REGEX_MESSAGE_EN, REGEX_MESSAGE_DE, SEQUENCE, DEFAULT_VALUE, ADVANCED_LOOKU"& _
"P, SUMMARY_FUNCTION, TYPE_COLUMN, LU_CAPTION, INHERIT_VALUE, "&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10)&" "& _ "P, SUMMARY_FUNCTION, TYPE_COLUMN, LU_CAPTION, INHERIT_VALUE, "&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10)&" "& _
" FORMULA_EXPRESSION"&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10)&"FROM TBPM_CONTROL_TABLE"&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10)&"WHERE (CO"& _ " FORMULA_EXPRESSION, FORMULA_SQL"&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10)&"FROM TBPM_CONTROL_TABLE"&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10)&"WHE"& _
"NTROL_ID = @CONTROL_ID)" "RE (CONTROL_ID = @CONTROL_ID)"
Me._commandCollection(0).CommandType = Global.System.Data.CommandType.Text Me._commandCollection(0).CommandType = Global.System.Data.CommandType.Text
Me._commandCollection(0).Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@CONTROL_ID", Global.System.Data.SqlDbType.Int, 4, Global.System.Data.ParameterDirection.Input, 0, 0, "CONTROL_ID", Global.System.Data.DataRowVersion.Current, false, Nothing, "", "", "")) Me._commandCollection(0).Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@CONTROL_ID", Global.System.Data.SqlDbType.Int, 4, Global.System.Data.ParameterDirection.Input, 0, 0, "CONTROL_ID", Global.System.Data.DataRowVersion.Current, false, Nothing, "", "", ""))
Me._commandCollection(1) = New Global.System.Data.SqlClient.SqlCommand() Me._commandCollection(1) = New Global.System.Data.SqlClient.SqlCommand()
@@ -21639,8 +21670,8 @@ Namespace DD_DMSLiteDataSetTableAdapters
"E = @DEFAULT_VALUE, "&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10)&" SEQUENCE = @SEQUENCE, ADVANCED_LO"& _ "E = @DEFAULT_VALUE, "&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10)&" SEQUENCE = @SEQUENCE, ADVANCED_LO"& _
"OKUP = @ADVANCED_LOOKUP, SUMMARY_FUNCTION = @SUMMARY_FUNCTION, TYPE_COLUMN = @TY"& _ "OKUP = @ADVANCED_LOOKUP, SUMMARY_FUNCTION = @SUMMARY_FUNCTION, TYPE_COLUMN = @TY"& _
"PE_COLUMN, LU_CAPTION = @LU_CAPTION, "&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10)&" INHERIT_VALUE = "& _ "PE_COLUMN, LU_CAPTION = @LU_CAPTION, "&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10)&" INHERIT_VALUE = "& _
"@INHERIT_VALUE, FORMULA_EXPRESSION = @FORMULA_EXPRESSION"&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10)&"WHERE (GUID = @"& _ "@INHERIT_VALUE, FORMULA_EXPRESSION = @FORMULA_EXPRESSION, FORMULA_SQL = @FORMULA"& _
"Original_GUID)" "_SQL"&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10)&"WHERE (GUID = @Original_GUID)"
Me._commandCollection(1).CommandType = Global.System.Data.CommandType.Text Me._commandCollection(1).CommandType = Global.System.Data.CommandType.Text
Me._commandCollection(1).Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@SPALTENNAME", Global.System.Data.SqlDbType.VarChar, 100, Global.System.Data.ParameterDirection.Input, 0, 0, "SPALTENNAME", Global.System.Data.DataRowVersion.Current, false, Nothing, "", "", "")) Me._commandCollection(1).Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@SPALTENNAME", Global.System.Data.SqlDbType.VarChar, 100, Global.System.Data.ParameterDirection.Input, 0, 0, "SPALTENNAME", Global.System.Data.DataRowVersion.Current, false, Nothing, "", "", ""))
Me._commandCollection(1).Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@SPALTEN_HEADER", Global.System.Data.SqlDbType.VarChar, 100, Global.System.Data.ParameterDirection.Input, 0, 0, "SPALTEN_HEADER", Global.System.Data.DataRowVersion.Current, false, Nothing, "", "", "")) Me._commandCollection(1).Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@SPALTEN_HEADER", Global.System.Data.SqlDbType.VarChar, 100, Global.System.Data.ParameterDirection.Input, 0, 0, "SPALTEN_HEADER", Global.System.Data.DataRowVersion.Current, false, Nothing, "", "", ""))
@@ -21660,6 +21691,7 @@ Namespace DD_DMSLiteDataSetTableAdapters
Me._commandCollection(1).Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@LU_CAPTION", Global.System.Data.SqlDbType.VarChar, 150, Global.System.Data.ParameterDirection.Input, 0, 0, "LU_CAPTION", Global.System.Data.DataRowVersion.Current, false, Nothing, "", "", "")) Me._commandCollection(1).Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@LU_CAPTION", Global.System.Data.SqlDbType.VarChar, 150, Global.System.Data.ParameterDirection.Input, 0, 0, "LU_CAPTION", Global.System.Data.DataRowVersion.Current, false, Nothing, "", "", ""))
Me._commandCollection(1).Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@INHERIT_VALUE", Global.System.Data.SqlDbType.Bit, 1, Global.System.Data.ParameterDirection.Input, 0, 0, "INHERIT_VALUE", Global.System.Data.DataRowVersion.Current, false, Nothing, "", "", "")) Me._commandCollection(1).Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@INHERIT_VALUE", Global.System.Data.SqlDbType.Bit, 1, Global.System.Data.ParameterDirection.Input, 0, 0, "INHERIT_VALUE", Global.System.Data.DataRowVersion.Current, false, Nothing, "", "", ""))
Me._commandCollection(1).Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@FORMULA_EXPRESSION", Global.System.Data.SqlDbType.NVarChar, 1000, Global.System.Data.ParameterDirection.Input, 0, 0, "FORMULA_EXPRESSION", Global.System.Data.DataRowVersion.Current, false, Nothing, "", "", "")) Me._commandCollection(1).Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@FORMULA_EXPRESSION", Global.System.Data.SqlDbType.NVarChar, 1000, Global.System.Data.ParameterDirection.Input, 0, 0, "FORMULA_EXPRESSION", Global.System.Data.DataRowVersion.Current, false, Nothing, "", "", ""))
Me._commandCollection(1).Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@FORMULA_SQL", Global.System.Data.SqlDbType.NVarChar, 3000, Global.System.Data.ParameterDirection.Input, 0, 0, "FORMULA_SQL", Global.System.Data.DataRowVersion.Current, false, Nothing, "", "", ""))
Me._commandCollection(1).Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@Original_GUID", Global.System.Data.SqlDbType.Int, 4, Global.System.Data.ParameterDirection.Input, 0, 0, "GUID", Global.System.Data.DataRowVersion.Original, false, Nothing, "", "", "")) Me._commandCollection(1).Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@Original_GUID", Global.System.Data.SqlDbType.Int, 4, Global.System.Data.ParameterDirection.Input, 0, 0, "GUID", Global.System.Data.DataRowVersion.Original, false, Nothing, "", "", ""))
Me._commandCollection(2) = New Global.System.Data.SqlClient.SqlCommand() Me._commandCollection(2) = New Global.System.Data.SqlClient.SqlCommand()
Me._commandCollection(2).Connection = Me.Connection Me._commandCollection(2).Connection = Me.Connection
@@ -21682,8 +21714,8 @@ Namespace DD_DMSLiteDataSetTableAdapters
"D_ONLY, REGEX_MATCH, "&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10)&" REGEX_MESSAGE_DE, REGEX_MESSAGE_"& _ "D_ONLY, REGEX_MATCH, "&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10)&" REGEX_MESSAGE_DE, REGEX_MESSAGE_"& _
"EN, SEQUENCE, SPALTENBREITE, SPALTENNAME, SPALTEN_HEADER, SQL_COMMAND, VALIDATIO"& _ "EN, SEQUENCE, SPALTENBREITE, SPALTENNAME, SPALTEN_HEADER, SQL_COMMAND, VALIDATIO"& _
"N, SUMMARY_FUNCTION, TYPE_COLUMN, LU_CAPTION, INHERIT_VALUE, "&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10)&" "& _ "N, SUMMARY_FUNCTION, TYPE_COLUMN, LU_CAPTION, INHERIT_VALUE, "&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10)&" "& _
" FORMULA_EXPRESSION"&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10)&"FROM TBPM_CONTROL_TABLE"&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10)&"WHERE (GU"& _ " FORMULA_EXPRESSION, FORMULA_SQL"&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10)&"FROM TBPM_CONTROL_TABLE"&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10)&"WHE"& _
"ID = @GUID)" "RE (GUID = @GUID)"
Me._commandCollection(4).CommandType = Global.System.Data.CommandType.Text Me._commandCollection(4).CommandType = Global.System.Data.CommandType.Text
Me._commandCollection(4).Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@GUID", Global.System.Data.SqlDbType.Int, 4, Global.System.Data.ParameterDirection.Input, 0, 0, "GUID", Global.System.Data.DataRowVersion.Current, false, Nothing, "", "", "")) Me._commandCollection(4).Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@GUID", Global.System.Data.SqlDbType.Int, 4, Global.System.Data.ParameterDirection.Input, 0, 0, "GUID", Global.System.Data.DataRowVersion.Current, false, Nothing, "", "", ""))
Me._commandCollection(5) = New Global.System.Data.SqlClient.SqlCommand() Me._commandCollection(5) = New Global.System.Data.SqlClient.SqlCommand()
@@ -21892,6 +21924,7 @@ Namespace DD_DMSLiteDataSetTableAdapters
ByVal INHERIT_VALUE As Boolean, _ ByVal INHERIT_VALUE As Boolean, _
ByVal LU_CAPTION As String, _ ByVal LU_CAPTION As String, _
ByVal FORMULA_EXPRESSION As String, _ ByVal FORMULA_EXPRESSION As String, _
ByVal FORMULA_SQL As String, _
ByVal Original_GUID As Integer, _ ByVal Original_GUID As Integer, _
ByVal GUID As Integer) As Integer ByVal GUID As Integer) As Integer
Me.Adapter.UpdateCommand.Parameters(0).Value = CType(CONTROL_ID,Integer) Me.Adapter.UpdateCommand.Parameters(0).Value = CType(CONTROL_ID,Integer)
@@ -21978,8 +22011,13 @@ Namespace DD_DMSLiteDataSetTableAdapters
Else Else
Me.Adapter.UpdateCommand.Parameters(23).Value = CType(FORMULA_EXPRESSION,String) Me.Adapter.UpdateCommand.Parameters(23).Value = CType(FORMULA_EXPRESSION,String)
End If End If
Me.Adapter.UpdateCommand.Parameters(24).Value = CType(Original_GUID,Integer) If (FORMULA_SQL Is Nothing) Then
Me.Adapter.UpdateCommand.Parameters(25).Value = CType(GUID,Integer) Throw New Global.System.ArgumentNullException("FORMULA_SQL")
Else
Me.Adapter.UpdateCommand.Parameters(24).Value = CType(FORMULA_SQL,String)
End If
Me.Adapter.UpdateCommand.Parameters(25).Value = CType(Original_GUID,Integer)
Me.Adapter.UpdateCommand.Parameters(26).Value = CType(GUID,Integer)
Dim previousConnectionState As Global.System.Data.ConnectionState = Me.Adapter.UpdateCommand.Connection.State Dim previousConnectionState As Global.System.Data.ConnectionState = Me.Adapter.UpdateCommand.Connection.State
If ((Me.Adapter.UpdateCommand.Connection.State And Global.System.Data.ConnectionState.Open) _ If ((Me.Adapter.UpdateCommand.Connection.State And Global.System.Data.ConnectionState.Open) _
<> Global.System.Data.ConnectionState.Open) Then <> Global.System.Data.ConnectionState.Open) Then
@@ -22017,6 +22055,7 @@ Namespace DD_DMSLiteDataSetTableAdapters
ByVal LU_CAPTION As String, _ ByVal LU_CAPTION As String, _
ByVal INHERIT_VALUE As Boolean, _ ByVal INHERIT_VALUE As Boolean, _
ByVal FORMULA_EXPRESSION As String, _ ByVal FORMULA_EXPRESSION As String, _
ByVal FORMULA_SQL As String, _
ByVal Original_GUID As Integer) As Object ByVal Original_GUID As Integer) As Object
Dim command As Global.System.Data.SqlClient.SqlCommand = Me.CommandCollection(1) Dim command As Global.System.Data.SqlClient.SqlCommand = Me.CommandCollection(1)
If (SPALTENNAME Is Nothing) Then If (SPALTENNAME Is Nothing) Then
@@ -22081,7 +22120,12 @@ Namespace DD_DMSLiteDataSetTableAdapters
Else Else
command.Parameters(17).Value = CType(FORMULA_EXPRESSION,String) command.Parameters(17).Value = CType(FORMULA_EXPRESSION,String)
End If End If
command.Parameters(18).Value = CType(Original_GUID,Integer) If (FORMULA_SQL Is Nothing) Then
Throw New Global.System.ArgumentNullException("FORMULA_SQL")
Else
command.Parameters(18).Value = CType(FORMULA_SQL,String)
End If
command.Parameters(19).Value = CType(Original_GUID,Integer)
Dim previousConnectionState As Global.System.Data.ConnectionState = command.Connection.State Dim previousConnectionState As Global.System.Data.ConnectionState = command.Connection.State
If ((command.Connection.State And Global.System.Data.ConnectionState.Open) _ If ((command.Connection.State And Global.System.Data.ConnectionState.Open) _
<> Global.System.Data.ConnectionState.Open) Then <> Global.System.Data.ConnectionState.Open) Then

View File

@@ -56,32 +56,24 @@
<TableUISetting Name="TBPM_CONTROL_TABLE"> <TableUISetting Name="TBPM_CONTROL_TABLE">
<ColumnUISettings> <ColumnUISettings>
<ColumnUISetting Name="ADDED_WHO"> <ColumnUISetting Name="ADDED_WHO">
<ControlSettings> <ControlSettings><ControlSetting ArtifactName="Microsoft:System.Windows.Forms:Form" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
<ControlSetting ArtifactName="Microsoft:System.Windows.Forms:Form">
<BindableControlInfo Name="TextBox" Type="System.Windows.Forms.TextBox" AssemblyName="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> <BindableControlInfo Name="TextBox" Type="System.Windows.Forms.TextBox" AssemblyName="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
</ControlSetting> </ControlSetting></ControlSettings>
</ControlSettings>
</ColumnUISetting> </ColumnUISetting>
<ColumnUISetting Name="ADDED_WHEN"> <ColumnUISetting Name="ADDED_WHEN">
<ControlSettings> <ControlSettings><ControlSetting ArtifactName="Microsoft:System.Windows.Forms:Form" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
<ControlSetting ArtifactName="Microsoft:System.Windows.Forms:Form">
<BindableControlInfo Name="TextBox" Type="System.Windows.Forms.TextBox" AssemblyName="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> <BindableControlInfo Name="TextBox" Type="System.Windows.Forms.TextBox" AssemblyName="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
</ControlSetting> </ControlSetting></ControlSettings>
</ControlSettings>
</ColumnUISetting> </ColumnUISetting>
<ColumnUISetting Name="CHANGED_WHEN"> <ColumnUISetting Name="CHANGED_WHEN">
<ControlSettings> <ControlSettings><ControlSetting ArtifactName="Microsoft:System.Windows.Forms:Form" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
<ControlSetting ArtifactName="Microsoft:System.Windows.Forms:Form">
<BindableControlInfo Name="TextBox" Type="System.Windows.Forms.TextBox" AssemblyName="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> <BindableControlInfo Name="TextBox" Type="System.Windows.Forms.TextBox" AssemblyName="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
</ControlSetting> </ControlSetting></ControlSettings>
</ControlSettings>
</ColumnUISetting> </ColumnUISetting>
<ColumnUISetting Name="TYPE_COLUMN"> <ColumnUISetting Name="TYPE_COLUMN">
<ControlSettings> <ControlSettings><ControlSetting ArtifactName="Microsoft:System.Windows.Forms:Form" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
<ControlSetting ArtifactName="Microsoft:System.Windows.Forms:Form">
<BindableControlInfo Name="ComboBox" Type="System.Windows.Forms.ComboBox" AssemblyName="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> <BindableControlInfo Name="ComboBox" Type="System.Windows.Forms.ComboBox" AssemblyName="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
</ControlSetting> </ControlSetting></ControlSettings>
</ControlSettings>
</ColumnUISetting> </ColumnUISetting>
</ColumnUISettings> </ColumnUISettings>
</TableUISetting> </TableUISetting>

View File

@@ -1319,7 +1319,7 @@ SELECT GUID, CONTROL_ID, SPALTENNAME, SPALTEN_HEADER, SPALTENBREITE, VALIDATION,
<DbCommand CommandType="Text" ModifiedByUser="false"> <DbCommand CommandType="Text" ModifiedByUser="false">
<CommandText>SELECT GUID, CONTROL_ID, SPALTENNAME, SPALTEN_HEADER, SPALTENBREITE, VALIDATION, CHOICE_LIST, CONNECTION_ID, SQL_COMMAND, READ_ONLY, LOAD_IDX_VALUE, ADDED_WHO, ADDED_WHEN, CHANGED_WHO, <CommandText>SELECT GUID, CONTROL_ID, SPALTENNAME, SPALTEN_HEADER, SPALTENBREITE, VALIDATION, CHOICE_LIST, CONNECTION_ID, SQL_COMMAND, READ_ONLY, LOAD_IDX_VALUE, ADDED_WHO, ADDED_WHEN, CHANGED_WHO,
CHANGED_WHEN, REGEX_MATCH, REGEX_MESSAGE_EN, REGEX_MESSAGE_DE, SEQUENCE, DEFAULT_VALUE, ADVANCED_LOOKUP, SUMMARY_FUNCTION, TYPE_COLUMN, LU_CAPTION, INHERIT_VALUE, CHANGED_WHEN, REGEX_MATCH, REGEX_MESSAGE_EN, REGEX_MESSAGE_DE, SEQUENCE, DEFAULT_VALUE, ADVANCED_LOOKUP, SUMMARY_FUNCTION, TYPE_COLUMN, LU_CAPTION, INHERIT_VALUE,
FORMULA_EXPRESSION FORMULA_EXPRESSION, FORMULA_SQL
FROM TBPM_CONTROL_TABLE FROM TBPM_CONTROL_TABLE
WHERE (CONTROL_ID = @CONTROL_ID)</CommandText> WHERE (CONTROL_ID = @CONTROL_ID)</CommandText>
<Parameters> <Parameters>
@@ -1334,7 +1334,7 @@ SET CONTROL_ID = @CONTROL_ID, SPALTENNAME = @SPALTENNAME, SPALTEN
CONNECTION_ID = @CONNECTION_ID, SQL_COMMAND = @SQL_COMMAND, READ_ONLY = @READ_ONLY, LOAD_IDX_VALUE = @LOAD_IDX_VALUE, ADDED_WHO = @ADDED_WHO, ADDED_WHEN = @ADDED_WHEN, CONNECTION_ID = @CONNECTION_ID, SQL_COMMAND = @SQL_COMMAND, READ_ONLY = @READ_ONLY, LOAD_IDX_VALUE = @LOAD_IDX_VALUE, ADDED_WHO = @ADDED_WHO, ADDED_WHEN = @ADDED_WHEN,
CHANGED_WHO = @CHANGED_WHO, CHANGED_WHEN = @CHANGED_WHEN, REGEX_MATCH = @REGEX_MATCH, REGEX_MESSAGE_EN = @REGEX_MESSAGE_EN, REGEX_MESSAGE_DE = @REGEX_MESSAGE_DE, CHANGED_WHO = @CHANGED_WHO, CHANGED_WHEN = @CHANGED_WHEN, REGEX_MATCH = @REGEX_MATCH, REGEX_MESSAGE_EN = @REGEX_MESSAGE_EN, REGEX_MESSAGE_DE = @REGEX_MESSAGE_DE,
SEQUENCE = @SEQUENCE, DEFAULT_VALUE = @DEFAULT_VALUE, ADVANCED_LOOKUP = @ADVANCED_LOOKUP, SAVE_CHANGE_ON_ENABLED = @SAVE_CHANGE_ON_ENABLED, INHERIT_VALUE = @INHERIT_VALUE, SEQUENCE = @SEQUENCE, DEFAULT_VALUE = @DEFAULT_VALUE, ADVANCED_LOOKUP = @ADVANCED_LOOKUP, SAVE_CHANGE_ON_ENABLED = @SAVE_CHANGE_ON_ENABLED, INHERIT_VALUE = @INHERIT_VALUE,
LU_CAPTION = @LU_CAPTION, FORMULA_EXPRESSION = @FORMULA_EXPRESSION LU_CAPTION = @LU_CAPTION, FORMULA_EXPRESSION = @FORMULA_EXPRESSION, FORMULA_SQL = @FORMULA_SQL
WHERE (GUID = @Original_GUID); WHERE (GUID = @Original_GUID);
SELECT GUID, CONTROL_ID, SPALTENNAME, SPALTEN_HEADER, SPALTENBREITE, VALIDATION, CHOICE_LIST, CONNECTION_ID, SQL_COMMAND, READ_ONLY, LOAD_IDX_VALUE, ADDED_WHO, ADDED_WHEN, CHANGED_WHO, CHANGED_WHEN, REGEX_MATCH, REGEX_MESSAGE_EN, REGEX_MESSAGE_DE, SEQUENCE, DEFAULT_VALUE, ADVANCED_LOOKUP FROM TBPM_CONTROL_TABLE WHERE (GUID = @GUID)</CommandText> SELECT GUID, CONTROL_ID, SPALTENNAME, SPALTEN_HEADER, SPALTENBREITE, VALIDATION, CHOICE_LIST, CONNECTION_ID, SQL_COMMAND, READ_ONLY, LOAD_IDX_VALUE, ADDED_WHO, ADDED_WHEN, CHANGED_WHO, CHANGED_WHEN, REGEX_MATCH, REGEX_MESSAGE_EN, REGEX_MESSAGE_DE, SEQUENCE, DEFAULT_VALUE, ADVANCED_LOOKUP FROM TBPM_CONTROL_TABLE WHERE (GUID = @GUID)</CommandText>
<Parameters> <Parameters>
@@ -1362,6 +1362,7 @@ SELECT GUID, CONTROL_ID, SPALTENNAME, SPALTEN_HEADER, SPALTENBREITE, VALIDATION,
<Parameter AllowDbNull="false" AutogeneratedName="INHERIT_VALUE" ColumnName="INHERIT_VALUE" DataSourceName="DD_ECM.dbo.TBPM_CONTROL_TABLE" DataTypeServer="bit" DbType="Boolean" Direction="Input" ParameterName="@INHERIT_VALUE" Precision="0" ProviderType="Bit" Scale="0" Size="1" SourceColumn="INHERIT_VALUE" SourceColumnNullMapping="false" SourceVersion="Current" /> <Parameter AllowDbNull="false" AutogeneratedName="INHERIT_VALUE" ColumnName="INHERIT_VALUE" DataSourceName="DD_ECM.dbo.TBPM_CONTROL_TABLE" DataTypeServer="bit" DbType="Boolean" Direction="Input" ParameterName="@INHERIT_VALUE" Precision="0" ProviderType="Bit" Scale="0" Size="1" SourceColumn="INHERIT_VALUE" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="LU_CAPTION" ColumnName="LU_CAPTION" DataSourceName="DD_ECM.dbo.TBPM_CONTROL_TABLE" DataTypeServer="varchar(150)" DbType="AnsiString" Direction="Input" ParameterName="@LU_CAPTION" Precision="0" ProviderType="VarChar" Scale="0" Size="150" SourceColumn="LU_CAPTION" SourceColumnNullMapping="false" SourceVersion="Current" /> <Parameter AllowDbNull="false" AutogeneratedName="LU_CAPTION" ColumnName="LU_CAPTION" DataSourceName="DD_ECM.dbo.TBPM_CONTROL_TABLE" DataTypeServer="varchar(150)" DbType="AnsiString" Direction="Input" ParameterName="@LU_CAPTION" Precision="0" ProviderType="VarChar" Scale="0" Size="150" SourceColumn="LU_CAPTION" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="FORMULA_EXPRESSION" ColumnName="FORMULA_EXPRESSION" DataSourceName="DD_ECM.dbo.TBPM_CONTROL_TABLE" DataTypeServer="nvarchar(1000)" DbType="String" Direction="Input" ParameterName="@FORMULA_EXPRESSION" Precision="0" ProviderType="NVarChar" Scale="0" Size="1000" SourceColumn="FORMULA_EXPRESSION" SourceColumnNullMapping="false" SourceVersion="Current" /> <Parameter AllowDbNull="false" AutogeneratedName="FORMULA_EXPRESSION" ColumnName="FORMULA_EXPRESSION" DataSourceName="DD_ECM.dbo.TBPM_CONTROL_TABLE" DataTypeServer="nvarchar(1000)" DbType="String" Direction="Input" ParameterName="@FORMULA_EXPRESSION" Precision="0" ProviderType="NVarChar" Scale="0" Size="1000" SourceColumn="FORMULA_EXPRESSION" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="FORMULA_SQL" ColumnName="FORMULA_SQL" DataSourceName="DD_ECM.dbo.TBPM_CONTROL_TABLE" DataTypeServer="nvarchar(3000)" DbType="String" Direction="Input" ParameterName="@FORMULA_SQL" Precision="0" ProviderType="NVarChar" Scale="0" Size="3000" SourceColumn="FORMULA_SQL" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="Original_GUID" ColumnName="GUID" DataSourceName="DD_ECM.dbo.TBPM_CONTROL_TABLE" DataTypeServer="int" DbType="Int32" Direction="Input" ParameterName="@Original_GUID" Precision="0" ProviderType="Int" Scale="0" Size="4" SourceColumn="GUID" SourceColumnNullMapping="false" SourceVersion="Original" /> <Parameter AllowDbNull="false" AutogeneratedName="Original_GUID" ColumnName="GUID" DataSourceName="DD_ECM.dbo.TBPM_CONTROL_TABLE" DataTypeServer="int" DbType="Int32" Direction="Input" ParameterName="@Original_GUID" Precision="0" ProviderType="Int" Scale="0" Size="4" SourceColumn="GUID" SourceColumnNullMapping="false" SourceVersion="Original" />
<Parameter AllowDbNull="false" AutogeneratedName="GUID" ColumnName="GUID" DataSourceName="DD_ECM.dbo.TBPM_CONTROL_TABLE" DataTypeServer="int" DbType="Int32" Direction="Input" ParameterName="@GUID" Precision="0" ProviderType="Int" Scale="0" Size="4" SourceColumn="GUID" SourceColumnNullMapping="false" SourceVersion="Original" /> <Parameter AllowDbNull="false" AutogeneratedName="GUID" ColumnName="GUID" DataSourceName="DD_ECM.dbo.TBPM_CONTROL_TABLE" DataTypeServer="int" DbType="Int32" Direction="Input" ParameterName="@GUID" Precision="0" ProviderType="Int" Scale="0" Size="4" SourceColumn="GUID" SourceColumnNullMapping="false" SourceVersion="Original" />
</Parameters> </Parameters>
@@ -1396,6 +1397,7 @@ SELECT GUID, CONTROL_ID, SPALTENNAME, SPALTEN_HEADER, SPALTENBREITE, VALIDATION,
<Mapping SourceColumn="LU_CAPTION" DataSetColumn="LU_CAPTION" /> <Mapping SourceColumn="LU_CAPTION" DataSetColumn="LU_CAPTION" />
<Mapping SourceColumn="INHERIT_VALUE" DataSetColumn="INHERIT_VALUE" /> <Mapping SourceColumn="INHERIT_VALUE" DataSetColumn="INHERIT_VALUE" />
<Mapping SourceColumn="FORMULA_EXPRESSION" DataSetColumn="FORMULA_EXPRESSION" /> <Mapping SourceColumn="FORMULA_EXPRESSION" DataSetColumn="FORMULA_EXPRESSION" />
<Mapping SourceColumn="FORMULA_SQL" DataSetColumn="FORMULA_SQL" />
</Mappings> </Mappings>
<Sources> <Sources>
<DbSource ConnectionRef="ConnectionString (MySettings)" DbObjectName="DD_ECM_TEST.dbo.TBPM_CONTROL_TABLE" DbObjectType="Table" GenerateShortCommands="true" GeneratorSourceName="cmdUpdate" Modifier="Public" Name="cmdUpdate" QueryType="Scalar" ScalarCallRetval="System.Object, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="GetDataBy" UserSourceName="cmdUpdate"> <DbSource ConnectionRef="ConnectionString (MySettings)" DbObjectName="DD_ECM_TEST.dbo.TBPM_CONTROL_TABLE" DbObjectType="Table" GenerateShortCommands="true" GeneratorSourceName="cmdUpdate" Modifier="Public" Name="cmdUpdate" QueryType="Scalar" ScalarCallRetval="System.Object, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="GetDataBy" UserSourceName="cmdUpdate">
@@ -1405,7 +1407,7 @@ SELECT GUID, CONTROL_ID, SPALTENNAME, SPALTEN_HEADER, SPALTENBREITE, VALIDATION,
SET SPALTENNAME = @SPALTENNAME, SPALTEN_HEADER = @SPALTEN_HEADER, SPALTENBREITE = @SPALTENBREITE, VALIDATION = @VALIDATION, READ_ONLY = @READ_ONLY, LOAD_IDX_VALUE = @LOAD_IDX_VALUE, SET SPALTENNAME = @SPALTENNAME, SPALTEN_HEADER = @SPALTEN_HEADER, SPALTENBREITE = @SPALTENBREITE, VALIDATION = @VALIDATION, READ_ONLY = @READ_ONLY, LOAD_IDX_VALUE = @LOAD_IDX_VALUE,
CHANGED_WHO = @CHANGED_WHO, REGEX_MATCH = @REGEX_MATCH, REGEX_MESSAGE_EN = @REGEX_MESSAGE_EN, REGEX_MESSAGE_DE = @REGEX_MESSAGE_DE, DEFAULT_VALUE = @DEFAULT_VALUE, CHANGED_WHO = @CHANGED_WHO, REGEX_MATCH = @REGEX_MATCH, REGEX_MESSAGE_EN = @REGEX_MESSAGE_EN, REGEX_MESSAGE_DE = @REGEX_MESSAGE_DE, DEFAULT_VALUE = @DEFAULT_VALUE,
SEQUENCE = @SEQUENCE, ADVANCED_LOOKUP = @ADVANCED_LOOKUP, SUMMARY_FUNCTION = @SUMMARY_FUNCTION, TYPE_COLUMN = @TYPE_COLUMN, LU_CAPTION = @LU_CAPTION, SEQUENCE = @SEQUENCE, ADVANCED_LOOKUP = @ADVANCED_LOOKUP, SUMMARY_FUNCTION = @SUMMARY_FUNCTION, TYPE_COLUMN = @TYPE_COLUMN, LU_CAPTION = @LU_CAPTION,
INHERIT_VALUE = @INHERIT_VALUE, FORMULA_EXPRESSION = @FORMULA_EXPRESSION INHERIT_VALUE = @INHERIT_VALUE, FORMULA_EXPRESSION = @FORMULA_EXPRESSION, FORMULA_SQL = @FORMULA_SQL
WHERE (GUID = @Original_GUID)</CommandText> WHERE (GUID = @Original_GUID)</CommandText>
<Parameters> <Parameters>
<Parameter AllowDbNull="false" AutogeneratedName="SPALTENNAME" ColumnName="SPALTENNAME" DataSourceName="DD_ECM.dbo.TBPM_CONTROL_TABLE" DataTypeServer="varchar(100)" DbType="AnsiString" Direction="Input" ParameterName="@SPALTENNAME" Precision="0" ProviderType="VarChar" Scale="0" Size="100" SourceColumn="SPALTENNAME" SourceColumnNullMapping="false" SourceVersion="Current" /> <Parameter AllowDbNull="false" AutogeneratedName="SPALTENNAME" ColumnName="SPALTENNAME" DataSourceName="DD_ECM.dbo.TBPM_CONTROL_TABLE" DataTypeServer="varchar(100)" DbType="AnsiString" Direction="Input" ParameterName="@SPALTENNAME" Precision="0" ProviderType="VarChar" Scale="0" Size="100" SourceColumn="SPALTENNAME" SourceColumnNullMapping="false" SourceVersion="Current" />
@@ -1426,6 +1428,7 @@ WHERE (GUID = @Original_GUID)</CommandText>
<Parameter AllowDbNull="false" AutogeneratedName="LU_CAPTION" ColumnName="LU_CAPTION" DataSourceName="DD_ECM.dbo.TBPM_CONTROL_TABLE" DataTypeServer="varchar(150)" DbType="AnsiString" Direction="Input" ParameterName="@LU_CAPTION" Precision="0" ProviderType="VarChar" Scale="0" Size="150" SourceColumn="LU_CAPTION" SourceColumnNullMapping="false" SourceVersion="Current" /> <Parameter AllowDbNull="false" AutogeneratedName="LU_CAPTION" ColumnName="LU_CAPTION" DataSourceName="DD_ECM.dbo.TBPM_CONTROL_TABLE" DataTypeServer="varchar(150)" DbType="AnsiString" Direction="Input" ParameterName="@LU_CAPTION" Precision="0" ProviderType="VarChar" Scale="0" Size="150" SourceColumn="LU_CAPTION" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="INHERIT_VALUE" ColumnName="INHERIT_VALUE" DataSourceName="DD_ECM.dbo.TBPM_CONTROL_TABLE" DataTypeServer="bit" DbType="Boolean" Direction="Input" ParameterName="@INHERIT_VALUE" Precision="0" ProviderType="Bit" Scale="0" Size="1" SourceColumn="INHERIT_VALUE" SourceColumnNullMapping="false" SourceVersion="Current" /> <Parameter AllowDbNull="false" AutogeneratedName="INHERIT_VALUE" ColumnName="INHERIT_VALUE" DataSourceName="DD_ECM.dbo.TBPM_CONTROL_TABLE" DataTypeServer="bit" DbType="Boolean" Direction="Input" ParameterName="@INHERIT_VALUE" Precision="0" ProviderType="Bit" Scale="0" Size="1" SourceColumn="INHERIT_VALUE" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="FORMULA_EXPRESSION" ColumnName="FORMULA_EXPRESSION" DataSourceName="DD_ECM.dbo.TBPM_CONTROL_TABLE" DataTypeServer="nvarchar(1000)" DbType="String" Direction="Input" ParameterName="@FORMULA_EXPRESSION" Precision="0" ProviderType="NVarChar" Scale="0" Size="1000" SourceColumn="FORMULA_EXPRESSION" SourceColumnNullMapping="false" SourceVersion="Current" /> <Parameter AllowDbNull="false" AutogeneratedName="FORMULA_EXPRESSION" ColumnName="FORMULA_EXPRESSION" DataSourceName="DD_ECM.dbo.TBPM_CONTROL_TABLE" DataTypeServer="nvarchar(1000)" DbType="String" Direction="Input" ParameterName="@FORMULA_EXPRESSION" Precision="0" ProviderType="NVarChar" Scale="0" Size="1000" SourceColumn="FORMULA_EXPRESSION" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="FORMULA_SQL" ColumnName="FORMULA_SQL" DataSourceName="DD_ECM.dbo.TBPM_CONTROL_TABLE" DataTypeServer="nvarchar(3000)" DbType="String" Direction="Input" ParameterName="@FORMULA_SQL" Precision="0" ProviderType="NVarChar" Scale="0" Size="3000" SourceColumn="FORMULA_SQL" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="Original_GUID" ColumnName="GUID" DataSourceName="DD_ECM.dbo.TBPM_CONTROL_TABLE" DataTypeServer="int" DbType="Int32" Direction="Input" ParameterName="@Original_GUID" Precision="0" ProviderType="Int" Scale="0" Size="4" SourceColumn="GUID" SourceColumnNullMapping="false" SourceVersion="Original" /> <Parameter AllowDbNull="false" AutogeneratedName="Original_GUID" ColumnName="GUID" DataSourceName="DD_ECM.dbo.TBPM_CONTROL_TABLE" DataTypeServer="int" DbType="Int32" Direction="Input" ParameterName="@Original_GUID" Precision="0" ProviderType="Int" Scale="0" Size="4" SourceColumn="GUID" SourceColumnNullMapping="false" SourceVersion="Original" />
</Parameters> </Parameters>
</DbCommand> </DbCommand>
@@ -1458,7 +1461,7 @@ FROM TBPM_CONTROL_TABLE</CommandText>
<DbCommand CommandType="Text" ModifiedByUser="true"> <DbCommand CommandType="Text" ModifiedByUser="true">
<CommandText>SELECT ADDED_WHEN, ADDED_WHO, ADVANCED_LOOKUP, CHANGED_WHEN, CHANGED_WHO, CHOICE_LIST, CONNECTION_ID, CONTROL_ID, DEFAULT_VALUE, GUID, LOAD_IDX_VALUE, READ_ONLY, REGEX_MATCH, <CommandText>SELECT ADDED_WHEN, ADDED_WHO, ADVANCED_LOOKUP, CHANGED_WHEN, CHANGED_WHO, CHOICE_LIST, CONNECTION_ID, CONTROL_ID, DEFAULT_VALUE, GUID, LOAD_IDX_VALUE, READ_ONLY, REGEX_MATCH,
REGEX_MESSAGE_DE, REGEX_MESSAGE_EN, SEQUENCE, SPALTENBREITE, SPALTENNAME, SPALTEN_HEADER, SQL_COMMAND, VALIDATION, SUMMARY_FUNCTION, TYPE_COLUMN, LU_CAPTION, INHERIT_VALUE, REGEX_MESSAGE_DE, REGEX_MESSAGE_EN, SEQUENCE, SPALTENBREITE, SPALTENNAME, SPALTEN_HEADER, SQL_COMMAND, VALIDATION, SUMMARY_FUNCTION, TYPE_COLUMN, LU_CAPTION, INHERIT_VALUE,
FORMULA_EXPRESSION FORMULA_EXPRESSION, FORMULA_SQL
FROM TBPM_CONTROL_TABLE FROM TBPM_CONTROL_TABLE
WHERE (GUID = @GUID)</CommandText> WHERE (GUID = @GUID)</CommandText>
<Parameters> <Parameters>
@@ -2812,13 +2815,20 @@ SELECT GUID, NAME, TITLE, PRIORITY, DESCRIPTION, ACTIVE, WD_SEARCH, NO_OF_DOCUME
</xs:simpleType> </xs:simpleType>
</xs:element> </xs:element>
<xs:element name="INHERIT_VALUE" msprop:Generator_ColumnPropNameInTable="INHERIT_VALUEColumn" msprop:Generator_ColumnPropNameInRow="INHERIT_VALUE" msprop:Generator_UserColumnName="INHERIT_VALUE" msprop:Generator_ColumnVarNameInTable="columnINHERIT_VALUE" type="xs:boolean" default="false" /> <xs:element name="INHERIT_VALUE" msprop:Generator_ColumnPropNameInTable="INHERIT_VALUEColumn" msprop:Generator_ColumnPropNameInRow="INHERIT_VALUE" msprop:Generator_UserColumnName="INHERIT_VALUE" msprop:Generator_ColumnVarNameInTable="columnINHERIT_VALUE" type="xs:boolean" default="false" />
<xs:element name="FORMULA_EXPRESSION" msprop:Generator_ColumnPropNameInTable="FORMULA_EXPRESSIONColumn" msprop:Generator_ColumnPropNameInRow="FORMULA_EXPRESSION" msprop:Generator_UserColumnName="FORMULA_EXPRESSION" msprop:Generator_ColumnVarNameInTable="columnFORMULA_EXPRESSION"> <xs:element name="FORMULA_EXPRESSION" msprop:Generator_ColumnPropNameInTable="FORMULA_EXPRESSIONColumn" msprop:Generator_ColumnPropNameInRow="FORMULA_EXPRESSION" msprop:Generator_UserColumnName="FORMULA_EXPRESSION" msprop:Generator_ColumnVarNameInTable="columnFORMULA_EXPRESSION" default="">
<xs:simpleType> <xs:simpleType>
<xs:restriction base="xs:string"> <xs:restriction base="xs:string">
<xs:maxLength value="1000" /> <xs:maxLength value="1000" />
</xs:restriction> </xs:restriction>
</xs:simpleType> </xs:simpleType>
</xs:element> </xs:element>
<xs:element name="FORMULA_SQL" msprop:Generator_ColumnPropNameInRow="FORMULA_SQL" msprop:Generator_ColumnPropNameInTable="FORMULA_SQLColumn" msprop:Generator_ColumnVarNameInTable="columnFORMULA_SQL" msprop:Generator_UserColumnName="FORMULA_SQL" default="">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="3000" />
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:sequence> </xs:sequence>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
@@ -3405,9 +3415,9 @@ SELECT GUID, NAME, TITLE, PRIORITY, DESCRIPTION, ACTIVE, WD_SEARCH, NO_OF_DOCUME
</xs:element> </xs:element>
<xs:annotation> <xs:annotation>
<xs:appinfo> <xs:appinfo>
<msdata:Relationship name="FK_TBPM_CONTROL_TABLE_CONTROL1" msdata:parent="TBPM_PROFILE_CONTROLS" msdata:child="TBPM_CONTROL_TABLE" msdata:parentkey="GUID" msdata:childkey="CONTROL_ID" msprop:Generator_UserParentTable="TBPM_PROFILE_CONTROLS" msprop:Generator_UserChildTable="TBPM_CONTROL_TABLE" msprop:Generator_RelationVarName="relationFK_TBPM_CONTROL_TABLE_CONTROL1" msprop:Generator_ChildPropName="GetTBPM_CONTROL_TABLERows" msprop:Generator_UserRelationName="FK_TBPM_CONTROL_TABLE_CONTROL1" msprop:Generator_ParentPropName="TBPM_PROFILE_CONTROLSRow" /> <msdata:Relationship name="FK_TBPM_CONTROL_TABLE_CONTROL1" msdata:parent="TBPM_PROFILE_CONTROLS" msdata:child="TBPM_CONTROL_TABLE" msdata:parentkey="GUID" msdata:childkey="CONTROL_ID" msprop:Generator_UserParentTable="TBPM_PROFILE_CONTROLS" msprop:Generator_UserChildTable="TBPM_CONTROL_TABLE" msprop:Generator_RelationVarName="relationFK_TBPM_CONTROL_TABLE_CONTROL1" msprop:Generator_ChildPropName="GetTBPM_CONTROL_TABLERows" msprop:Generator_ParentPropName="TBPM_PROFILE_CONTROLSRow" msprop:Generator_UserRelationName="FK_TBPM_CONTROL_TABLE_CONTROL1" />
<msdata:Relationship name="FK_TBPM_CONTROL_TABLE_CONTROL" msdata:parent="TBWH_CHECK_PROFILE_CONTROLS" msdata:child="TBPM_CONTROL_TABLE" msdata:parentkey="GUID" msdata:childkey="CONTROL_ID" msprop:Generator_UserParentTable="TBWH_CHECK_PROFILE_CONTROLS" msprop:Generator_UserChildTable="TBPM_CONTROL_TABLE" msprop:Generator_RelationVarName="relationFK_TBPM_CONTROL_TABLE_CONTROL" msprop:Generator_ChildPropName="GetTBPM_CONTROL_TABLERows" msprop:Generator_ParentPropName="TBWH_CHECK_PROFILE_CONTROLSRow" msprop:Generator_UserRelationName="FK_TBPM_CONTROL_TABLE_CONTROL" /> <msdata:Relationship name="FK_TBPM_CONTROL_TABLE_CONTROL" msdata:parent="TBWH_CHECK_PROFILE_CONTROLS" msdata:child="TBPM_CONTROL_TABLE" msdata:parentkey="GUID" msdata:childkey="CONTROL_ID" msprop:Generator_UserParentTable="TBWH_CHECK_PROFILE_CONTROLS" msprop:Generator_UserChildTable="TBPM_CONTROL_TABLE" msprop:Generator_RelationVarName="relationFK_TBPM_CONTROL_TABLE_CONTROL" msprop:Generator_ChildPropName="GetTBPM_CONTROL_TABLERows" msprop:Generator_UserRelationName="FK_TBPM_CONTROL_TABLE_CONTROL" msprop:Generator_ParentPropName="TBWH_CHECK_PROFILE_CONTROLSRow" />
<msdata:Relationship name="FK_TBPM_PROFILE_CONTROLS_PROFILE" msdata:parent="TBPM_PROFILE" msdata:child="TBPM_PROFILE_CONTROLS" msdata:parentkey="GUID" msdata:childkey="PROFIL_ID" msprop:Generator_UserParentTable="TBPM_PROFILE" msprop:Generator_UserChildTable="TBPM_PROFILE_CONTROLS" msprop:Generator_RelationVarName="relationFK_TBPM_PROFILE_CONTROLS_PROFILE" msprop:Generator_ChildPropName="GetTBPM_PROFILE_CONTROLSRows" msprop:Generator_ParentPropName="TBPM_PROFILERow" msprop:Generator_UserRelationName="FK_TBPM_PROFILE_CONTROLS_PROFILE" /> <msdata:Relationship name="FK_TBPM_PROFILE_CONTROLS_PROFILE" msdata:parent="TBPM_PROFILE" msdata:child="TBPM_PROFILE_CONTROLS" msdata:parentkey="GUID" msdata:childkey="PROFIL_ID" msprop:Generator_UserParentTable="TBPM_PROFILE" msprop:Generator_UserChildTable="TBPM_PROFILE_CONTROLS" msprop:Generator_RelationVarName="relationFK_TBPM_PROFILE_CONTROLS_PROFILE" msprop:Generator_ChildPropName="GetTBPM_PROFILE_CONTROLSRows" msprop:Generator_UserRelationName="FK_TBPM_PROFILE_CONTROLS_PROFILE" msprop:Generator_ParentPropName="TBPM_PROFILERow" />
</xs:appinfo> </xs:appinfo>
</xs:annotation> </xs:annotation>
</xs:schema> </xs:schema>

View File

@@ -4,7 +4,7 @@
Changes to this file may cause incorrect behavior and will be lost if Changes to this file may cause incorrect behavior and will be lost if
the code is regenerated. the code is regenerated.
</autogenerated>--> </autogenerated>-->
<DiagramLayout xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ex:showrelationlabel="False" ViewPortX="472" ViewPortY="129" xmlns:ex="urn:schemas-microsoft-com:xml-msdatasource-layout-extended" xmlns="urn:schemas-microsoft-com:xml-msdatasource-layout"> <DiagramLayout xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ex:showrelationlabel="False" ViewPortX="472" ViewPortY="90" xmlns:ex="urn:schemas-microsoft-com:xml-msdatasource-layout-extended" xmlns="urn:schemas-microsoft-com:xml-msdatasource-layout">
<Shapes> <Shapes>
<Shape ID="DesignTable:TBPM_PROFILE_FINAL_INDEXING" ZOrder="14" X="1688" Y="-74" Height="324" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="197" /> <Shape ID="DesignTable:TBPM_PROFILE_FINAL_INDEXING" ZOrder="14" X="1688" Y="-74" Height="324" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="197" />
<Shape ID="DesignTable:TBPM_KONFIGURATION" ZOrder="2" X="-17" Y="232" Height="262" Width="158" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="97" /> <Shape ID="DesignTable:TBPM_KONFIGURATION" ZOrder="2" X="-17" Y="232" Height="262" Width="158" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="97" />

File diff suppressed because it is too large Load Diff

View File

@@ -32,6 +32,6 @@ Imports System.Runtime.InteropServices
' übernehmen, indem Sie "*" eingeben: ' übernehmen, indem Sie "*" eingeben:
' <Assembly: AssemblyVersion("1.0.*")> ' <Assembly: AssemblyVersion("1.0.*")>
<Assembly: AssemblyVersion("2.8.5.0")> <Assembly: AssemblyVersion("2.8.6.0")>
<Assembly: AssemblyFileVersion("1.0.0.0")> <Assembly: AssemblyFileVersion("1.0.0.0")>
<Assembly: NeutralResourcesLanguage("")> <Assembly: NeutralResourcesLanguage("")>

View File

@@ -1280,11 +1280,11 @@
<None Include="Resources\PM_mit_slogan.JPG" /> <None Include="Resources\PM_mit_slogan.JPG" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<Content Include="taskFLOW-TEST-Debug.txt" />
<None Include="Changelog.md" /> <None Include="Changelog.md" />
<Content Include="DataColumnExpression.txt" /> <Content Include="DataColumnExpression.txt" />
<Content Include="DD_Icons_ICO_PMANAGER_48px.ico" /> <Content Include="DD_Icons_ICO_PMANAGER_48px.ico" />
<Content Include="DD_taskFLOW_ICON.ico" /> <Content Include="DD_taskFLOW_ICON.ico" />
<Content Include="Log_Waehrung.txt" />
<Content Include="MailLicense.xml"> <Content Include="MailLicense.xml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content> </Content>

View File

@@ -76,7 +76,8 @@ Public Class clsPatterns
''' Aktualisiert den Wert eines Controls im Cache ''' Aktualisiert den Wert eines Controls im Cache
''' </summary> ''' </summary>
Public Shared Sub UpdateControlInCache(controlName As String, newValue As Object) Public Shared Sub UpdateControlInCache(controlName As String, newValue As Object)
SyncLock _ControlLookupCache ' Thread-Safety ' FIX: SyncLock auf Nothing ist illegal → GetType(clsPatterns) als stabilen Lock-Anker nutzen
SyncLock GetType(clsPatterns)
If _ControlLookupCache Is Nothing OrElse Not _ControlLookupCache.ContainsKey(controlName) Then If _ControlLookupCache Is Nothing OrElse Not _ControlLookupCache.ContainsKey(controlName) Then
LOGGER.Warn($"Control [{controlName}] not found in cache for update") LOGGER.Warn($"Control [{controlName}] not found in cache for update")
Return Return
@@ -136,12 +137,14 @@ Public Class clsPatterns
Public Shared Sub UpdateMultipleControlsInCache(updates As Dictionary(Of String, Object)) Public Shared Sub UpdateMultipleControlsInCache(updates As Dictionary(Of String, Object))
If updates Is Nothing OrElse updates.Count = 0 Then Return If updates Is Nothing OrElse updates.Count = 0 Then Return
SyncLock _ControlLookupCache ' FIX: Gleicher Lock-Anker wie UpdateControlInCache → kein Deadlock
' Die eigentliche Aktualisierung läuft sequenziell über UpdateControlInCache,
' da SyncLock in VB.NET re-entrant auf demselben Thread ist.
For Each kvp In updates For Each kvp In updates
UpdateControlInCache(kvp.Key, kvp.Value) UpdateControlInCache(kvp.Key, kvp.Value)
Next Next
LOGGER.Debug($"Batch cache update completed for {updates.Count} controls") LOGGER.Debug($"Batch cache update completed for {updates.Count} controls")
End SyncLock
End Sub End Sub
''' <summary> ''' <summary>
''' Wraps a pattern-type and -value in the common format: {#type#value} ''' Wraps a pattern-type and -value in the common format: {#type#value}
@@ -270,14 +273,23 @@ Public Class clsPatterns
Catch ex As Exception Catch ex As Exception
LOGGER.Error(ex) LOGGER.Error(ex)
LOGGER.Info("Error in ReplaceUserValues:" & ex.Message) LOGGER.Info("Error in ReplaceUserValues:" & ex.Message)
Return input ' FIX: Originalwert zurückgeben statt implizit Nothing
End Try End Try
End Function End Function
Private Shared Sub RecursiveAddToCache(ctrl As Control, cache As Dictionary(Of String, Control)) Private Shared Sub RecursiveAddToCache(rootCtrl As Control, cache As Dictionary(Of String, Control))
Dim stack As New Stack(Of Control)()
stack.Push(rootCtrl)
While stack.Count > 0
Dim ctrl As Control = stack.Pop()
If Not String.IsNullOrEmpty(ctrl.Name) Then
cache(ctrl.Name) = ctrl cache(ctrl.Name) = ctrl
End If
For Each child As Control In ctrl.Controls For Each child As Control In ctrl.Controls
RecursiveAddToCache(child, cache) stack.Push(child)
Next Next
End While
End Sub End Sub
Public Shared Function ReplaceControlValues(pInput As String, oPanel As DevExpress.XtraEditors.XtraScrollableControl, oIsSQL As Boolean) As String Public Shared Function ReplaceControlValues(pInput As String, oPanel As DevExpress.XtraEditors.XtraScrollableControl, oIsSQL As Boolean) As String
Dim oResult = pInput Dim oResult = pInput
@@ -291,8 +303,9 @@ Public Class clsPatterns
LOGGER.Debug($"Control cache initialized with {_ControlLookupCache.Count} controls") LOGGER.Debug($"Control cache initialized with {_ControlLookupCache.Count} controls")
End If End If
End SyncLock End SyncLock
Try
Try
LOGGER.Debug($"Starting ReplaceControlValues with input: [{oResult}] for document ID: {CURRENT_DOC_ID}")
Dim oTryCounter = 0 Dim oTryCounter = 0
While ContainsPattern(oResult, PATTERN_CTRL) While ContainsPattern(oResult, PATTERN_CTRL)
@@ -484,19 +497,22 @@ Public Class clsPatterns
Try Try
Dim oResult = pInput Dim oResult = pInput
Dim oTryCounter As Integer = 0 Dim oTryCounter As Integer = 0
LOGGER.Debug($"Starting ReplaceWindreamIndicies with input: [{oResult}] for document ID: {CURRENT_DOC_ID}")
While ContainsPattern(oResult, PATTERN_WMI) While ContainsPattern(oResult, PATTERN_WMI)
Dim oWMValue As String Dim oWMValue As String
Dim oIndexName As String = GetNextPattern(oResult, PATTERN_WMI).Value Dim oIndexName As String = GetNextPattern(oResult, PATTERN_WMI).Value
If oIndexName = "@@DISPLAY_ONLY" Then If oIndexName = "@@DISPLAY_ONLY" Then
oWMValue = String.Empty oWMValue = String.Empty
Else Else
oWMValue = pDocument.GetVariableValue(oIndexName) oWMValue = pDocument.GetVariableValue(oIndexName)
End If End If
' FIX 1: >= statt = → Counter springt in 10er-Schritten, trifft niemals genau 5
If IsNothing(oWMValue) And oTryCounter = MAX_TRY_COUNT Then If IsNothing(oWMValue) AndAlso oTryCounter >= MAX_TRY_COUNT Then
Throw New Exception("Max tries in ReplaceWindreamIndicies exceeded.") LOGGER.Warn($"[ReplaceWindreamIndicies] Max tries for [{oIndexName}] exceeded → replacing with empty string")
oResult = ReplacePattern(oResult, PATTERN_WMI, String.Empty)
Continue While
End If End If
If oWMValue IsNot Nothing Then If oWMValue IsNot Nothing Then
@@ -506,6 +522,11 @@ Public Class clsPatterns
LOGGER.Debug($"oReplaceValue = {oWMValue}") LOGGER.Debug($"oReplaceValue = {oWMValue}")
End If End If
oResult = ReplacePattern(oResult, PATTERN_WMI, oWMValue) oResult = ReplacePattern(oResult, PATTERN_WMI, oWMValue)
Else
' FIX 2: Else-Branch — Nothing-Wert ersetzt den Placeholder mit leerem String
' verhindert Endless Loop wenn Windream-Index keinen Wert hat
LOGGER.Warn($"[ReplaceWindreamIndicies] WMI value for [{oIndexName}] is Nothing → replacing with empty string (counter: {oTryCounter})")
oResult = ReplacePattern(oResult, PATTERN_WMI, String.Empty)
End If End If
' Increase counter by 10 to avoid DDOSing the Windream Service ' Increase counter by 10 to avoid DDOSing the Windream Service
@@ -522,6 +543,7 @@ Public Class clsPatterns
Try Try
Dim result = input Dim result = input
Dim oTryCounter As Integer = 0 Dim oTryCounter As Integer = 0
LOGGER.Debug($"Starting ReplaceIDBAttributes with input: [{result}] for document ID: {CURRENT_DOC_ID}")
While ContainsPattern(result, PATTERN_IDBA) While ContainsPattern(result, PATTERN_IDBA)
Dim indexName As String = GetNextPattern(result, PATTERN_IDBA).Value Dim indexName As String = GetNextPattern(result, PATTERN_IDBA).Value
@@ -573,6 +595,7 @@ Public Class clsPatterns
Catch ex As Exception Catch ex As Exception
LOGGER.Error(ex) LOGGER.Error(ex)
LOGGER.Info("Error in ReplaceIDBAttributes:" & ex.Message) LOGGER.Info("Error in ReplaceIDBAttributes:" & ex.Message)
Return input ' FIX: Originalwert zurückgeben statt implizit Nothing
End Try End Try
End Function End Function

View File

@@ -37,6 +37,8 @@ Partial Class frmColumn_Detail
Me.RibbonStatusBar1 = New DevExpress.XtraBars.Ribbon.RibbonStatusBar() Me.RibbonStatusBar1 = New DevExpress.XtraBars.Ribbon.RibbonStatusBar()
Me.RibbonPage2 = New DevExpress.XtraBars.Ribbon.RibbonPage() Me.RibbonPage2 = New DevExpress.XtraBars.Ribbon.RibbonPage()
Me.LayoutControl1 = New DevExpress.XtraLayout.LayoutControl() Me.LayoutControl1 = New DevExpress.XtraLayout.LayoutControl()
Me.SimpleButton4 = New DevExpress.XtraEditors.SimpleButton()
Me.FORMULA_SQLTextBox = New System.Windows.Forms.TextBox()
Me.SimpleButton3 = New DevExpress.XtraEditors.SimpleButton() Me.SimpleButton3 = New DevExpress.XtraEditors.SimpleButton()
Me.FORMULA_EXPRESSIONTextBox = New System.Windows.Forms.TextBox() Me.FORMULA_EXPRESSIONTextBox = New System.Windows.Forms.TextBox()
Me.LU_CAPTIONTextBox = New System.Windows.Forms.TextBox() Me.LU_CAPTIONTextBox = New System.Windows.Forms.TextBox()
@@ -89,6 +91,8 @@ Partial Class frmColumn_Detail
Me.LayoutControlItem21 = New DevExpress.XtraLayout.LayoutControlItem() Me.LayoutControlItem21 = New DevExpress.XtraLayout.LayoutControlItem()
Me.LayoutControlItem24 = New DevExpress.XtraLayout.LayoutControlItem() Me.LayoutControlItem24 = New DevExpress.XtraLayout.LayoutControlItem()
Me.LayoutControlItem26 = New DevExpress.XtraLayout.LayoutControlItem() Me.LayoutControlItem26 = New DevExpress.XtraLayout.LayoutControlItem()
Me.LayoutControlItem27 = New DevExpress.XtraLayout.LayoutControlItem()
Me.LayoutControlItem15 = New DevExpress.XtraLayout.LayoutControlItem()
CType(Me.TBPM_CONTROL_TABLEBindingSource, System.ComponentModel.ISupportInitialize).BeginInit() CType(Me.TBPM_CONTROL_TABLEBindingSource, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.DD_DMSLiteDataSet, System.ComponentModel.ISupportInitialize).BeginInit() CType(Me.DD_DMSLiteDataSet, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.RibbonControl1, System.ComponentModel.ISupportInitialize).BeginInit() CType(Me.RibbonControl1, System.ComponentModel.ISupportInitialize).BeginInit()
@@ -141,6 +145,8 @@ Partial Class frmColumn_Detail
CType(Me.LayoutControlItem21, System.ComponentModel.ISupportInitialize).BeginInit() CType(Me.LayoutControlItem21, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.LayoutControlItem24, System.ComponentModel.ISupportInitialize).BeginInit() CType(Me.LayoutControlItem24, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.LayoutControlItem26, System.ComponentModel.ISupportInitialize).BeginInit() CType(Me.LayoutControlItem26, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.LayoutControlItem27, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.LayoutControlItem15, System.ComponentModel.ISupportInitialize).BeginInit()
Me.SuspendLayout() Me.SuspendLayout()
' '
'TBPM_CONTROL_TABLEBindingSource 'TBPM_CONTROL_TABLEBindingSource
@@ -237,6 +243,8 @@ Partial Class frmColumn_Detail
' '
'LayoutControl1 'LayoutControl1
' '
Me.LayoutControl1.Controls.Add(Me.SimpleButton4)
Me.LayoutControl1.Controls.Add(Me.FORMULA_SQLTextBox)
Me.LayoutControl1.Controls.Add(Me.SimpleButton3) Me.LayoutControl1.Controls.Add(Me.SimpleButton3)
Me.LayoutControl1.Controls.Add(Me.FORMULA_EXPRESSIONTextBox) Me.LayoutControl1.Controls.Add(Me.FORMULA_EXPRESSIONTextBox)
Me.LayoutControl1.Controls.Add(Me.LU_CAPTIONTextBox) Me.LayoutControl1.Controls.Add(Me.LU_CAPTIONTextBox)
@@ -266,6 +274,19 @@ Partial Class frmColumn_Detail
Me.LayoutControl1.Name = "LayoutControl1" Me.LayoutControl1.Name = "LayoutControl1"
Me.LayoutControl1.Root = Me.Root Me.LayoutControl1.Root = Me.Root
' '
'SimpleButton4
'
resources.ApplyResources(Me.SimpleButton4, "SimpleButton4")
Me.SimpleButton4.Name = "SimpleButton4"
Me.SimpleButton4.StyleController = Me.LayoutControl1
'
'FORMULA_SQLTextBox
'
Me.FORMULA_SQLTextBox.DataBindings.Add(New System.Windows.Forms.Binding("Text", Me.TBPM_CONTROL_TABLEBindingSource, "FORMULA_SQL", True))
resources.ApplyResources(Me.FORMULA_SQLTextBox, "FORMULA_SQLTextBox")
Me.FORMULA_SQLTextBox.Name = "FORMULA_SQLTextBox"
Me.FORMULA_SQLTextBox.ReadOnly = True
'
'SimpleButton3 'SimpleButton3
' '
resources.ApplyResources(Me.SimpleButton3, "SimpleButton3") resources.ApplyResources(Me.SimpleButton3, "SimpleButton3")
@@ -277,6 +298,7 @@ Partial Class frmColumn_Detail
Me.FORMULA_EXPRESSIONTextBox.DataBindings.Add(New System.Windows.Forms.Binding("Text", Me.TBPM_CONTROL_TABLEBindingSource, "FORMULA_EXPRESSION", True)) Me.FORMULA_EXPRESSIONTextBox.DataBindings.Add(New System.Windows.Forms.Binding("Text", Me.TBPM_CONTROL_TABLEBindingSource, "FORMULA_EXPRESSION", True))
resources.ApplyResources(Me.FORMULA_EXPRESSIONTextBox, "FORMULA_EXPRESSIONTextBox") resources.ApplyResources(Me.FORMULA_EXPRESSIONTextBox, "FORMULA_EXPRESSIONTextBox")
Me.FORMULA_EXPRESSIONTextBox.Name = "FORMULA_EXPRESSIONTextBox" Me.FORMULA_EXPRESSIONTextBox.Name = "FORMULA_EXPRESSIONTextBox"
Me.FORMULA_EXPRESSIONTextBox.ReadOnly = True
' '
'LU_CAPTIONTextBox 'LU_CAPTIONTextBox
' '
@@ -478,9 +500,9 @@ Partial Class frmColumn_Detail
' '
Me.Root.EnableIndentsWithoutBorders = DevExpress.Utils.DefaultBoolean.[True] Me.Root.EnableIndentsWithoutBorders = DevExpress.Utils.DefaultBoolean.[True]
Me.Root.GroupBordersVisible = False Me.Root.GroupBordersVisible = False
Me.Root.Items.AddRange(New DevExpress.XtraLayout.BaseLayoutItem() {Me.LayoutControlItem1, Me.LayoutControlItem2, Me.LayoutControlItem3, Me.LayoutControlItem4, Me.LayoutControlItem5, Me.LayoutControlItem6, Me.LayoutControlItem8, Me.LayoutControlItem7, Me.LayoutControlItem9, Me.LayoutControlItem10, Me.LayoutControlItem12, Me.LayoutControlItem11, Me.LayoutControlItem13, Me.LayoutControlGroup1, Me.LayoutControlItem18, Me.LayoutControlItem19, Me.LayoutControlItem23, Me.LayoutControlItem21, Me.LayoutControlItem24, Me.LayoutControlItem26}) Me.Root.Items.AddRange(New DevExpress.XtraLayout.BaseLayoutItem() {Me.LayoutControlItem1, Me.LayoutControlItem2, Me.LayoutControlItem3, Me.LayoutControlItem4, Me.LayoutControlItem5, Me.LayoutControlItem6, Me.LayoutControlItem8, Me.LayoutControlItem7, Me.LayoutControlItem9, Me.LayoutControlItem10, Me.LayoutControlItem12, Me.LayoutControlItem11, Me.LayoutControlItem13, Me.LayoutControlGroup1, Me.LayoutControlItem18, Me.LayoutControlItem19, Me.LayoutControlItem23, Me.LayoutControlItem21, Me.LayoutControlItem24, Me.LayoutControlItem26, Me.LayoutControlItem27, Me.LayoutControlItem15})
Me.Root.Name = "Root" Me.Root.Name = "Root"
Me.Root.Size = New System.Drawing.Size(593, 816) Me.Root.Size = New System.Drawing.Size(630, 853)
Me.Root.TextVisible = False Me.Root.TextVisible = False
' '
'LayoutControlItem1 'LayoutControlItem1
@@ -489,7 +511,7 @@ Partial Class frmColumn_Detail
Me.LayoutControlItem1.Location = New System.Drawing.Point(0, 0) Me.LayoutControlItem1.Location = New System.Drawing.Point(0, 0)
Me.LayoutControlItem1.Name = "LayoutControlItem1" Me.LayoutControlItem1.Name = "LayoutControlItem1"
Me.LayoutControlItem1.Padding = New DevExpress.XtraLayout.Utils.Padding(10, 10, 10, 10) Me.LayoutControlItem1.Padding = New DevExpress.XtraLayout.Utils.Padding(10, 10, 10, 10)
Me.LayoutControlItem1.Size = New System.Drawing.Size(573, 40) Me.LayoutControlItem1.Size = New System.Drawing.Size(610, 40)
resources.ApplyResources(Me.LayoutControlItem1, "LayoutControlItem1") resources.ApplyResources(Me.LayoutControlItem1, "LayoutControlItem1")
Me.LayoutControlItem1.TextSize = New System.Drawing.Size(110, 13) Me.LayoutControlItem1.TextSize = New System.Drawing.Size(110, 13)
' '
@@ -499,7 +521,7 @@ Partial Class frmColumn_Detail
Me.LayoutControlItem2.Location = New System.Drawing.Point(0, 40) Me.LayoutControlItem2.Location = New System.Drawing.Point(0, 40)
Me.LayoutControlItem2.Name = "LayoutControlItem2" Me.LayoutControlItem2.Name = "LayoutControlItem2"
Me.LayoutControlItem2.Padding = New DevExpress.XtraLayout.Utils.Padding(10, 10, 10, 10) Me.LayoutControlItem2.Padding = New DevExpress.XtraLayout.Utils.Padding(10, 10, 10, 10)
Me.LayoutControlItem2.Size = New System.Drawing.Size(573, 40) Me.LayoutControlItem2.Size = New System.Drawing.Size(610, 40)
resources.ApplyResources(Me.LayoutControlItem2, "LayoutControlItem2") resources.ApplyResources(Me.LayoutControlItem2, "LayoutControlItem2")
Me.LayoutControlItem2.TextSize = New System.Drawing.Size(110, 13) Me.LayoutControlItem2.TextSize = New System.Drawing.Size(110, 13)
' '
@@ -509,7 +531,7 @@ Partial Class frmColumn_Detail
Me.LayoutControlItem3.Location = New System.Drawing.Point(0, 80) Me.LayoutControlItem3.Location = New System.Drawing.Point(0, 80)
Me.LayoutControlItem3.Name = "LayoutControlItem3" Me.LayoutControlItem3.Name = "LayoutControlItem3"
Me.LayoutControlItem3.Padding = New DevExpress.XtraLayout.Utils.Padding(10, 10, 10, 10) Me.LayoutControlItem3.Padding = New DevExpress.XtraLayout.Utils.Padding(10, 10, 10, 10)
Me.LayoutControlItem3.Size = New System.Drawing.Size(573, 40) Me.LayoutControlItem3.Size = New System.Drawing.Size(610, 40)
resources.ApplyResources(Me.LayoutControlItem3, "LayoutControlItem3") resources.ApplyResources(Me.LayoutControlItem3, "LayoutControlItem3")
Me.LayoutControlItem3.TextSize = New System.Drawing.Size(110, 13) Me.LayoutControlItem3.TextSize = New System.Drawing.Size(110, 13)
' '
@@ -519,7 +541,7 @@ Partial Class frmColumn_Detail
Me.LayoutControlItem4.Location = New System.Drawing.Point(0, 120) Me.LayoutControlItem4.Location = New System.Drawing.Point(0, 120)
Me.LayoutControlItem4.Name = "LayoutControlItem4" Me.LayoutControlItem4.Name = "LayoutControlItem4"
Me.LayoutControlItem4.Padding = New DevExpress.XtraLayout.Utils.Padding(10, 10, 10, 10) Me.LayoutControlItem4.Padding = New DevExpress.XtraLayout.Utils.Padding(10, 10, 10, 10)
Me.LayoutControlItem4.Size = New System.Drawing.Size(286, 40) Me.LayoutControlItem4.Size = New System.Drawing.Size(304, 40)
resources.ApplyResources(Me.LayoutControlItem4, "LayoutControlItem4") resources.ApplyResources(Me.LayoutControlItem4, "LayoutControlItem4")
Me.LayoutControlItem4.TextSize = New System.Drawing.Size(110, 13) Me.LayoutControlItem4.TextSize = New System.Drawing.Size(110, 13)
' '
@@ -529,16 +551,16 @@ Partial Class frmColumn_Detail
Me.LayoutControlItem5.Location = New System.Drawing.Point(0, 200) Me.LayoutControlItem5.Location = New System.Drawing.Point(0, 200)
Me.LayoutControlItem5.Name = "LayoutControlItem5" Me.LayoutControlItem5.Name = "LayoutControlItem5"
Me.LayoutControlItem5.Padding = New DevExpress.XtraLayout.Utils.Padding(10, 10, 10, 10) Me.LayoutControlItem5.Padding = New DevExpress.XtraLayout.Utils.Padding(10, 10, 10, 10)
Me.LayoutControlItem5.Size = New System.Drawing.Size(488, 46) Me.LayoutControlItem5.Size = New System.Drawing.Size(520, 46)
resources.ApplyResources(Me.LayoutControlItem5, "LayoutControlItem5") resources.ApplyResources(Me.LayoutControlItem5, "LayoutControlItem5")
Me.LayoutControlItem5.TextSize = New System.Drawing.Size(110, 13) Me.LayoutControlItem5.TextSize = New System.Drawing.Size(110, 13)
' '
'LayoutControlItem6 'LayoutControlItem6
' '
Me.LayoutControlItem6.Control = Me.SimpleButton1 Me.LayoutControlItem6.Control = Me.SimpleButton1
Me.LayoutControlItem6.Location = New System.Drawing.Point(488, 200) Me.LayoutControlItem6.Location = New System.Drawing.Point(520, 200)
Me.LayoutControlItem6.Name = "LayoutControlItem6" Me.LayoutControlItem6.Name = "LayoutControlItem6"
Me.LayoutControlItem6.Size = New System.Drawing.Size(85, 46) Me.LayoutControlItem6.Size = New System.Drawing.Size(90, 46)
Me.LayoutControlItem6.TextSize = New System.Drawing.Size(0, 0) Me.LayoutControlItem6.TextSize = New System.Drawing.Size(0, 0)
Me.LayoutControlItem6.TextVisible = False Me.LayoutControlItem6.TextVisible = False
' '
@@ -548,7 +570,7 @@ Partial Class frmColumn_Detail
Me.LayoutControlItem8.Location = New System.Drawing.Point(0, 326) Me.LayoutControlItem8.Location = New System.Drawing.Point(0, 326)
Me.LayoutControlItem8.Name = "LayoutControlItem8" Me.LayoutControlItem8.Name = "LayoutControlItem8"
Me.LayoutControlItem8.Padding = New DevExpress.XtraLayout.Utils.Padding(10, 10, 10, 10) Me.LayoutControlItem8.Padding = New DevExpress.XtraLayout.Utils.Padding(10, 10, 10, 10)
Me.LayoutControlItem8.Size = New System.Drawing.Size(488, 46) Me.LayoutControlItem8.Size = New System.Drawing.Size(520, 46)
resources.ApplyResources(Me.LayoutControlItem8, "LayoutControlItem8") resources.ApplyResources(Me.LayoutControlItem8, "LayoutControlItem8")
Me.LayoutControlItem8.TextSize = New System.Drawing.Size(110, 13) Me.LayoutControlItem8.TextSize = New System.Drawing.Size(110, 13)
' '
@@ -558,65 +580,65 @@ Partial Class frmColumn_Detail
Me.LayoutControlItem7.Location = New System.Drawing.Point(0, 246) Me.LayoutControlItem7.Location = New System.Drawing.Point(0, 246)
Me.LayoutControlItem7.Name = "LayoutControlItem7" Me.LayoutControlItem7.Name = "LayoutControlItem7"
Me.LayoutControlItem7.Padding = New DevExpress.XtraLayout.Utils.Padding(10, 10, 10, 10) Me.LayoutControlItem7.Padding = New DevExpress.XtraLayout.Utils.Padding(10, 10, 10, 10)
Me.LayoutControlItem7.Size = New System.Drawing.Size(573, 40) Me.LayoutControlItem7.Size = New System.Drawing.Size(610, 40)
resources.ApplyResources(Me.LayoutControlItem7, "LayoutControlItem7") resources.ApplyResources(Me.LayoutControlItem7, "LayoutControlItem7")
Me.LayoutControlItem7.TextSize = New System.Drawing.Size(110, 13) Me.LayoutControlItem7.TextSize = New System.Drawing.Size(110, 13)
' '
'LayoutControlItem9 'LayoutControlItem9
' '
Me.LayoutControlItem9.Control = Me.SimpleButton2 Me.LayoutControlItem9.Control = Me.SimpleButton2
Me.LayoutControlItem9.Location = New System.Drawing.Point(488, 326) Me.LayoutControlItem9.Location = New System.Drawing.Point(520, 326)
Me.LayoutControlItem9.Name = "LayoutControlItem9" Me.LayoutControlItem9.Name = "LayoutControlItem9"
Me.LayoutControlItem9.Size = New System.Drawing.Size(85, 46) Me.LayoutControlItem9.Size = New System.Drawing.Size(90, 46)
Me.LayoutControlItem9.TextSize = New System.Drawing.Size(0, 0) Me.LayoutControlItem9.TextSize = New System.Drawing.Size(0, 0)
Me.LayoutControlItem9.TextVisible = False Me.LayoutControlItem9.TextVisible = False
' '
'LayoutControlItem10 'LayoutControlItem10
' '
Me.LayoutControlItem10.Control = Me.TextEdit7 Me.LayoutControlItem10.Control = Me.TextEdit7
Me.LayoutControlItem10.Location = New System.Drawing.Point(0, 458) Me.LayoutControlItem10.Location = New System.Drawing.Point(0, 504)
Me.LayoutControlItem10.Name = "LayoutControlItem10" Me.LayoutControlItem10.Name = "LayoutControlItem10"
Me.LayoutControlItem10.Padding = New DevExpress.XtraLayout.Utils.Padding(10, 10, 10, 10) Me.LayoutControlItem10.Padding = New DevExpress.XtraLayout.Utils.Padding(10, 10, 10, 10)
Me.LayoutControlItem10.Size = New System.Drawing.Size(286, 40) Me.LayoutControlItem10.Size = New System.Drawing.Size(304, 40)
resources.ApplyResources(Me.LayoutControlItem10, "LayoutControlItem10") resources.ApplyResources(Me.LayoutControlItem10, "LayoutControlItem10")
Me.LayoutControlItem10.TextSize = New System.Drawing.Size(110, 13) Me.LayoutControlItem10.TextSize = New System.Drawing.Size(110, 13)
' '
'LayoutControlItem12 'LayoutControlItem12
' '
Me.LayoutControlItem12.Control = Me.CHANGED_WHOTextBox Me.LayoutControlItem12.Control = Me.CHANGED_WHOTextBox
Me.LayoutControlItem12.Location = New System.Drawing.Point(0, 498) Me.LayoutControlItem12.Location = New System.Drawing.Point(0, 544)
Me.LayoutControlItem12.Name = "LayoutControlItem12" Me.LayoutControlItem12.Name = "LayoutControlItem12"
Me.LayoutControlItem12.Padding = New DevExpress.XtraLayout.Utils.Padding(10, 10, 10, 10) Me.LayoutControlItem12.Padding = New DevExpress.XtraLayout.Utils.Padding(10, 10, 10, 10)
Me.LayoutControlItem12.Size = New System.Drawing.Size(286, 40) Me.LayoutControlItem12.Size = New System.Drawing.Size(304, 40)
resources.ApplyResources(Me.LayoutControlItem12, "LayoutControlItem12") resources.ApplyResources(Me.LayoutControlItem12, "LayoutControlItem12")
Me.LayoutControlItem12.TextSize = New System.Drawing.Size(110, 13) Me.LayoutControlItem12.TextSize = New System.Drawing.Size(110, 13)
' '
'LayoutControlItem11 'LayoutControlItem11
' '
Me.LayoutControlItem11.Control = Me.TextEdit8 Me.LayoutControlItem11.Control = Me.TextEdit8
Me.LayoutControlItem11.Location = New System.Drawing.Point(286, 458) Me.LayoutControlItem11.Location = New System.Drawing.Point(304, 504)
Me.LayoutControlItem11.Name = "LayoutControlItem11" Me.LayoutControlItem11.Name = "LayoutControlItem11"
Me.LayoutControlItem11.Padding = New DevExpress.XtraLayout.Utils.Padding(10, 10, 10, 10) Me.LayoutControlItem11.Padding = New DevExpress.XtraLayout.Utils.Padding(10, 10, 10, 10)
Me.LayoutControlItem11.Size = New System.Drawing.Size(287, 40) Me.LayoutControlItem11.Size = New System.Drawing.Size(306, 40)
resources.ApplyResources(Me.LayoutControlItem11, "LayoutControlItem11") resources.ApplyResources(Me.LayoutControlItem11, "LayoutControlItem11")
Me.LayoutControlItem11.TextSize = New System.Drawing.Size(110, 13) Me.LayoutControlItem11.TextSize = New System.Drawing.Size(110, 13)
' '
'LayoutControlItem13 'LayoutControlItem13
' '
Me.LayoutControlItem13.Control = Me.TextEdit10 Me.LayoutControlItem13.Control = Me.TextEdit10
Me.LayoutControlItem13.Location = New System.Drawing.Point(286, 498) Me.LayoutControlItem13.Location = New System.Drawing.Point(304, 544)
Me.LayoutControlItem13.Name = "LayoutControlItem13" Me.LayoutControlItem13.Name = "LayoutControlItem13"
Me.LayoutControlItem13.Padding = New DevExpress.XtraLayout.Utils.Padding(10, 10, 10, 10) Me.LayoutControlItem13.Padding = New DevExpress.XtraLayout.Utils.Padding(10, 10, 10, 10)
Me.LayoutControlItem13.Size = New System.Drawing.Size(287, 40) Me.LayoutControlItem13.Size = New System.Drawing.Size(306, 40)
resources.ApplyResources(Me.LayoutControlItem13, "LayoutControlItem13") resources.ApplyResources(Me.LayoutControlItem13, "LayoutControlItem13")
Me.LayoutControlItem13.TextSize = New System.Drawing.Size(110, 13) Me.LayoutControlItem13.TextSize = New System.Drawing.Size(110, 13)
' '
'LayoutControlGroup1 'LayoutControlGroup1
' '
Me.LayoutControlGroup1.Items.AddRange(New DevExpress.XtraLayout.BaseLayoutItem() {Me.LayoutControlItem16, Me.LayoutControlItem14, Me.LayoutControlItem17, Me.LayoutControlItem25, Me.LayoutControlItem20, Me.LayoutControlItem22}) Me.LayoutControlGroup1.Items.AddRange(New DevExpress.XtraLayout.BaseLayoutItem() {Me.LayoutControlItem16, Me.LayoutControlItem14, Me.LayoutControlItem17, Me.LayoutControlItem25, Me.LayoutControlItem20, Me.LayoutControlItem22})
Me.LayoutControlGroup1.Location = New System.Drawing.Point(0, 538) Me.LayoutControlGroup1.Location = New System.Drawing.Point(0, 584)
Me.LayoutControlGroup1.Name = "LayoutControlGroup1" Me.LayoutControlGroup1.Name = "LayoutControlGroup1"
Me.LayoutControlGroup1.Size = New System.Drawing.Size(573, 258) Me.LayoutControlGroup1.Size = New System.Drawing.Size(610, 249)
resources.ApplyResources(Me.LayoutControlGroup1, "LayoutControlGroup1") resources.ApplyResources(Me.LayoutControlGroup1, "LayoutControlGroup1")
' '
'LayoutControlItem16 'LayoutControlItem16
@@ -624,7 +646,7 @@ Partial Class frmColumn_Detail
Me.LayoutControlItem16.Control = Me.VALIDATIONCheckbox Me.LayoutControlItem16.Control = Me.VALIDATIONCheckbox
Me.LayoutControlItem16.Location = New System.Drawing.Point(0, 0) Me.LayoutControlItem16.Location = New System.Drawing.Point(0, 0)
Me.LayoutControlItem16.Name = "LayoutControlItem16" Me.LayoutControlItem16.Name = "LayoutControlItem16"
Me.LayoutControlItem16.Size = New System.Drawing.Size(274, 24) Me.LayoutControlItem16.Size = New System.Drawing.Size(292, 24)
Me.LayoutControlItem16.TextSize = New System.Drawing.Size(0, 0) Me.LayoutControlItem16.TextSize = New System.Drawing.Size(0, 0)
Me.LayoutControlItem16.TextVisible = False Me.LayoutControlItem16.TextVisible = False
' '
@@ -633,7 +655,7 @@ Partial Class frmColumn_Detail
Me.LayoutControlItem14.Control = Me.READ_ONLYCheckBox Me.LayoutControlItem14.Control = Me.READ_ONLYCheckBox
Me.LayoutControlItem14.Location = New System.Drawing.Point(0, 24) Me.LayoutControlItem14.Location = New System.Drawing.Point(0, 24)
Me.LayoutControlItem14.Name = "LayoutControlItem14" Me.LayoutControlItem14.Name = "LayoutControlItem14"
Me.LayoutControlItem14.Size = New System.Drawing.Size(549, 22) Me.LayoutControlItem14.Size = New System.Drawing.Size(586, 22)
Me.LayoutControlItem14.TextSize = New System.Drawing.Size(0, 0) Me.LayoutControlItem14.TextSize = New System.Drawing.Size(0, 0)
Me.LayoutControlItem14.TextVisible = False Me.LayoutControlItem14.TextVisible = False
' '
@@ -642,7 +664,7 @@ Partial Class frmColumn_Detail
Me.LayoutControlItem17.Control = Me.ADVANCED_LOOKUPCheckbox Me.LayoutControlItem17.Control = Me.ADVANCED_LOOKUPCheckbox
Me.LayoutControlItem17.Location = New System.Drawing.Point(0, 46) Me.LayoutControlItem17.Location = New System.Drawing.Point(0, 46)
Me.LayoutControlItem17.Name = "LayoutControlItem17" Me.LayoutControlItem17.Name = "LayoutControlItem17"
Me.LayoutControlItem17.Size = New System.Drawing.Size(549, 22) Me.LayoutControlItem17.Size = New System.Drawing.Size(586, 22)
Me.LayoutControlItem17.TextSize = New System.Drawing.Size(0, 0) Me.LayoutControlItem17.TextSize = New System.Drawing.Size(0, 0)
Me.LayoutControlItem17.TextVisible = False Me.LayoutControlItem17.TextVisible = False
' '
@@ -651,16 +673,16 @@ Partial Class frmColumn_Detail
Me.LayoutControlItem25.Control = Me.LOAD_IDX_VALUECheckBox Me.LayoutControlItem25.Control = Me.LOAD_IDX_VALUECheckBox
Me.LayoutControlItem25.Location = New System.Drawing.Point(0, 68) Me.LayoutControlItem25.Location = New System.Drawing.Point(0, 68)
Me.LayoutControlItem25.Name = "LayoutControlItem25" Me.LayoutControlItem25.Name = "LayoutControlItem25"
Me.LayoutControlItem25.Size = New System.Drawing.Size(549, 22) Me.LayoutControlItem25.Size = New System.Drawing.Size(586, 22)
Me.LayoutControlItem25.TextSize = New System.Drawing.Size(0, 0) Me.LayoutControlItem25.TextSize = New System.Drawing.Size(0, 0)
Me.LayoutControlItem25.TextVisible = False Me.LayoutControlItem25.TextVisible = False
' '
'LayoutControlItem20 'LayoutControlItem20
' '
Me.LayoutControlItem20.Control = Me.SUMMARY_FUNCTIONCombobox Me.LayoutControlItem20.Control = Me.SUMMARY_FUNCTIONCombobox
Me.LayoutControlItem20.Location = New System.Drawing.Point(274, 0) Me.LayoutControlItem20.Location = New System.Drawing.Point(292, 0)
Me.LayoutControlItem20.Name = "LayoutControlItem20" Me.LayoutControlItem20.Name = "LayoutControlItem20"
Me.LayoutControlItem20.Size = New System.Drawing.Size(275, 24) Me.LayoutControlItem20.Size = New System.Drawing.Size(294, 24)
resources.ApplyResources(Me.LayoutControlItem20, "LayoutControlItem20") resources.ApplyResources(Me.LayoutControlItem20, "LayoutControlItem20")
Me.LayoutControlItem20.TextSize = New System.Drawing.Size(110, 13) Me.LayoutControlItem20.TextSize = New System.Drawing.Size(110, 13)
' '
@@ -670,7 +692,7 @@ Partial Class frmColumn_Detail
Me.LayoutControlItem22.DataBindings.Add(New System.Windows.Forms.Binding("Text", Me.TBPM_CONTROL_TABLEBindingSource, "INHERIT_VALUE", True)) Me.LayoutControlItem22.DataBindings.Add(New System.Windows.Forms.Binding("Text", Me.TBPM_CONTROL_TABLEBindingSource, "INHERIT_VALUE", True))
Me.LayoutControlItem22.Location = New System.Drawing.Point(0, 90) Me.LayoutControlItem22.Location = New System.Drawing.Point(0, 90)
Me.LayoutControlItem22.Name = "LayoutControlItem22" Me.LayoutControlItem22.Name = "LayoutControlItem22"
Me.LayoutControlItem22.Size = New System.Drawing.Size(549, 123) Me.LayoutControlItem22.Size = New System.Drawing.Size(586, 114)
Me.LayoutControlItem22.TextSize = New System.Drawing.Size(0, 0) Me.LayoutControlItem22.TextSize = New System.Drawing.Size(0, 0)
Me.LayoutControlItem22.TextVisible = False Me.LayoutControlItem22.TextVisible = False
' '
@@ -680,17 +702,17 @@ Partial Class frmColumn_Detail
Me.LayoutControlItem18.Location = New System.Drawing.Point(0, 372) Me.LayoutControlItem18.Location = New System.Drawing.Point(0, 372)
Me.LayoutControlItem18.Name = "LayoutControlItem18" Me.LayoutControlItem18.Name = "LayoutControlItem18"
Me.LayoutControlItem18.Padding = New DevExpress.XtraLayout.Utils.Padding(10, 10, 10, 10) Me.LayoutControlItem18.Padding = New DevExpress.XtraLayout.Utils.Padding(10, 10, 10, 10)
Me.LayoutControlItem18.Size = New System.Drawing.Size(573, 40) Me.LayoutControlItem18.Size = New System.Drawing.Size(610, 40)
resources.ApplyResources(Me.LayoutControlItem18, "LayoutControlItem18") resources.ApplyResources(Me.LayoutControlItem18, "LayoutControlItem18")
Me.LayoutControlItem18.TextSize = New System.Drawing.Size(110, 13) Me.LayoutControlItem18.TextSize = New System.Drawing.Size(110, 13)
' '
'LayoutControlItem19 'LayoutControlItem19
' '
Me.LayoutControlItem19.Control = Me.SEQUENCETextBox Me.LayoutControlItem19.Control = Me.SEQUENCETextBox
Me.LayoutControlItem19.Location = New System.Drawing.Point(286, 120) Me.LayoutControlItem19.Location = New System.Drawing.Point(304, 120)
Me.LayoutControlItem19.Name = "LayoutControlItem19" Me.LayoutControlItem19.Name = "LayoutControlItem19"
Me.LayoutControlItem19.Padding = New DevExpress.XtraLayout.Utils.Padding(10, 10, 10, 10) Me.LayoutControlItem19.Padding = New DevExpress.XtraLayout.Utils.Padding(10, 10, 10, 10)
Me.LayoutControlItem19.Size = New System.Drawing.Size(287, 40) Me.LayoutControlItem19.Size = New System.Drawing.Size(306, 40)
resources.ApplyResources(Me.LayoutControlItem19, "LayoutControlItem19") resources.ApplyResources(Me.LayoutControlItem19, "LayoutControlItem19")
Me.LayoutControlItem19.TextSize = New System.Drawing.Size(110, 13) Me.LayoutControlItem19.TextSize = New System.Drawing.Size(110, 13)
' '
@@ -701,7 +723,7 @@ Partial Class frmColumn_Detail
Me.LayoutControlItem23.Location = New System.Drawing.Point(0, 286) Me.LayoutControlItem23.Location = New System.Drawing.Point(0, 286)
Me.LayoutControlItem23.Name = "LayoutControlItem23" Me.LayoutControlItem23.Name = "LayoutControlItem23"
Me.LayoutControlItem23.Padding = New DevExpress.XtraLayout.Utils.Padding(10, 10, 10, 10) Me.LayoutControlItem23.Padding = New DevExpress.XtraLayout.Utils.Padding(10, 10, 10, 10)
Me.LayoutControlItem23.Size = New System.Drawing.Size(573, 40) Me.LayoutControlItem23.Size = New System.Drawing.Size(610, 40)
Me.LayoutControlItem23.TextSize = New System.Drawing.Size(110, 13) Me.LayoutControlItem23.TextSize = New System.Drawing.Size(110, 13)
' '
'LayoutControlItem21 'LayoutControlItem21
@@ -710,7 +732,7 @@ Partial Class frmColumn_Detail
Me.LayoutControlItem21.Location = New System.Drawing.Point(0, 160) Me.LayoutControlItem21.Location = New System.Drawing.Point(0, 160)
Me.LayoutControlItem21.Name = "LayoutControlItem21" Me.LayoutControlItem21.Name = "LayoutControlItem21"
Me.LayoutControlItem21.Padding = New DevExpress.XtraLayout.Utils.Padding(10, 10, 10, 10) Me.LayoutControlItem21.Padding = New DevExpress.XtraLayout.Utils.Padding(10, 10, 10, 10)
Me.LayoutControlItem21.Size = New System.Drawing.Size(573, 40) Me.LayoutControlItem21.Size = New System.Drawing.Size(610, 40)
resources.ApplyResources(Me.LayoutControlItem21, "LayoutControlItem21") resources.ApplyResources(Me.LayoutControlItem21, "LayoutControlItem21")
Me.LayoutControlItem21.TextSize = New System.Drawing.Size(110, 13) Me.LayoutControlItem21.TextSize = New System.Drawing.Size(110, 13)
' '
@@ -720,19 +742,38 @@ Partial Class frmColumn_Detail
Me.LayoutControlItem24.Location = New System.Drawing.Point(0, 412) Me.LayoutControlItem24.Location = New System.Drawing.Point(0, 412)
Me.LayoutControlItem24.Name = "LayoutControlItem24" Me.LayoutControlItem24.Name = "LayoutControlItem24"
Me.LayoutControlItem24.Padding = New DevExpress.XtraLayout.Utils.Padding(10, 10, 10, 10) Me.LayoutControlItem24.Padding = New DevExpress.XtraLayout.Utils.Padding(10, 10, 10, 10)
Me.LayoutControlItem24.Size = New System.Drawing.Size(488, 46) Me.LayoutControlItem24.Size = New System.Drawing.Size(520, 46)
resources.ApplyResources(Me.LayoutControlItem24, "LayoutControlItem24") resources.ApplyResources(Me.LayoutControlItem24, "LayoutControlItem24")
Me.LayoutControlItem24.TextSize = New System.Drawing.Size(110, 13) Me.LayoutControlItem24.TextSize = New System.Drawing.Size(110, 13)
' '
'LayoutControlItem26 'LayoutControlItem26
' '
Me.LayoutControlItem26.Control = Me.SimpleButton3 Me.LayoutControlItem26.Control = Me.SimpleButton3
Me.LayoutControlItem26.Location = New System.Drawing.Point(488, 412) Me.LayoutControlItem26.Location = New System.Drawing.Point(520, 412)
Me.LayoutControlItem26.Name = "LayoutControlItem26" Me.LayoutControlItem26.Name = "LayoutControlItem26"
Me.LayoutControlItem26.Size = New System.Drawing.Size(85, 46) Me.LayoutControlItem26.Size = New System.Drawing.Size(90, 46)
Me.LayoutControlItem26.TextSize = New System.Drawing.Size(0, 0) Me.LayoutControlItem26.TextSize = New System.Drawing.Size(0, 0)
Me.LayoutControlItem26.TextVisible = False Me.LayoutControlItem26.TextVisible = False
' '
'LayoutControlItem27
'
Me.LayoutControlItem27.Control = Me.FORMULA_SQLTextBox
Me.LayoutControlItem27.Location = New System.Drawing.Point(0, 458)
Me.LayoutControlItem27.Name = "LayoutControlItem27"
Me.LayoutControlItem27.Padding = New DevExpress.XtraLayout.Utils.Padding(10, 10, 10, 10)
Me.LayoutControlItem27.Size = New System.Drawing.Size(520, 46)
resources.ApplyResources(Me.LayoutControlItem27, "LayoutControlItem27")
Me.LayoutControlItem27.TextSize = New System.Drawing.Size(110, 13)
'
'LayoutControlItem15
'
Me.LayoutControlItem15.Control = Me.SimpleButton4
Me.LayoutControlItem15.Location = New System.Drawing.Point(520, 458)
Me.LayoutControlItem15.Name = "LayoutControlItem15"
Me.LayoutControlItem15.Size = New System.Drawing.Size(90, 46)
Me.LayoutControlItem15.TextSize = New System.Drawing.Size(0, 0)
Me.LayoutControlItem15.TextVisible = False
'
'frmColumn_Detail 'frmColumn_Detail
' '
Me.Appearance.Options.UseFont = True Me.Appearance.Options.UseFont = True
@@ -799,6 +840,8 @@ Partial Class frmColumn_Detail
CType(Me.LayoutControlItem21, System.ComponentModel.ISupportInitialize).EndInit() CType(Me.LayoutControlItem21, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.LayoutControlItem24, System.ComponentModel.ISupportInitialize).EndInit() CType(Me.LayoutControlItem24, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.LayoutControlItem26, System.ComponentModel.ISupportInitialize).EndInit() CType(Me.LayoutControlItem26, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.LayoutControlItem27, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.LayoutControlItem15, System.ComponentModel.ISupportInitialize).EndInit()
Me.ResumeLayout(False) Me.ResumeLayout(False)
Me.PerformLayout Me.PerformLayout
@@ -868,4 +911,8 @@ End Sub
Friend WithEvents LayoutControlItem25 As DevExpress.XtraLayout.LayoutControlItem Friend WithEvents LayoutControlItem25 As DevExpress.XtraLayout.LayoutControlItem
Friend WithEvents SimpleButton3 As DevExpress.XtraEditors.SimpleButton Friend WithEvents SimpleButton3 As DevExpress.XtraEditors.SimpleButton
Friend WithEvents LayoutControlItem26 As DevExpress.XtraLayout.LayoutControlItem Friend WithEvents LayoutControlItem26 As DevExpress.XtraLayout.LayoutControlItem
Friend WithEvents SimpleButton4 As DevExpress.XtraEditors.SimpleButton
Friend WithEvents FORMULA_SQLTextBox As TextBox
Friend WithEvents LayoutControlItem27 As DevExpress.XtraLayout.LayoutControlItem
Friend WithEvents LayoutControlItem15 As DevExpress.XtraLayout.LayoutControlItem
End Class End Class

View File

@@ -149,13 +149,13 @@
<value>RibbonPage1</value> <value>RibbonPage1</value>
</data> </data>
<data name="RibbonControl1.Size" type="System.Drawing.Size, System.Drawing"> <data name="RibbonControl1.Size" type="System.Drawing.Size, System.Drawing">
<value>593, 67</value> <value>630, 67</value>
</data> </data>
<data name="RibbonStatusBar1.Location" type="System.Drawing.Point, System.Drawing"> <data name="RibbonStatusBar1.Location" type="System.Drawing.Point, System.Drawing">
<value>0, 883</value> <value>0, 920</value>
</data> </data>
<data name="RibbonStatusBar1.Size" type="System.Drawing.Size, System.Drawing"> <data name="RibbonStatusBar1.Size" type="System.Drawing.Size, System.Drawing">
<value>593, 22</value> <value>630, 22</value>
</data> </data>
<data name="&gt;&gt;RibbonStatusBar1.Name" xml:space="preserve"> <data name="&gt;&gt;RibbonStatusBar1.Name" xml:space="preserve">
<value>RibbonStatusBar1</value> <value>RibbonStatusBar1</value>
@@ -184,17 +184,65 @@
<data name="RibbonPage2.Text" xml:space="preserve"> <data name="RibbonPage2.Text" xml:space="preserve">
<value>RibbonPage2</value> <value>RibbonPage2</value>
</data> </data>
<data name="SimpleButton3.Location" type="System.Drawing.Point, System.Drawing"> <data name="SimpleButton4.Location" type="System.Drawing.Point, System.Drawing">
<value>500, 424</value> <value>532, 470</value>
</data> </data>
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> <assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="SimpleButton4.Padding" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>10, 10, 10, 10</value>
</data>
<data name="SimpleButton4.Size" type="System.Drawing.Size, System.Drawing">
<value>86, 42</value>
</data>
<assembly alias="mscorlib" name="mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="SimpleButton4.TabIndex" type="System.Int32, mscorlib">
<value>33</value>
</data>
<data name="SimpleButton4.Text" xml:space="preserve">
<value>...</value>
</data>
<data name="&gt;&gt;SimpleButton4.Name" xml:space="preserve">
<value>SimpleButton4</value>
</data>
<data name="&gt;&gt;SimpleButton4.Type" xml:space="preserve">
<value>DevExpress.XtraEditors.SimpleButton, DevExpress.XtraEditors.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data>
<data name="&gt;&gt;SimpleButton4.Parent" xml:space="preserve">
<value>LayoutControl1</value>
</data>
<data name="&gt;&gt;SimpleButton4.ZOrder" xml:space="preserve">
<value>4</value>
</data>
<data name="FORMULA_SQLTextBox.Location" type="System.Drawing.Point, System.Drawing">
<value>142, 478</value>
</data>
<data name="FORMULA_SQLTextBox.Size" type="System.Drawing.Size, System.Drawing">
<value>378, 20</value>
</data>
<data name="FORMULA_SQLTextBox.TabIndex" type="System.Int32, mscorlib">
<value>32</value>
</data>
<data name="&gt;&gt;FORMULA_SQLTextBox.Name" xml:space="preserve">
<value>FORMULA_SQLTextBox</value>
</data>
<data name="&gt;&gt;FORMULA_SQLTextBox.Type" xml:space="preserve">
<value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;FORMULA_SQLTextBox.Parent" xml:space="preserve">
<value>LayoutControl1</value>
</data>
<data name="&gt;&gt;FORMULA_SQLTextBox.ZOrder" xml:space="preserve">
<value>5</value>
</data>
<data name="SimpleButton3.Location" type="System.Drawing.Point, System.Drawing">
<value>532, 424</value>
</data>
<data name="SimpleButton3.Padding" type="System.Windows.Forms.Padding, System.Windows.Forms"> <data name="SimpleButton3.Padding" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>10, 10, 10, 10</value> <value>10, 10, 10, 10</value>
</data> </data>
<data name="SimpleButton3.Size" type="System.Drawing.Size, System.Drawing"> <data name="SimpleButton3.Size" type="System.Drawing.Size, System.Drawing">
<value>81, 42</value> <value>86, 42</value>
</data> </data>
<assembly alias="mscorlib" name="mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="SimpleButton3.TabIndex" type="System.Int32, mscorlib"> <data name="SimpleButton3.TabIndex" type="System.Int32, mscorlib">
<value>31</value> <value>31</value>
</data> </data>
@@ -211,13 +259,13 @@
<value>LayoutControl1</value> <value>LayoutControl1</value>
</data> </data>
<data name="&gt;&gt;SimpleButton3.ZOrder" xml:space="preserve"> <data name="&gt;&gt;SimpleButton3.ZOrder" xml:space="preserve">
<value>4</value> <value>6</value>
</data> </data>
<data name="FORMULA_EXPRESSIONTextBox.Location" type="System.Drawing.Point, System.Drawing"> <data name="FORMULA_EXPRESSIONTextBox.Location" type="System.Drawing.Point, System.Drawing">
<value>142, 432</value> <value>142, 432</value>
</data> </data>
<data name="FORMULA_EXPRESSIONTextBox.Size" type="System.Drawing.Size, System.Drawing"> <data name="FORMULA_EXPRESSIONTextBox.Size" type="System.Drawing.Size, System.Drawing">
<value>346, 20</value> <value>378, 20</value>
</data> </data>
<data name="FORMULA_EXPRESSIONTextBox.TabIndex" type="System.Int32, mscorlib"> <data name="FORMULA_EXPRESSIONTextBox.TabIndex" type="System.Int32, mscorlib">
<value>29</value> <value>29</value>
@@ -232,13 +280,13 @@
<value>LayoutControl1</value> <value>LayoutControl1</value>
</data> </data>
<data name="&gt;&gt;FORMULA_EXPRESSIONTextBox.ZOrder" xml:space="preserve"> <data name="&gt;&gt;FORMULA_EXPRESSIONTextBox.ZOrder" xml:space="preserve">
<value>5</value> <value>7</value>
</data> </data>
<data name="LU_CAPTIONTextBox.Location" type="System.Drawing.Point, System.Drawing"> <data name="LU_CAPTIONTextBox.Location" type="System.Drawing.Point, System.Drawing">
<value>142, 306</value> <value>142, 306</value>
</data> </data>
<data name="LU_CAPTIONTextBox.Size" type="System.Drawing.Size, System.Drawing"> <data name="LU_CAPTIONTextBox.Size" type="System.Drawing.Size, System.Drawing">
<value>431, 20</value> <value>468, 20</value>
</data> </data>
<data name="LU_CAPTIONTextBox.TabIndex" type="System.Int32, mscorlib"> <data name="LU_CAPTIONTextBox.TabIndex" type="System.Int32, mscorlib">
<value>26</value> <value>26</value>
@@ -253,13 +301,13 @@
<value>LayoutControl1</value> <value>LayoutControl1</value>
</data> </data>
<data name="&gt;&gt;LU_CAPTIONTextBox.ZOrder" xml:space="preserve"> <data name="&gt;&gt;LU_CAPTIONTextBox.ZOrder" xml:space="preserve">
<value>6</value> <value>8</value>
</data> </data>
<data name="GUIDTextBox.Location" type="System.Drawing.Point, System.Drawing"> <data name="GUIDTextBox.Location" type="System.Drawing.Point, System.Drawing">
<value>142, 20</value> <value>142, 20</value>
</data> </data>
<data name="GUIDTextBox.Size" type="System.Drawing.Size, System.Drawing"> <data name="GUIDTextBox.Size" type="System.Drawing.Size, System.Drawing">
<value>431, 20</value> <value>468, 20</value>
</data> </data>
<data name="GUIDTextBox.TabIndex" type="System.Int32, mscorlib"> <data name="GUIDTextBox.TabIndex" type="System.Int32, mscorlib">
<value>4</value> <value>4</value>
@@ -274,13 +322,13 @@
<value>LayoutControl1</value> <value>LayoutControl1</value>
</data> </data>
<data name="&gt;&gt;GUIDTextBox.ZOrder" xml:space="preserve"> <data name="&gt;&gt;GUIDTextBox.ZOrder" xml:space="preserve">
<value>7</value> <value>9</value>
</data> </data>
<data name="SPALTENNAMETextBox.Location" type="System.Drawing.Point, System.Drawing"> <data name="SPALTENNAMETextBox.Location" type="System.Drawing.Point, System.Drawing">
<value>142, 60</value> <value>142, 60</value>
</data> </data>
<data name="SPALTENNAMETextBox.Size" type="System.Drawing.Size, System.Drawing"> <data name="SPALTENNAMETextBox.Size" type="System.Drawing.Size, System.Drawing">
<value>431, 20</value> <value>468, 20</value>
</data> </data>
<data name="SPALTENNAMETextBox.TabIndex" type="System.Int32, mscorlib"> <data name="SPALTENNAMETextBox.TabIndex" type="System.Int32, mscorlib">
<value>5</value> <value>5</value>
@@ -295,13 +343,13 @@
<value>LayoutControl1</value> <value>LayoutControl1</value>
</data> </data>
<data name="&gt;&gt;SPALTENNAMETextBox.ZOrder" xml:space="preserve"> <data name="&gt;&gt;SPALTENNAMETextBox.ZOrder" xml:space="preserve">
<value>8</value> <value>10</value>
</data> </data>
<data name="SPALTEN_HEADERTextBox.Location" type="System.Drawing.Point, System.Drawing"> <data name="SPALTEN_HEADERTextBox.Location" type="System.Drawing.Point, System.Drawing">
<value>142, 100</value> <value>142, 100</value>
</data> </data>
<data name="SPALTEN_HEADERTextBox.Size" type="System.Drawing.Size, System.Drawing"> <data name="SPALTEN_HEADERTextBox.Size" type="System.Drawing.Size, System.Drawing">
<value>431, 20</value> <value>468, 20</value>
</data> </data>
<data name="SPALTEN_HEADERTextBox.TabIndex" type="System.Int32, mscorlib"> <data name="SPALTEN_HEADERTextBox.TabIndex" type="System.Int32, mscorlib">
<value>6</value> <value>6</value>
@@ -316,7 +364,7 @@
<value>LayoutControl1</value> <value>LayoutControl1</value>
</data> </data>
<data name="&gt;&gt;SPALTEN_HEADERTextBox.ZOrder" xml:space="preserve"> <data name="&gt;&gt;SPALTEN_HEADERTextBox.ZOrder" xml:space="preserve">
<value>9</value> <value>11</value>
</data> </data>
<data name="SPALTENBREITETextBox.EditValue" type="System.Decimal, mscorlib"> <data name="SPALTENBREITETextBox.EditValue" type="System.Decimal, mscorlib">
<value>0</value> <value>0</value>
@@ -329,7 +377,7 @@
<value>Combo</value> <value>Combo</value>
</data> </data>
<data name="SPALTENBREITETextBox.Size" type="System.Drawing.Size, System.Drawing"> <data name="SPALTENBREITETextBox.Size" type="System.Drawing.Size, System.Drawing">
<value>144, 20</value> <value>162, 20</value>
</data> </data>
<data name="SPALTENBREITETextBox.TabIndex" type="System.Int32, mscorlib"> <data name="SPALTENBREITETextBox.TabIndex" type="System.Int32, mscorlib">
<value>7</value> <value>7</value>
@@ -344,13 +392,13 @@
<value>LayoutControl1</value> <value>LayoutControl1</value>
</data> </data>
<data name="&gt;&gt;SPALTENBREITETextBox.ZOrder" xml:space="preserve"> <data name="&gt;&gt;SPALTENBREITETextBox.ZOrder" xml:space="preserve">
<value>10</value> <value>12</value>
</data> </data>
<data name="REGEX_MATCHTextBox.Location" type="System.Drawing.Point, System.Drawing"> <data name="REGEX_MATCHTextBox.Location" type="System.Drawing.Point, System.Drawing">
<value>142, 220</value> <value>142, 220</value>
</data> </data>
<data name="REGEX_MATCHTextBox.Size" type="System.Drawing.Size, System.Drawing"> <data name="REGEX_MATCHTextBox.Size" type="System.Drawing.Size, System.Drawing">
<value>346, 20</value> <value>378, 20</value>
</data> </data>
<data name="REGEX_MATCHTextBox.TabIndex" type="System.Int32, mscorlib"> <data name="REGEX_MATCHTextBox.TabIndex" type="System.Int32, mscorlib">
<value>8</value> <value>8</value>
@@ -365,10 +413,10 @@
<value>LayoutControl1</value> <value>LayoutControl1</value>
</data> </data>
<data name="&gt;&gt;REGEX_MATCHTextBox.ZOrder" xml:space="preserve"> <data name="&gt;&gt;REGEX_MATCHTextBox.ZOrder" xml:space="preserve">
<value>11</value> <value>13</value>
</data> </data>
<data name="SimpleButton1.Location" type="System.Drawing.Point, System.Drawing"> <data name="SimpleButton1.Location" type="System.Drawing.Point, System.Drawing">
<value>500, 212</value> <value>532, 212</value>
</data> </data>
<data name="SimpleButton1.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms"> <data name="SimpleButton1.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>10, 10, 10, 10</value> <value>10, 10, 10, 10</value>
@@ -377,7 +425,7 @@
<value>10, 10, 10, 10</value> <value>10, 10, 10, 10</value>
</data> </data>
<data name="SimpleButton1.Size" type="System.Drawing.Size, System.Drawing"> <data name="SimpleButton1.Size" type="System.Drawing.Size, System.Drawing">
<value>81, 42</value> <value>86, 42</value>
</data> </data>
<data name="SimpleButton1.TabIndex" type="System.Int32, mscorlib"> <data name="SimpleButton1.TabIndex" type="System.Int32, mscorlib">
<value>9</value> <value>9</value>
@@ -395,13 +443,13 @@
<value>LayoutControl1</value> <value>LayoutControl1</value>
</data> </data>
<data name="&gt;&gt;SimpleButton1.ZOrder" xml:space="preserve"> <data name="&gt;&gt;SimpleButton1.ZOrder" xml:space="preserve">
<value>12</value> <value>14</value>
</data> </data>
<data name="REGEX_MESSAGE_DETextBox.Location" type="System.Drawing.Point, System.Drawing"> <data name="REGEX_MESSAGE_DETextBox.Location" type="System.Drawing.Point, System.Drawing">
<value>142, 266</value> <value>142, 266</value>
</data> </data>
<data name="REGEX_MESSAGE_DETextBox.Size" type="System.Drawing.Size, System.Drawing"> <data name="REGEX_MESSAGE_DETextBox.Size" type="System.Drawing.Size, System.Drawing">
<value>431, 20</value> <value>468, 20</value>
</data> </data>
<data name="REGEX_MESSAGE_DETextBox.TabIndex" type="System.Int32, mscorlib"> <data name="REGEX_MESSAGE_DETextBox.TabIndex" type="System.Int32, mscorlib">
<value>10</value> <value>10</value>
@@ -416,13 +464,13 @@
<value>LayoutControl1</value> <value>LayoutControl1</value>
</data> </data>
<data name="&gt;&gt;REGEX_MESSAGE_DETextBox.ZOrder" xml:space="preserve"> <data name="&gt;&gt;REGEX_MESSAGE_DETextBox.ZOrder" xml:space="preserve">
<value>13</value> <value>15</value>
</data> </data>
<data name="SQL_COMMANDTextBox.Location" type="System.Drawing.Point, System.Drawing"> <data name="SQL_COMMANDTextBox.Location" type="System.Drawing.Point, System.Drawing">
<value>142, 346</value> <value>142, 346</value>
</data> </data>
<data name="SQL_COMMANDTextBox.Size" type="System.Drawing.Size, System.Drawing"> <data name="SQL_COMMANDTextBox.Size" type="System.Drawing.Size, System.Drawing">
<value>346, 20</value> <value>378, 20</value>
</data> </data>
<data name="SQL_COMMANDTextBox.TabIndex" type="System.Int32, mscorlib"> <data name="SQL_COMMANDTextBox.TabIndex" type="System.Int32, mscorlib">
<value>11</value> <value>11</value>
@@ -437,16 +485,16 @@
<value>LayoutControl1</value> <value>LayoutControl1</value>
</data> </data>
<data name="&gt;&gt;SQL_COMMANDTextBox.ZOrder" xml:space="preserve"> <data name="&gt;&gt;SQL_COMMANDTextBox.ZOrder" xml:space="preserve">
<value>14</value> <value>16</value>
</data> </data>
<data name="SimpleButton2.Location" type="System.Drawing.Point, System.Drawing"> <data name="SimpleButton2.Location" type="System.Drawing.Point, System.Drawing">
<value>500, 338</value> <value>532, 338</value>
</data> </data>
<data name="SimpleButton2.Padding" type="System.Windows.Forms.Padding, System.Windows.Forms"> <data name="SimpleButton2.Padding" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>10, 10, 10, 10</value> <value>10, 10, 10, 10</value>
</data> </data>
<data name="SimpleButton2.Size" type="System.Drawing.Size, System.Drawing"> <data name="SimpleButton2.Size" type="System.Drawing.Size, System.Drawing">
<value>81, 42</value> <value>86, 42</value>
</data> </data>
<data name="SimpleButton2.TabIndex" type="System.Int32, mscorlib"> <data name="SimpleButton2.TabIndex" type="System.Int32, mscorlib">
<value>12</value> <value>12</value>
@@ -464,13 +512,13 @@
<value>LayoutControl1</value> <value>LayoutControl1</value>
</data> </data>
<data name="&gt;&gt;SimpleButton2.ZOrder" xml:space="preserve"> <data name="&gt;&gt;SimpleButton2.ZOrder" xml:space="preserve">
<value>15</value> <value>17</value>
</data> </data>
<data name="TextEdit7.Location" type="System.Drawing.Point, System.Drawing"> <data name="TextEdit7.Location" type="System.Drawing.Point, System.Drawing">
<value>142, 478</value> <value>142, 524</value>
</data> </data>
<data name="TextEdit7.Size" type="System.Drawing.Size, System.Drawing"> <data name="TextEdit7.Size" type="System.Drawing.Size, System.Drawing">
<value>144, 20</value> <value>162, 20</value>
</data> </data>
<data name="TextEdit7.TabIndex" type="System.Int32, mscorlib"> <data name="TextEdit7.TabIndex" type="System.Int32, mscorlib">
<value>13</value> <value>13</value>
@@ -485,13 +533,13 @@
<value>LayoutControl1</value> <value>LayoutControl1</value>
</data> </data>
<data name="&gt;&gt;TextEdit7.ZOrder" xml:space="preserve"> <data name="&gt;&gt;TextEdit7.ZOrder" xml:space="preserve">
<value>16</value> <value>18</value>
</data> </data>
<data name="TextEdit8.Location" type="System.Drawing.Point, System.Drawing"> <data name="TextEdit8.Location" type="System.Drawing.Point, System.Drawing">
<value>428, 478</value> <value>446, 524</value>
</data> </data>
<data name="TextEdit8.Size" type="System.Drawing.Size, System.Drawing"> <data name="TextEdit8.Size" type="System.Drawing.Size, System.Drawing">
<value>145, 20</value> <value>164, 20</value>
</data> </data>
<data name="TextEdit8.TabIndex" type="System.Int32, mscorlib"> <data name="TextEdit8.TabIndex" type="System.Int32, mscorlib">
<value>14</value> <value>14</value>
@@ -506,13 +554,13 @@
<value>LayoutControl1</value> <value>LayoutControl1</value>
</data> </data>
<data name="&gt;&gt;TextEdit8.ZOrder" xml:space="preserve"> <data name="&gt;&gt;TextEdit8.ZOrder" xml:space="preserve">
<value>17</value> <value>19</value>
</data> </data>
<data name="CHANGED_WHOTextBox.Location" type="System.Drawing.Point, System.Drawing"> <data name="CHANGED_WHOTextBox.Location" type="System.Drawing.Point, System.Drawing">
<value>142, 518</value> <value>142, 564</value>
</data> </data>
<data name="CHANGED_WHOTextBox.Size" type="System.Drawing.Size, System.Drawing"> <data name="CHANGED_WHOTextBox.Size" type="System.Drawing.Size, System.Drawing">
<value>144, 20</value> <value>162, 20</value>
</data> </data>
<data name="CHANGED_WHOTextBox.TabIndex" type="System.Int32, mscorlib"> <data name="CHANGED_WHOTextBox.TabIndex" type="System.Int32, mscorlib">
<value>15</value> <value>15</value>
@@ -527,13 +575,13 @@
<value>LayoutControl1</value> <value>LayoutControl1</value>
</data> </data>
<data name="&gt;&gt;CHANGED_WHOTextBox.ZOrder" xml:space="preserve"> <data name="&gt;&gt;CHANGED_WHOTextBox.ZOrder" xml:space="preserve">
<value>18</value> <value>20</value>
</data> </data>
<data name="TextEdit10.Location" type="System.Drawing.Point, System.Drawing"> <data name="TextEdit10.Location" type="System.Drawing.Point, System.Drawing">
<value>428, 518</value> <value>446, 564</value>
</data> </data>
<data name="TextEdit10.Size" type="System.Drawing.Size, System.Drawing"> <data name="TextEdit10.Size" type="System.Drawing.Size, System.Drawing">
<value>145, 20</value> <value>164, 20</value>
</data> </data>
<data name="TextEdit10.TabIndex" type="System.Int32, mscorlib"> <data name="TextEdit10.TabIndex" type="System.Int32, mscorlib">
<value>16</value> <value>16</value>
@@ -548,16 +596,16 @@
<value>LayoutControl1</value> <value>LayoutControl1</value>
</data> </data>
<data name="&gt;&gt;TextEdit10.ZOrder" xml:space="preserve"> <data name="&gt;&gt;TextEdit10.ZOrder" xml:space="preserve">
<value>19</value> <value>21</value>
</data> </data>
<data name="READ_ONLYCheckBox.Location" type="System.Drawing.Point, System.Drawing"> <data name="READ_ONLYCheckBox.Location" type="System.Drawing.Point, System.Drawing">
<value>24, 607</value> <value>24, 653</value>
</data> </data>
<data name="READ_ONLYCheckBox.Properties.Caption" xml:space="preserve"> <data name="READ_ONLYCheckBox.Properties.Caption" xml:space="preserve">
<value>Read Only</value> <value>Read Only</value>
</data> </data>
<data name="READ_ONLYCheckBox.Size" type="System.Drawing.Size, System.Drawing"> <data name="READ_ONLYCheckBox.Size" type="System.Drawing.Size, System.Drawing">
<value>545, 18</value> <value>582, 18</value>
</data> </data>
<data name="READ_ONLYCheckBox.TabIndex" type="System.Int32, mscorlib"> <data name="READ_ONLYCheckBox.TabIndex" type="System.Int32, mscorlib">
<value>17</value> <value>17</value>
@@ -572,16 +620,16 @@
<value>LayoutControl1</value> <value>LayoutControl1</value>
</data> </data>
<data name="&gt;&gt;READ_ONLYCheckBox.ZOrder" xml:space="preserve"> <data name="&gt;&gt;READ_ONLYCheckBox.ZOrder" xml:space="preserve">
<value>20</value> <value>22</value>
</data> </data>
<data name="LOAD_IDX_VALUECheckBox.Location" type="System.Drawing.Point, System.Drawing"> <data name="LOAD_IDX_VALUECheckBox.Location" type="System.Drawing.Point, System.Drawing">
<value>24, 651</value> <value>24, 697</value>
</data> </data>
<data name="LOAD_IDX_VALUECheckBox.Properties.Caption" xml:space="preserve"> <data name="LOAD_IDX_VALUECheckBox.Properties.Caption" xml:space="preserve">
<value>Lade Indexdaten</value> <value>Lade Indexdaten</value>
</data> </data>
<data name="LOAD_IDX_VALUECheckBox.Size" type="System.Drawing.Size, System.Drawing"> <data name="LOAD_IDX_VALUECheckBox.Size" type="System.Drawing.Size, System.Drawing">
<value>545, 18</value> <value>582, 18</value>
</data> </data>
<data name="LOAD_IDX_VALUECheckBox.TabIndex" type="System.Int32, mscorlib"> <data name="LOAD_IDX_VALUECheckBox.TabIndex" type="System.Int32, mscorlib">
<value>18</value> <value>18</value>
@@ -596,16 +644,16 @@
<value>LayoutControl1</value> <value>LayoutControl1</value>
</data> </data>
<data name="&gt;&gt;LOAD_IDX_VALUECheckBox.ZOrder" xml:space="preserve"> <data name="&gt;&gt;LOAD_IDX_VALUECheckBox.ZOrder" xml:space="preserve">
<value>21</value> <value>23</value>
</data> </data>
<data name="VALIDATIONCheckbox.Location" type="System.Drawing.Point, System.Drawing"> <data name="VALIDATIONCheckbox.Location" type="System.Drawing.Point, System.Drawing">
<value>24, 583</value> <value>24, 629</value>
</data> </data>
<data name="VALIDATIONCheckbox.Properties.Caption" xml:space="preserve"> <data name="VALIDATIONCheckbox.Properties.Caption" xml:space="preserve">
<value>Muss ausgefüllt werden</value> <value>Muss ausgefüllt werden</value>
</data> </data>
<data name="VALIDATIONCheckbox.Size" type="System.Drawing.Size, System.Drawing"> <data name="VALIDATIONCheckbox.Size" type="System.Drawing.Size, System.Drawing">
<value>270, 18</value> <value>288, 18</value>
</data> </data>
<data name="VALIDATIONCheckbox.TabIndex" type="System.Int32, mscorlib"> <data name="VALIDATIONCheckbox.TabIndex" type="System.Int32, mscorlib">
<value>19</value> <value>19</value>
@@ -620,16 +668,16 @@
<value>LayoutControl1</value> <value>LayoutControl1</value>
</data> </data>
<data name="&gt;&gt;VALIDATIONCheckbox.ZOrder" xml:space="preserve"> <data name="&gt;&gt;VALIDATIONCheckbox.ZOrder" xml:space="preserve">
<value>22</value> <value>24</value>
</data> </data>
<data name="ADVANCED_LOOKUPCheckbox.Location" type="System.Drawing.Point, System.Drawing"> <data name="ADVANCED_LOOKUPCheckbox.Location" type="System.Drawing.Point, System.Drawing">
<value>24, 629</value> <value>24, 675</value>
</data> </data>
<data name="ADVANCED_LOOKUPCheckbox.Properties.Caption" xml:space="preserve"> <data name="ADVANCED_LOOKUPCheckbox.Properties.Caption" xml:space="preserve">
<value>Erweitertes Auswahl Control (für lange Listen)</value> <value>Erweitertes Auswahl Control (für lange Listen)</value>
</data> </data>
<data name="ADVANCED_LOOKUPCheckbox.Size" type="System.Drawing.Size, System.Drawing"> <data name="ADVANCED_LOOKUPCheckbox.Size" type="System.Drawing.Size, System.Drawing">
<value>545, 18</value> <value>582, 18</value>
</data> </data>
<data name="ADVANCED_LOOKUPCheckbox.TabIndex" type="System.Int32, mscorlib"> <data name="ADVANCED_LOOKUPCheckbox.TabIndex" type="System.Int32, mscorlib">
<value>20</value> <value>20</value>
@@ -644,13 +692,13 @@
<value>LayoutControl1</value> <value>LayoutControl1</value>
</data> </data>
<data name="&gt;&gt;ADVANCED_LOOKUPCheckbox.ZOrder" xml:space="preserve"> <data name="&gt;&gt;ADVANCED_LOOKUPCheckbox.ZOrder" xml:space="preserve">
<value>23</value> <value>25</value>
</data> </data>
<data name="DEFAULTVALUETextBox.Location" type="System.Drawing.Point, System.Drawing"> <data name="DEFAULTVALUETextBox.Location" type="System.Drawing.Point, System.Drawing">
<value>142, 392</value> <value>142, 392</value>
</data> </data>
<data name="DEFAULTVALUETextBox.Size" type="System.Drawing.Size, System.Drawing"> <data name="DEFAULTVALUETextBox.Size" type="System.Drawing.Size, System.Drawing">
<value>431, 20</value> <value>468, 20</value>
</data> </data>
<data name="DEFAULTVALUETextBox.TabIndex" type="System.Int32, mscorlib"> <data name="DEFAULTVALUETextBox.TabIndex" type="System.Int32, mscorlib">
<value>21</value> <value>21</value>
@@ -665,19 +713,19 @@
<value>LayoutControl1</value> <value>LayoutControl1</value>
</data> </data>
<data name="&gt;&gt;DEFAULTVALUETextBox.ZOrder" xml:space="preserve"> <data name="&gt;&gt;DEFAULTVALUETextBox.ZOrder" xml:space="preserve">
<value>24</value> <value>26</value>
</data> </data>
<data name="SEQUENCETextBox.EditValue" type="System.Decimal, mscorlib"> <data name="SEQUENCETextBox.EditValue" type="System.Decimal, mscorlib">
<value>0</value> <value>0</value>
</data> </data>
<data name="SEQUENCETextBox.Location" type="System.Drawing.Point, System.Drawing"> <data name="SEQUENCETextBox.Location" type="System.Drawing.Point, System.Drawing">
<value>428, 140</value> <value>446, 140</value>
</data> </data>
<data name="SEQUENCETextBox.Properties.Buttons" type="DevExpress.XtraEditors.Controls.ButtonPredefines, DevExpress.Utils.v21.2"> <data name="SEQUENCETextBox.Properties.Buttons" type="DevExpress.XtraEditors.Controls.ButtonPredefines, DevExpress.Utils.v21.2">
<value>Combo</value> <value>Combo</value>
</data> </data>
<data name="SEQUENCETextBox.Size" type="System.Drawing.Size, System.Drawing"> <data name="SEQUENCETextBox.Size" type="System.Drawing.Size, System.Drawing">
<value>145, 20</value> <value>164, 20</value>
</data> </data>
<data name="SEQUENCETextBox.TabIndex" type="System.Int32, mscorlib"> <data name="SEQUENCETextBox.TabIndex" type="System.Int32, mscorlib">
<value>22</value> <value>22</value>
@@ -692,10 +740,10 @@
<value>LayoutControl1</value> <value>LayoutControl1</value>
</data> </data>
<data name="&gt;&gt;SEQUENCETextBox.ZOrder" xml:space="preserve"> <data name="&gt;&gt;SEQUENCETextBox.ZOrder" xml:space="preserve">
<value>25</value> <value>27</value>
</data> </data>
<data name="SUMMARY_FUNCTIONCombobox.Location" type="System.Drawing.Point, System.Drawing"> <data name="SUMMARY_FUNCTIONCombobox.Location" type="System.Drawing.Point, System.Drawing">
<value>420, 583</value> <value>438, 629</value>
</data> </data>
<data name="SUMMARY_FUNCTIONCombobox.Properties.Buttons" type="DevExpress.XtraEditors.Controls.ButtonPredefines, DevExpress.Utils.v21.2"> <data name="SUMMARY_FUNCTIONCombobox.Properties.Buttons" type="DevExpress.XtraEditors.Controls.ButtonPredefines, DevExpress.Utils.v21.2">
<value>Combo</value> <value>Combo</value>
@@ -704,7 +752,7 @@
<value /> <value />
</data> </data>
<data name="SUMMARY_FUNCTIONCombobox.Size" type="System.Drawing.Size, System.Drawing"> <data name="SUMMARY_FUNCTIONCombobox.Size" type="System.Drawing.Size, System.Drawing">
<value>149, 20</value> <value>168, 20</value>
</data> </data>
<data name="SUMMARY_FUNCTIONCombobox.TabIndex" type="System.Int32, mscorlib"> <data name="SUMMARY_FUNCTIONCombobox.TabIndex" type="System.Int32, mscorlib">
<value>23</value> <value>23</value>
@@ -719,7 +767,7 @@
<value>LayoutControl1</value> <value>LayoutControl1</value>
</data> </data>
<data name="&gt;&gt;SUMMARY_FUNCTIONCombobox.ZOrder" xml:space="preserve"> <data name="&gt;&gt;SUMMARY_FUNCTIONCombobox.ZOrder" xml:space="preserve">
<value>26</value> <value>28</value>
</data> </data>
<data name="TYPE_COLUMNComboBox2.Location" type="System.Drawing.Point, System.Drawing"> <data name="TYPE_COLUMNComboBox2.Location" type="System.Drawing.Point, System.Drawing">
<value>142, 180</value> <value>142, 180</value>
@@ -731,7 +779,7 @@
<value /> <value />
</data> </data>
<data name="TYPE_COLUMNComboBox2.Size" type="System.Drawing.Size, System.Drawing"> <data name="TYPE_COLUMNComboBox2.Size" type="System.Drawing.Size, System.Drawing">
<value>431, 20</value> <value>468, 20</value>
</data> </data>
<data name="TYPE_COLUMNComboBox2.TabIndex" type="System.Int32, mscorlib"> <data name="TYPE_COLUMNComboBox2.TabIndex" type="System.Int32, mscorlib">
<value>27</value> <value>27</value>
@@ -746,16 +794,16 @@
<value>LayoutControl1</value> <value>LayoutControl1</value>
</data> </data>
<data name="&gt;&gt;TYPE_COLUMNComboBox2.ZOrder" xml:space="preserve"> <data name="&gt;&gt;TYPE_COLUMNComboBox2.ZOrder" xml:space="preserve">
<value>27</value> <value>29</value>
</data> </data>
<data name="CheckEditInheritValue.Location" type="System.Drawing.Point, System.Drawing"> <data name="CheckEditInheritValue.Location" type="System.Drawing.Point, System.Drawing">
<value>24, 673</value> <value>24, 719</value>
</data> </data>
<data name="CheckEditInheritValue.Properties.Caption" xml:space="preserve"> <data name="CheckEditInheritValue.Properties.Caption" xml:space="preserve">
<value>Inherit Value (Vererbt den Wert der aktuellen Zelle auf alle nachfolgenden)</value> <value>Inherit Value (Vererbt den Wert der aktuellen Zelle auf alle nachfolgenden)</value>
</data> </data>
<data name="CheckEditInheritValue.Size" type="System.Drawing.Size, System.Drawing"> <data name="CheckEditInheritValue.Size" type="System.Drawing.Size, System.Drawing">
<value>545, 18</value> <value>582, 18</value>
</data> </data>
<data name="CheckEditInheritValue.TabIndex" type="System.Int32, mscorlib"> <data name="CheckEditInheritValue.TabIndex" type="System.Int32, mscorlib">
<value>28</value> <value>28</value>
@@ -770,7 +818,7 @@
<value>LayoutControl1</value> <value>LayoutControl1</value>
</data> </data>
<data name="&gt;&gt;CheckEditInheritValue.ZOrder" xml:space="preserve"> <data name="&gt;&gt;CheckEditInheritValue.ZOrder" xml:space="preserve">
<value>28</value> <value>30</value>
</data> </data>
<data name="LayoutControl1.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms"> <data name="LayoutControl1.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Fill</value> <value>Fill</value>
@@ -835,8 +883,11 @@
<data name="LayoutControlItem24.Text" xml:space="preserve"> <data name="LayoutControlItem24.Text" xml:space="preserve">
<value>Formel:</value> <value>Formel:</value>
</data> </data>
<data name="LayoutControlItem27.Text" xml:space="preserve">
<value>Formel SQL:</value>
</data>
<data name="LayoutControl1.Size" type="System.Drawing.Size, System.Drawing"> <data name="LayoutControl1.Size" type="System.Drawing.Size, System.Drawing">
<value>593, 816</value> <value>630, 853</value>
</data> </data>
<data name="LayoutControl1.TabIndex" type="System.Int32, mscorlib"> <data name="LayoutControl1.TabIndex" type="System.Int32, mscorlib">
<value>33</value> <value>33</value>
@@ -863,7 +914,7 @@
<value>6, 13</value> <value>6, 13</value>
</data> </data>
<data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing"> <data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing">
<value>593, 905</value> <value>630, 942</value>
</data> </data>
<data name="$this.Font" type="System.Drawing.Font, System.Drawing"> <data name="$this.Font" type="System.Drawing.Font, System.Drawing">
<value>Segoe UI, 8.25pt</value> <value>Segoe UI, 8.25pt</value>
@@ -1093,6 +1144,18 @@
<data name="&gt;&gt;LayoutControlItem26.Type" xml:space="preserve"> <data name="&gt;&gt;LayoutControlItem26.Type" xml:space="preserve">
<value>DevExpress.XtraLayout.LayoutControlItem, DevExpress.XtraLayout.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value> <value>DevExpress.XtraLayout.LayoutControlItem, DevExpress.XtraLayout.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data> </data>
<data name="&gt;&gt;LayoutControlItem27.Name" xml:space="preserve">
<value>LayoutControlItem27</value>
</data>
<data name="&gt;&gt;LayoutControlItem27.Type" xml:space="preserve">
<value>DevExpress.XtraLayout.LayoutControlItem, DevExpress.XtraLayout.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data>
<data name="&gt;&gt;LayoutControlItem15.Name" xml:space="preserve">
<value>LayoutControlItem15</value>
</data>
<data name="&gt;&gt;LayoutControlItem15.Type" xml:space="preserve">
<value>DevExpress.XtraLayout.LayoutControlItem, DevExpress.XtraLayout.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data>
<data name="&gt;&gt;$this.Name" xml:space="preserve"> <data name="&gt;&gt;$this.Name" xml:space="preserve">
<value>frmColumn_Detail</value> <value>frmColumn_Detail</value>
</data> </data>

View File

@@ -100,6 +100,7 @@ Public Class frmColumn_Detail
LU_CAPTIONTextBox.Text, LU_CAPTIONTextBox.Text,
CheckEditInheritValue.Checked, CheckEditInheritValue.Checked,
FORMULA_EXPRESSIONTextBox.Text, FORMULA_EXPRESSIONTextBox.Text,
FORMULA_SQLTextBox.Text,
GUIDTextBox.Text GUIDTextBox.Text
) )
tslblAenderungen.Visibility = DevExpress.XtraBars.BarItemVisibility.Always tslblAenderungen.Visibility = DevExpress.XtraBars.BarItemVisibility.Always
@@ -224,4 +225,52 @@ Public Class frmColumn_Detail
Dim dt As DataTable = DatabaseFallback.GetDatatableECM(oSQL) Dim dt As DataTable = DatabaseFallback.GetDatatableECM(oSQL)
Return dt Return dt
End Function End Function
Private Sub SimpleButton4_Click(sender As Object, e As EventArgs) Handles SimpleButton4.Click
Dim oldSQL = FORMULA_SQLTextBox.Text
CURRENT_DESIGN_TYPE = "SQL_SOURCE_TABLE_COLUMN"
CURRENT_INDEX_ID = GUIDTextBox.Text
Dim oForm2 As New frmSQLEditor(LOGCONFIG, DatabaseECM) With {
.SQLCommand = FORMULA_SQLTextBox.Text,
.SQLConnection = 0
}
oForm2.ShowDialog()
If oForm2.DialogResult = DialogResult.OK Then
If oldSQL <> oForm2.SQLCommand Then
Dim oUpdate As String = $"Update TBPM_CONTROL_TABLE SET CHANGED_WHO = '{USER_USERNAME}', FORMULA_SQL = '{oForm2.SQLCommand.Replace("'", "''")}'
, CONNECTION_ID = {oForm2.SQLConnection} WHERE GUID = {GUIDTextBox.Text}"
If DatabaseFallback.ExecuteNonQueryECM(oUpdate) = True Then
tslblAenderungen.Visibility = DevExpress.XtraBars.BarItemVisibility.Always
tslblAenderungen.Caption = "Changes saved - " & Now
FORMULA_SQLTextBox.Text = oForm2.SQLCommand
Else
MsgBox("Fehler beim Speichern des SQL Befehls. Bitte überprüfen Sie Ihre Eingabe und versuchen Sie es erneut.", MsgBoxStyle.Critical, "Fehler")
End If
End If
End If
End Sub
Private Sub FORMULA_EXPRESSIONTextBox_TextChanged(sender As Object, e As EventArgs) Handles FORMULA_EXPRESSIONTextBox.TextChanged, FORMULA_SQLTextBox.TextChanged
Dim oHasFormulaExpression As Boolean = FORMULA_EXPRESSIONTextBox.Text.Trim() <> String.Empty
Dim oHasFormulaSql As Boolean = FORMULA_SQLTextBox.Text.Trim() <> String.Empty
' Entweder/Oder-Validierung: Beide gleichzeitig ist nicht erlaubt
If oHasFormulaExpression AndAlso oHasFormulaSql Then
MsgBox("Es darf nur FORMULA_EXPRESSION oder FORMULA_SQL gesetzt sein, nicht beides." & vbCrLf &
"Bitte leeren Sie eines der beiden Felder.",
MsgBoxStyle.Exclamation, "Ungültige Konfiguration")
End If
' Wenn eine Formel gesetzt ist → ReadOnly aktivieren und sperren
If oHasFormulaExpression OrElse oHasFormulaSql Then
READ_ONLYCheckBox.Checked = True
'READ_ONLYCheckBox.Enabled = False
Else
READ_ONLYCheckBox.Checked = False
'READ_ONLYCheckBox.Enabled = True
End If
End Sub
End Class End Class

View File

@@ -124,46 +124,46 @@
<value> <value>
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0 LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAADw ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAADu
CAAAAk1TRnQBSQFMAgEBAgEAAfgBCwH4AQsBEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo CAAAAk1TRnQBSQFMAgEBAgIAAQwBAAEMARABAAEQAQAE/wEJAQAI/wFCAU0BNgEEBgABNgEEAgABKAMA
AwABQAMAARADAAEBAQABCAYAAQQYAAGAAgABgAMAAoABAAGAAwABgAEAAYABAAKAAgADwAEAAcAB3AHA AUADAAEQAwABAQEAAQgGAAEEGAABgAIAAYADAAKAAQABgAMAAYABAAGAAQACgAIAA8ABAAHAAdwBwAEA
AQAB8AHKAaYBAAEzBQABMwEAATMBAAEzAQACMwIAAxYBAAMcAQADIgEAAykBAANVAQADTQEAA0IBAAM5 AfABygGmAQABMwUAATMBAAEzAQABMwEAAjMCAAMWAQADHAEAAyIBAAMpAQADVQEAA00BAANCAQADOQEA
AQABgAF8Af8BAAJQAf8BAAGTAQAB1gEAAf8B7AHMAQABxgHWAe8BAAHWAucBAAGQAakBrQIAAf8BMwMA AYABfAH/AQACUAH/AQABkwEAAdYBAAH/AewBzAEAAcYB1gHvAQAB1gLnAQABkAGpAa0CAAH/ATMDAAFm
AWYDAAGZAwABzAIAATMDAAIzAgABMwFmAgABMwGZAgABMwHMAgABMwH/AgABZgMAAWYBMwIAAmYCAAFm AwABmQMAAcwCAAEzAwACMwIAATMBZgIAATMBmQIAATMBzAIAATMB/wIAAWYDAAFmATMCAAJmAgABZgGZ
AZkCAAFmAcwCAAFmAf8CAAGZAwABmQEzAgABmQFmAgACmQIAAZkBzAIAAZkB/wIAAcwDAAHMATMCAAHM AgABZgHMAgABZgH/AgABmQMAAZkBMwIAAZkBZgIAApkCAAGZAcwCAAGZAf8CAAHMAwABzAEzAgABzAFm
AWYCAAHMAZkCAALMAgABzAH/AgAB/wFmAgAB/wGZAgAB/wHMAQABMwH/AgAB/wEAATMBAAEzAQABZgEA AgABzAGZAgACzAIAAcwB/wIAAf8BZgIAAf8BmQIAAf8BzAEAATMB/wIAAf8BAAEzAQABMwEAAWYBAAEz
ATMBAAGZAQABMwEAAcwBAAEzAQAB/wEAAf8BMwIAAzMBAAIzAWYBAAIzAZkBAAIzAcwBAAIzAf8BAAEz AQABmQEAATMBAAHMAQABMwEAAf8BAAH/ATMCAAMzAQACMwFmAQACMwGZAQACMwHMAQACMwH/AQABMwFm
AWYCAAEzAWYBMwEAATMCZgEAATMBZgGZAQABMwFmAcwBAAEzAWYB/wEAATMBmQIAATMBmQEzAQABMwGZ AgABMwFmATMBAAEzAmYBAAEzAWYBmQEAATMBZgHMAQABMwFmAf8BAAEzAZkCAAEzAZkBMwEAATMBmQFm
AWYBAAEzApkBAAEzAZkBzAEAATMBmQH/AQABMwHMAgABMwHMATMBAAEzAcwBZgEAATMBzAGZAQABMwLM AQABMwKZAQABMwGZAcwBAAEzAZkB/wEAATMBzAIAATMBzAEzAQABMwHMAWYBAAEzAcwBmQEAATMCzAEA
AQABMwHMAf8BAAEzAf8BMwEAATMB/wFmAQABMwH/AZkBAAEzAf8BzAEAATMC/wEAAWYDAAFmAQABMwEA ATMBzAH/AQABMwH/ATMBAAEzAf8BZgEAATMB/wGZAQABMwH/AcwBAAEzAv8BAAFmAwABZgEAATMBAAFm
AWYBAAFmAQABZgEAAZkBAAFmAQABzAEAAWYBAAH/AQABZgEzAgABZgIzAQABZgEzAWYBAAFmATMBmQEA AQABZgEAAWYBAAGZAQABZgEAAcwBAAFmAQAB/wEAAWYBMwIAAWYCMwEAAWYBMwFmAQABZgEzAZkBAAFm
AWYBMwHMAQABZgEzAf8BAAJmAgACZgEzAQADZgEAAmYBmQEAAmYBzAEAAWYBmQIAAWYBmQEzAQABZgGZ ATMBzAEAAWYBMwH/AQACZgIAAmYBMwEAA2YBAAJmAZkBAAJmAcwBAAFmAZkCAAFmAZkBMwEAAWYBmQFm
AWYBAAFmApkBAAFmAZkBzAEAAWYBmQH/AQABZgHMAgABZgHMATMBAAFmAcwBmQEAAWYCzAEAAWYBzAH/ AQABZgKZAQABZgGZAcwBAAFmAZkB/wEAAWYBzAIAAWYBzAEzAQABZgHMAZkBAAFmAswBAAFmAcwB/wEA
AQABZgH/AgABZgH/ATMBAAFmAf8BmQEAAWYB/wHMAQABzAEAAf8BAAH/AQABzAEAApkCAAGZATMBmQEA AWYB/wIAAWYB/wEzAQABZgH/AZkBAAFmAf8BzAEAAcwBAAH/AQAB/wEAAcwBAAKZAgABmQEzAZkBAAGZ
AZkBAAGZAQABmQEAAcwBAAGZAwABmQIzAQABmQEAAWYBAAGZATMBzAEAAZkBAAH/AQABmQFmAgABmQFm AQABmQEAAZkBAAHMAQABmQMAAZkCMwEAAZkBAAFmAQABmQEzAcwBAAGZAQAB/wEAAZkBZgIAAZkBZgEz
ATMBAAGZATMBZgEAAZkBZgGZAQABmQFmAcwBAAGZATMB/wEAApkBMwEAApkBZgEAA5kBAAKZAcwBAAKZ AQABmQEzAWYBAAGZAWYBmQEAAZkBZgHMAQABmQEzAf8BAAKZATMBAAKZAWYBAAOZAQACmQHMAQACmQH/
Af8BAAGZAcwCAAGZAcwBMwEAAWYBzAFmAQABmQHMAZkBAAGZAswBAAGZAcwB/wEAAZkB/wIAAZkB/wEz AQABmQHMAgABmQHMATMBAAFmAcwBZgEAAZkBzAGZAQABmQLMAQABmQHMAf8BAAGZAf8CAAGZAf8BMwEA
AQABmQHMAWYBAAGZAf8BmQEAAZkB/wHMAQABmQL/AQABzAMAAZkBAAEzAQABzAEAAWYBAAHMAQABmQEA AZkBzAFmAQABmQH/AZkBAAGZAf8BzAEAAZkC/wEAAcwDAAGZAQABMwEAAcwBAAFmAQABzAEAAZkBAAHM
AcwBAAHMAQABmQEzAgABzAIzAQABzAEzAWYBAAHMATMBmQEAAcwBMwHMAQABzAEzAf8BAAHMAWYCAAHM AQABzAEAAZkBMwIAAcwCMwEAAcwBMwFmAQABzAEzAZkBAAHMATMBzAEAAcwBMwH/AQABzAFmAgABzAFm
AWYBMwEAAZkCZgEAAcwBZgGZAQABzAFmAcwBAAGZAWYB/wEAAcwBmQIAAcwBmQEzAQABzAGZAWYBAAHM ATMBAAGZAmYBAAHMAWYBmQEAAcwBZgHMAQABmQFmAf8BAAHMAZkCAAHMAZkBMwEAAcwBmQFmAQABzAKZ
ApkBAAHMAZkBzAEAAcwBmQH/AQACzAIAAswBMwEAAswBZgEAAswBmQEAA8wBAALMAf8BAAHMAf8CAAHM AQABzAGZAcwBAAHMAZkB/wEAAswCAALMATMBAALMAWYBAALMAZkBAAPMAQACzAH/AQABzAH/AgABzAH/
Af8BMwEAAZkB/wFmAQABzAH/AZkBAAHMAf8BzAEAAcwC/wEAAcwBAAEzAQAB/wEAAWYBAAH/AQABmQEA ATMBAAGZAf8BZgEAAcwB/wGZAQABzAH/AcwBAAHMAv8BAAHMAQABMwEAAf8BAAFmAQAB/wEAAZkBAAHM
AcwBMwIAAf8CMwEAAf8BMwFmAQAB/wEzAZkBAAH/ATMBzAEAAf8BMwH/AQAB/wFmAgAB/wFmATMBAAHM ATMCAAH/AjMBAAH/ATMBZgEAAf8BMwGZAQAB/wEzAcwBAAH/ATMB/wEAAf8BZgIAAf8BZgEzAQABzAJm
AmYBAAH/AWYBmQEAAf8BZgHMAQABzAFmAf8BAAH/AZkCAAH/AZkBMwEAAf8BmQFmAQAB/wKZAQAB/wGZ AQAB/wFmAZkBAAH/AWYBzAEAAcwBZgH/AQAB/wGZAgAB/wGZATMBAAH/AZkBZgEAAf8CmQEAAf8BmQHM
AcwBAAH/AZkB/wEAAf8BzAIAAf8BzAEzAQAB/wHMAWYBAAH/AcwBmQEAAf8CzAEAAf8BzAH/AQAC/wEz AQAB/wGZAf8BAAH/AcwCAAH/AcwBMwEAAf8BzAFmAQAB/wHMAZkBAAH/AswBAAH/AcwB/wEAAv8BMwEA
AQABzAH/AWYBAAL/AZkBAAL/AcwBAAJmAf8BAAFmAf8BZgEAAWYC/wEAAf8CZgEAAf8BZgH/AQAC/wFm AcwB/wFmAQAC/wGZAQAC/wHMAQACZgH/AQABZgH/AWYBAAFmAv8BAAH/AmYBAAH/AWYB/wEAAv8BZgEA
AQABIQEAAaUBAANfAQADdwEAA4YBAAOWAQADywEAA7IBAAPXAQAD3QEAA+MBAAPqAQAD8QEAA/gBAAHw ASEBAAGlAQADXwEAA3cBAAOGAQADlgEAA8sBAAOyAQAD1wEAA90BAAPjAQAD6gEAA/EBAAP4AQAB8AH7
AfsB/wEAAaQCoAEAA4ADAAH/AgAB/wMAAv8BAAH/AwAB/wEAAf8BAAL/AgAD/0YAAQgEcgEICgABGgEc Af8BAAGkAqABAAOAAwAB/wIAAf8DAAL/AQAB/wMAAf8BAAH/AQAC/wIAA/9GAAEIBHIBCAoAARoBHAJ0
AnQBHAEaKQABcgFVAVoCWwFaAVUBTwgAAXQBeQF6AuUBegF5AXQnAAJVAVoBWwLkAVsBWgJVBgABdAJ6 ARwBGikAAXIBVQFaAlsBWgFVAU8IAAF0AXkBegLlAXoBeQF0JwACVQFaAVsC5AFbAVoCVQYAAXQCegTl
BOUBegF5AVIlAAFPAVUCWgRbAVoCVQFPBAABUgFZAXoG5QF6AlIjAAEIAlUIWgJVAQgCAAEaAVIBWQF6 AXoBeQFSJQABTwFVAloEWwFaAlUBTwQAAVIBWQF6BuUBegJSIwABCAJVCFoCVQEIAgABGgFSAVkBegbl
BuUBWQFYAVIBGiIAAU8CVQdaA1UBTwIAAUwBUgpZAVIBTCIAAU8BNApVATQBLgIAAUwBUgFTCFkBUwFS AVkBWAFSARoiAAFPAlUHWgNVAU8CAAFMAVIKWQFSAUwiAAFPATQKVQE0AS4CAAFMAVIBUwhZAVMBUgFM
AUwiAAEtAzMHNAIzAS0CAAIrAjIGUwIyAisiAAFPAS0BMwhVATQCLQIAAUwCKwhTAVICKyIAAQgBLQFV IgABLQMzBzQCMwEtAgACKwIyBlMCMgIrIgABTwEtATMIVQE0Ai0CAAFMAisIUwFSAisiAAEIAS0BVQiX
CJcBVQEtAQgCAAEaASsBUgh1AVIBKwEaIwABAgGXCJgBlwEtBAABKgF0CJoBdAErJQABTwEIARsFwgHx AVUBLQEIAgABGgErAVIIdQFSASsBGiMAAQIBlwiYAZcBLQQAASoBdAiaAXQBKyUAAU8BCAEbBcIB8QFP
AU8GAAFMARoBGwQaARsBGgFSJwABTwEIAfMC/wHzAQgBcggAAUwBGgT2ARoBdCkAAQgEcgEICgABGgR0 BgABTAEaARsEGgEbARoBUicAAU8BCAHzAv8B8wEIAXIIAAFMARoE9gEaAXQpAAEIBHIBCAoAARoEdAEa
ARplAAFCAU0BPgcAAT4DAAEoAwABQAMAARADAAEBAQABAQUAAYAXAAP/AQAE/wQAAfgBHwH4AR8EAAHw ZQABQgFNAT4HAAE+AwABKAMAAUADAAEQAwABAQEAAQEFAAGAFwAD/wEABP8EAAH4AR8B+AEfBAAB8AEP
AQ8B8AEPBAAB4AEHAeABBwQAAcABAwHAAQMEAAGAAQEBgAEBBAABgAEBAYABAQQAAYABAQGAAQEEAAGA AfABDwQAAeABBwHgAQcEAAHAAQMBwAEDBAABgAEBAYABAQQAAYABAQGAAQEEAAGAAQEBgAEBBAABgAEB
AQEBgAEBBAABgAEBAYABAQQAAYABAQGAAQEEAAHAAQMBwAEDBAAB4AEHAeABBwQAAfABDwHwAQ8EAAH4 AYABAQQAAYABAQGAAQEEAAGAAQEBgAEBBAABwAEDAcABAwQAAeABBwHgAQcEAAHwAQ8B8AEPBAAB+AEf
AR8B+AEfBAAE/wQACw== AfgBHwQABP8EAAs=
</value> </value>
</data> </data>
<metadata name="DD_DMSLiteDataSet.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> <metadata name="DD_DMSLiteDataSet.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
@@ -1506,13 +1506,13 @@
<value>Aktionen</value> <value>Aktionen</value>
</data> </data>
<data name="RibbonControl1.Size" type="System.Drawing.Size, System.Drawing"> <data name="RibbonControl1.Size" type="System.Drawing.Size, System.Drawing">
<value>1178, 126</value> <value>1473, 158</value>
</data> </data>
<data name="RibbonStatusBar1.Location" type="System.Drawing.Point, System.Drawing"> <data name="RibbonStatusBar1.Location" type="System.Drawing.Point, System.Drawing">
<value>0, 670</value> <value>0, 838</value>
</data> </data>
<data name="RibbonStatusBar1.Size" type="System.Drawing.Size, System.Drawing"> <data name="RibbonStatusBar1.Size" type="System.Drawing.Size, System.Drawing">
<value>1178, 18</value> <value>1473, 22</value>
</data> </data>
<data name="&gt;&gt;RibbonStatusBar1.Name" xml:space="preserve"> <data name="&gt;&gt;RibbonStatusBar1.Name" xml:space="preserve">
<value>RibbonStatusBar1</value> <value>RibbonStatusBar1</value>
@@ -1539,7 +1539,7 @@
<value>4</value> <value>4</value>
</data> </data>
<data name="GridControlWorkflows.Size" type="System.Drawing.Size, System.Drawing"> <data name="GridControlWorkflows.Size" type="System.Drawing.Size, System.Drawing">
<value>945, 549</value> <value>1240, 656</value>
</data> </data>
<data name="GridControlWorkflows.TabIndex" type="System.Int32, mscorlib"> <data name="GridControlWorkflows.TabIndex" type="System.Int32, mscorlib">
<value>10</value> <value>10</value>
@@ -1575,7 +1575,7 @@
<value>233, 0</value> <value>233, 0</value>
</data> </data>
<data name="Panel2.Size" type="System.Drawing.Size, System.Drawing"> <data name="Panel2.Size" type="System.Drawing.Size, System.Drawing">
<value>945, 24</value> <value>1240, 24</value>
</data> </data>
<data name="Panel2.TabIndex" type="System.Int32, mscorlib"> <data name="Panel2.TabIndex" type="System.Int32, mscorlib">
<value>9</value> <value>9</value>
@@ -1782,7 +1782,7 @@
<value>233</value> <value>233</value>
</data> </data>
<data name="NavBarControl1.Size" type="System.Drawing.Size, System.Drawing"> <data name="NavBarControl1.Size" type="System.Drawing.Size, System.Drawing">
<value>233, 573</value> <value>233, 680</value>
</data> </data>
<data name="NavBarControl1.TabIndex" type="System.Int32, mscorlib"> <data name="NavBarControl1.TabIndex" type="System.Int32, mscorlib">
<value>5</value> <value>5</value>
@@ -1809,10 +1809,10 @@
<value>Tahoma, 9pt</value> <value>Tahoma, 9pt</value>
</data> </data>
<data name="Panel1.Location" type="System.Drawing.Point, System.Drawing"> <data name="Panel1.Location" type="System.Drawing.Point, System.Drawing">
<value>0, 101</value> <value>0, 158</value>
</data> </data>
<data name="Panel1.Size" type="System.Drawing.Size, System.Drawing"> <data name="Panel1.Size" type="System.Drawing.Size, System.Drawing">
<value>1178, 573</value> <value>1473, 680</value>
</data> </data>
<data name="Panel1.TabIndex" type="System.Int32, mscorlib"> <data name="Panel1.TabIndex" type="System.Int32, mscorlib">
<value>4</value> <value>4</value>
@@ -2042,10 +2042,10 @@
<value>Bottom</value> <value>Bottom</value>
</data> </data>
<data name="barDockControlBottom.Location" type="System.Drawing.Point, System.Drawing"> <data name="barDockControlBottom.Location" type="System.Drawing.Point, System.Drawing">
<value>0, 688</value> <value>0, 860</value>
</data> </data>
<data name="barDockControlBottom.Size" type="System.Drawing.Size, System.Drawing"> <data name="barDockControlBottom.Size" type="System.Drawing.Size, System.Drawing">
<value>1178, 0</value> <value>1473, 0</value>
</data> </data>
<data name="&gt;&gt;barDockControlBottom.Name" xml:space="preserve"> <data name="&gt;&gt;barDockControlBottom.Name" xml:space="preserve">
<value>barDockControlBottom</value> <value>barDockControlBottom</value>
@@ -2066,7 +2066,7 @@
<value>0, 0</value> <value>0, 0</value>
</data> </data>
<data name="barDockControlLeft.Size" type="System.Drawing.Size, System.Drawing"> <data name="barDockControlLeft.Size" type="System.Drawing.Size, System.Drawing">
<value>0, 688</value> <value>0, 860</value>
</data> </data>
<data name="&gt;&gt;barDockControlLeft.Name" xml:space="preserve"> <data name="&gt;&gt;barDockControlLeft.Name" xml:space="preserve">
<value>barDockControlLeft</value> <value>barDockControlLeft</value>
@@ -2084,10 +2084,10 @@
<value>Right</value> <value>Right</value>
</data> </data>
<data name="barDockControlRight.Location" type="System.Drawing.Point, System.Drawing"> <data name="barDockControlRight.Location" type="System.Drawing.Point, System.Drawing">
<value>1178, 0</value> <value>1473, 0</value>
</data> </data>
<data name="barDockControlRight.Size" type="System.Drawing.Size, System.Drawing"> <data name="barDockControlRight.Size" type="System.Drawing.Size, System.Drawing">
<value>0, 688</value> <value>0, 860</value>
</data> </data>
<data name="&gt;&gt;barDockControlRight.Name" xml:space="preserve"> <data name="&gt;&gt;barDockControlRight.Name" xml:space="preserve">
<value>barDockControlRight</value> <value>barDockControlRight</value>
@@ -3574,7 +3574,7 @@
<value>Graphisches Dokument</value> <value>Graphisches Dokument</value>
</data> </data>
<data name="barDockControlTop.Size" type="System.Drawing.Size, System.Drawing"> <data name="barDockControlTop.Size" type="System.Drawing.Size, System.Drawing">
<value>1178, 0</value> <value>1473, 0</value>
</data> </data>
<data name="&gt;&gt;barDockControlTop.Name" xml:space="preserve"> <data name="&gt;&gt;barDockControlTop.Name" xml:space="preserve">
<value>barDockControlTop</value> <value>barDockControlTop</value>

View File

@@ -952,6 +952,7 @@ Public Class frmMain
_tag = _tag.ToString.Replace("itmProfile#", "") _tag = _tag.ToString.Replace("itmProfile#", "")
If IsNumeric(_tag) Then If IsNumeric(_tag) Then
If CURRENT_CLICKED_PROFILE_ID <> _tag Then If CURRENT_CLICKED_PROFILE_ID <> _tag Then
LOGGER.Debug($"Profile with ID {_tag} clicked in NavBarControl...loading Profile...")
OverviewOrDEtail = "DETAIL" OverviewOrDEtail = "DETAIL"
If Not Application.OpenForms().OfType(Of frmValidator).Any Then If Not Application.OpenForms().OfType(Of frmValidator).Any Then
CURRENT_CLICKED_PROFILE_ID = _tag CURRENT_CLICKED_PROFILE_ID = _tag
@@ -968,14 +969,14 @@ Public Class frmMain
Me.Cursor = Cursors.WaitCursor Me.Cursor = Cursors.WaitCursor
Try Try
LOGGER.Debug($"Loading profile with ID {_tag}...")
' Zentral über Decide_Load laden ' Zentral über Decide_Load laden
Await Decide_Load(False, True) Await Decide_Load(False, True)
Finally Finally
Me.Cursor = Cursors.Default Me.Cursor = Cursors.Default
End Try End Try
Else Else
CURRENT_CLICKED_PROFILE_TITLE = Nothing LOGGER.Debug($"Profile with ID {_tag} clicked in NavBarControl is already active...ignoring click.")
CURRENT_CLICKED_PROFILE_ID = Nothing
End If End If
End If End If
@@ -1445,11 +1446,6 @@ Public Class frmMain
LOGGER.Info("[PERF Decide_Load] ruft LoadOverviewData auf...") LOGGER.Info("[PERF Decide_Load] ruft LoadOverviewData auf...")
End If End If
'' UI vorbereiten
'If Not PrepareGridForLoading() Then
' Exit Function
'End If
Await Task.Yield() Await Task.Yield()
' Daten laden ' Daten laden
@@ -1460,11 +1456,6 @@ Public Class frmMain
LOGGER.Info("[PERF Decide_Load] ruft LoadProfileData auf...") LOGGER.Info("[PERF Decide_Load] ruft LoadProfileData auf...")
End If End If
'' UI vorbereiten
'If Not PrepareGridForLoading() Then
' Exit Function
'End If
Await Task.Yield() Await Task.Yield()
' Daten laden ' Daten laden
@@ -1479,6 +1470,10 @@ Public Class frmMain
' ========== NACHBEARBEITUNG ========== ' ========== NACHBEARBEITUNG ==========
ApplyPostLoadSettings() ApplyPostLoadSettings()
GridIsLoaded = True GridIsLoaded = True
' ========== CAPTION FINAL SICHERSTELLEN ==========
' ApplyPostLoadSettings kann durch Spalten-Events den Caption überschreiben,
' daher hier nochmals den korrekten Caption setzen
UpdateGridCaption()
Catch ex As Exception Catch ex As Exception
GridIsLoaded = True GridIsLoaded = True
@@ -1697,6 +1692,9 @@ Public Class frmMain
Return False Return False
End If End If
' === FIX: Grid sichtbar machen bevor BeginUpdate ===
GridControlWorkflows_Visible()
If GridControlWorkflows.Visible Then If GridControlWorkflows.Visible Then
GridControlWorkflows.BeginUpdate() GridControlWorkflows.BeginUpdate()
gridUpdateStarted = True gridUpdateStarted = True
@@ -1711,6 +1709,7 @@ Public Class frmMain
DT_CURR_WF_ITEMS = Await DatabaseFallback.GetDatatableECMAsync(oSQL) DT_CURR_WF_ITEMS = Await DatabaseFallback.GetDatatableECMAsync(oSQL)
If IsNothing(DT_CURR_WF_ITEMS) Then If IsNothing(DT_CURR_WF_ITEMS) Then
LOGGER.Warn("Daten konnten nicht geladen werden für Profil: " & CURRENT_CLICKED_PROFILE_TITLE)
Return False Return False
End If End If
@@ -1722,12 +1721,13 @@ Public Class frmMain
GridControlWorkflows.Visible = False GridControlWorkflows.Visible = False
bindsourcegrid.DataSource = Nothing bindsourcegrid.DataSource = Nothing
GridControlWorkflows.DataSource = Nothing GridControlWorkflows.DataSource = Nothing
LOGGER.Info("Keine Workflow-Items für Profil: " & CURRENT_CLICKED_PROFILE_TITLE)
Return False Return False
End If End If
' ========== BASIC VIEW ERSTELLEN ========== ' ========== BASIC VIEW ERSTELLEN ==========
Await CreateBasicViewForProfile() Await CreateBasicViewForProfile()
LOGGER.Debug("Basic View für Profil erstellt: " & CURRENT_CLICKED_PROFILE_TITLE)
Return True Return True
Catch ex As Exception Catch ex As Exception
@@ -3594,7 +3594,7 @@ FROM VWPM_PROFILE_ACTIVE T WHERE T.GUID IN (SELECT PROFILE_ID FROM [dbo].[FNPM_G
Private Sub GridViewWorkflows_ColumnFilterChanged(sender As Object, e As EventArgs) Handles GridViewWorkflows.ColumnFilterChanged Private Sub GridViewWorkflows_ColumnFilterChanged(sender As Object, e As EventArgs) Handles GridViewWorkflows.ColumnFilterChanged
Try Try
If FormShown = False Or FRONTEND_ACTION = NAVBAR_CLICKED Then If FormShown = False Or FRONTEND_ACTION <> FA_NONE Then
Exit Sub Exit Sub
End If End If
@@ -3612,11 +3612,21 @@ FROM VWPM_PROFILE_ACTIVE T WHERE T.GUID IN (SELECT PROFILE_ID FROM [dbo].[FNPM_G
If lblCaptionMainGrid.Text.Contains(oTermFilterActive) Then If lblCaptionMainGrid.Text.Contains(oTermFilterActive) Then
Ev_Filter_Panel_Closed = False Ev_Filter_Panel_Closed = False
End If End If
' Caption korrekt setzen: Profil-Titel oder Gesamtübersicht
If GRID_LOAD_TYPE.StartsWith("PROFILE#") AndAlso Not String.IsNullOrEmpty(CURRENT_CLICKED_PROFILE_TITLE) Then
LOGGER.Debug($"Setting Grid Caption with Profile Title [{CURRENT_CLICKED_PROFILE_TITLE}] and Filter Active Term [{oTermFilterActive}]")
lblCaptionMainGrid.Text = String.Format("{0} - {1}", CURRENT_CLICKED_PROFILE_TITLE, oTermFilterActive)
Else
LOGGER.Debug($"Setting Grid Caption with Gesamtübersicht and Filter Active Term [{oTermFilterActive}]")
lblCaptionMainGrid.Text = String.Format("{0} - {1}", S.Gesamtübersicht, oTermFilterActive) lblCaptionMainGrid.Text = String.Format("{0} - {1}", S.Gesamtübersicht, oTermFilterActive)
End If
bsitmCount.Visibility = DevExpress.XtraBars.BarItemVisibility.Always bsitmCount.Visibility = DevExpress.XtraBars.BarItemVisibility.Always
bsitmCount.Caption = oTermFilterActive bsitmCount.Caption = oTermFilterActive
Else Else
bsitmCount.Visibility = DevExpress.XtraBars.BarItemVisibility.Never bsitmCount.Visibility = DevExpress.XtraBars.BarItemVisibility.Never
LOGGER.Debug("No active filter - resetting caption to default")
End If End If
End If End If

View File

@@ -155,7 +155,7 @@ Public Class frmValidator
MyValidationLogger.Debug("Initialize Components...") MyValidationLogger.Debug("Initialize Components...")
InitializeComponent() InitializeComponent()
Environment = pEnvironment Environment = pEnvironment
clsPatterns.ClearControlCache()
Try Try
MyValidationLogger.Debug("Initialize _frmValidatorSearch...") MyValidationLogger.Debug("Initialize _frmValidatorSearch...")
_frmValidatorSearch = New frmValidatorSearch(Me, Environment) _frmValidatorSearch = New frmValidatorSearch(Me, Environment)
@@ -2399,6 +2399,10 @@ Public Class frmValidator
Dim oButtonFinishSet As Boolean = False Dim oButtonFinishSet As Boolean = False
' ========== NEU: Liste der geänderten Controls für Enable-Check ==========
Dim changedControlNames As New List(Of String)
' ========== ENDE NEU ==========
For Each oResultRow As DataRow In oControlDataResult.Rows For Each oResultRow As DataRow In oControlDataResult.Rows
Try Try
_SetControlValue_In_Action = True _SetControlValue_In_Action = True
@@ -2456,6 +2460,12 @@ Public Class frmValidator
MyValidationLogger.Debug($"[SetControlValues_FromControl] Force-Reindex vorgemerkt für: [{oControl.Name}]") MyValidationLogger.Debug($"[SetControlValues_FromControl] Force-Reindex vorgemerkt für: [{oControl.Name}]")
End If End If
clsPatterns.UpdateControlInCache(oMeta.Name, DirectCast(oControl, BaseEdit).EditValue) clsPatterns.UpdateControlInCache(oMeta.Name, DirectCast(oControl, BaseEdit).EditValue)
' ========== NEU: Control für Enable-Check vormerken ==========
If Not changedControlNames.Contains(oControl.Name) Then
changedControlNames.Add(oControl.Name)
End If
' ========== ENDE NEU ==========
Catch ex As Exception Catch ex As Exception
MyValidationLogger.Warn($"⚠️ [SetControlValues_FromControl] Error while Control2Set (TextEdit): {ex.Message}") MyValidationLogger.Warn($"⚠️ [SetControlValues_FromControl] Error while Control2Set (TextEdit): {ex.Message}")
End Try End Try
@@ -2492,6 +2502,12 @@ Public Class frmValidator
MyValidationLogger.Debug($"[SetControlValues_FromControl] Force-Reindex vorgemerkt für: [{oControl.Name}]") MyValidationLogger.Debug($"[SetControlValues_FromControl] Force-Reindex vorgemerkt für: [{oControl.Name}]")
End If End If
clsPatterns.UpdateControlInCache(oMeta.Name, oDependingLookup.Properties.SelectedValues) clsPatterns.UpdateControlInCache(oMeta.Name, oDependingLookup.Properties.SelectedValues)
' ========== NEU: Control für Enable-Check vormerken ==========
If Not changedControlNames.Contains(oControl.Name) Then
changedControlNames.Add(oControl.Name)
End If
' ========== ENDE NEU ==========
Catch ex As Exception Catch ex As Exception
MyValidationLogger.Warn($"⚠️ [SetControlValues_FromControl] Error while Control2Set (LookupControl3): {ex.Message}") MyValidationLogger.Warn($"⚠️ [SetControlValues_FromControl] Error while Control2Set (LookupControl3): {ex.Message}")
End Try End Try
@@ -2524,6 +2540,12 @@ Public Class frmValidator
MyValidationLogger.Debug($"[SetControlValues_FromControl] Force-Reindex vorgemerkt für: [{oControl.Name}]") MyValidationLogger.Debug($"[SetControlValues_FromControl] Force-Reindex vorgemerkt für: [{oControl.Name}]")
End If End If
clsPatterns.UpdateControlInCache(oMeta.Name, oDependingCombobox.Text) clsPatterns.UpdateControlInCache(oMeta.Name, oDependingCombobox.Text)
' ========== NEU: Control für Enable-Check vormerken ==========
If Not changedControlNames.Contains(oControl.Name) Then
changedControlNames.Add(oControl.Name)
End If
' ========== ENDE NEU ==========
Else Else
MyValidationLogger.Warn($"⚠️ [SetControlValues_FromControl] Combobox [{oControl.Name}]: Wert '{oControlCaption}' nicht in Liste gefunden!") MyValidationLogger.Warn($"⚠️ [SetControlValues_FromControl] Combobox [{oControl.Name}]: Wert '{oControlCaption}' nicht in Liste gefunden!")
End If End If
@@ -2560,6 +2582,12 @@ Public Class frmValidator
MyValidationLogger.Debug($"[SetControlValues_FromControl] Force-Reindex vorgemerkt für: [{oControl.Name}]") MyValidationLogger.Debug($"[SetControlValues_FromControl] Force-Reindex vorgemerkt für: [{oControl.Name}]")
End If End If
clsPatterns.UpdateControlInCache(oMeta.Name, oDateEdit.EditValue) clsPatterns.UpdateControlInCache(oMeta.Name, oDateEdit.EditValue)
' ========== NEU: Control für Enable-Check vormerken ==========
If Not changedControlNames.Contains(oControl.Name) Then
changedControlNames.Add(oControl.Name)
End If
' ========== ENDE NEU ==========
Catch ex As Exception Catch ex As Exception
MyValidationLogger.Warn($"⚠️ [SetControlValues_FromControl] Error While Control2Set (DateEdit): {ex.Message}") MyValidationLogger.Warn($"⚠️ [SetControlValues_FromControl] Error While Control2Set (DateEdit): {ex.Message}")
End Try End Try
@@ -2583,6 +2611,12 @@ Public Class frmValidator
MyValidationLogger.Debug($"[SetControlValues_FromControl] Force-Reindex vorgemerkt für: [{oControl.Name}]") MyValidationLogger.Debug($"[SetControlValues_FromControl] Force-Reindex vorgemerkt für: [{oControl.Name}]")
End If End If
clsPatterns.UpdateControlInCache(oMeta.Name, dtp.Value) clsPatterns.UpdateControlInCache(oMeta.Name, dtp.Value)
' ========== NEU: Control für Enable-Check vormerken ==========
If Not changedControlNames.Contains(oControl.Name) Then
changedControlNames.Add(oControl.Name)
End If
' ========== ENDE NEU ==========
Else Else
dtp.Value = DateTimePicker.MinimumDateTime dtp.Value = DateTimePicker.MinimumDateTime
MyValidationLogger.Warn($"⚠️ [SetControlValues_FromControl] DateTimePicker [{oControl.Name}]: Konnte '{oControlCaption}' nicht parsen → MinimumDateTime") MyValidationLogger.Warn($"⚠️ [SetControlValues_FromControl] DateTimePicker [{oControl.Name}]: Konnte '{oControlCaption}' nicht parsen → MinimumDateTime")
@@ -2614,6 +2648,12 @@ Public Class frmValidator
MyValidationLogger.Debug($"[SetControlValues_FromControl] Force-Reindex vorgemerkt für: [{oControl.Name}]") MyValidationLogger.Debug($"[SetControlValues_FromControl] Force-Reindex vorgemerkt für: [{oControl.Name}]")
End If End If
clsPatterns.UpdateControlInCache(oMeta.Name, oDependingCheckbox.Checked) clsPatterns.UpdateControlInCache(oMeta.Name, oDependingCheckbox.Checked)
' ========== NEU: Control für Enable-Check vormerken ==========
If Not changedControlNames.Contains(oControl.Name) Then
changedControlNames.Add(oControl.Name)
End If
' ========== ENDE NEU ==========
Catch ex As Exception Catch ex As Exception
MyValidationLogger.Warn($"⚠️ [SetControlValues_FromControl] Error while Control2Set (Checkbox) {ex.Message}") MyValidationLogger.Warn($"⚠️ [SetControlValues_FromControl] Error while Control2Set (Checkbox) {ex.Message}")
End Try End Try
@@ -2631,10 +2671,27 @@ Public Class frmValidator
End Try End Try
Next Next
' ========== NEU: Enable-Check für ALLE geänderten Controls NACH der Schleife ==========
' WICHTIG: Wird AUSSERHALB der For-Each-Schleife ausgeführt, damit ALLE Werte
' bereits gesetzt sind, bevor SQL_ENABLE-Statements die aktuellen Werte prüfen.
' Dies behebt das Problem, dass BTN_Kst2VA1 disabled bleibt, obwohl
' KstVerantwortliche bereits befüllt wurde.
If changedControlNames.Count > 0 Then
MyValidationLogger.Debug($"[SetControlValues_FromControl] Führe Controls2beEnabled für {changedControlNames.Count} geänderte Controls aus...")
_CachedSqlScalarCache.Clear() ' SQL_ENABLE-Cache invalidieren, damit frische Werte geprüft werden
For Each changedName As String In changedControlNames
Try
Controls2beEnabled(changedName)
Catch ex As Exception
MyValidationLogger.Warn($"⚠️ [SetControlValues_FromControl] Controls2beEnabled failed für [{changedName}]: {ex.Message}")
End Try
Next
End If
' ========== ENDE NEU ==========
MyValidationLogger.Debug($"[SetControlValues_FromControl] END für Control: [{oControlName}], ButtonFinishSet={oButtonFinishSet}") MyValidationLogger.Debug($"[SetControlValues_FromControl] END für Control: [{oControlName}], ButtonFinishSet={oButtonFinishSet}")
End Sub End Sub
Private Sub LookupControl_DependingControls(LookupControl As LookupControl3, SelectedValues As List(Of String)) Private Sub LookupControl_DependingControls(LookupControl As LookupControl3, SelectedValues As List(Of String))
If SelectedValues Is Nothing OrElse SelectedValues.Count = 0 Then If SelectedValues Is Nothing OrElse SelectedValues.Count = 0 Then
MyValidationLogger.Debug("LookupControl_DependingControls: No values selected") MyValidationLogger.Debug("LookupControl_DependingControls: No values selected")
@@ -3177,7 +3234,7 @@ Public Class frmValidator
End Try End Try
End Sub End Sub
Private Sub Controls2B_EnDisabled_onLoad() Private Sub Controls2B_EnDisabled_onLoad()
If LOG_PERF Then PerformanceLogger.Info("Controls2B_EnDisabled") If LOG_PERF Then PerformanceLogger.Debug("Controls2B_EnDisabled")
Try Try
If _CachedControlsByGuid Is Nothing Then If _CachedControlsByGuid Is Nothing Then
@@ -3247,12 +3304,22 @@ Public Class frmValidator
LOGGER.Error($" Original SQL: [{oSqlCommand}]") LOGGER.Error($" Original SQL: [{oSqlCommand}]")
Continue For ' ← Überspringe dieses Control und mache weiter Continue For ' ← Überspringe dieses Control und mache weiter
End Try End Try
' FIX: Null/Empty-Check nach ReplaceAllValues — verhindert Crash bei leeren Control-Werten
If oSqlCommand Is Nothing OrElse String.IsNullOrWhiteSpace(oSqlCommand) Then
MyValidationLogger.Warn($"[Controls2B_EnDisabled_onLoad] ReplaceAllValues returned Nothing/Empty for [{oENABLE_CtrlName}]. Skipping control.")
Continue For
End If
' FIX: Prüfen ob noch unaufgelöste Placeholder vorhanden sind (z.B. weil LU_Person leer war)
If clsPatterns.HasAnyPatterns(oSqlCommand) Then
MyValidationLogger.Warn($"[Controls2B_EnDisabled_onLoad] SQL for [{oENABLE_CtrlName}] still contains unresolved patterns after replacement. Skipping.")
MyValidationLogger.Debug($" Unresolved SQL: [{oSqlCommand}]")
Continue For
End If
' ========== KRITISCH: Hier könnte es hängen bleiben ==========
MyValidationLogger.Debug($"[SQL START] Control [{oENABLE_CtrlName}]: Führe SQL aus...") MyValidationLogger.Debug($"[SQL START] Control [{oENABLE_CtrlName}]: Führe SQL aus...")
Dim oResult = GetCachedScalar(oSqlCommand, oConnectionId) Dim oResult = GetCachedScalar(oSqlCommand, oConnectionId)
MyValidationLogger.Debug($"[SQL ENDE] Control [{oENABLE_CtrlName}]: Result = [{oResult}]") MyValidationLogger.Debug($"[SQL ENDE] Control [{oENABLE_CtrlName}]: Result = [{oResult}]")
' ========== ENDE KRITISCH ==========
Try Try
MyValidationLogger.Debug($"Result of Enable SQL [{oResult}]...") MyValidationLogger.Debug($"Result of Enable SQL [{oResult}]...")
@@ -3279,11 +3346,6 @@ Public Class frmValidator
MyValidationLogger.Warn($" - {errorMsg}") MyValidationLogger.Warn($" - {errorMsg}")
Next Next
MyValidationLogger.Warn($"⚠️ Controls2B_EnDisabled: {failedControls.Count} Controls konnten nicht verarbeitet werden:")
For Each errorMsg In failedControls
MyValidationLogger.Warn($" - {errorMsg}")
Next
' ========== NEU: Sprachabhängige Meldung ========== ' ========== NEU: Sprachabhängige Meldung ==========
Dim oTitle As String Dim oTitle As String
Dim oMessage As String Dim oMessage As String
@@ -7872,14 +7934,30 @@ Public Class frmValidator
Private Sub frmValidator_KeyUp(sender As Object, e As KeyEventArgs) Handles MyBase.KeyUp Private Sub frmValidator_KeyUp(sender As Object, e As KeyEventArgs) Handles MyBase.KeyUp
If e.KeyCode = Keys.F4 Then If e.KeyCode = Keys.F4 Then
' FIX: Grid-Validierung auch bei F4 (analog zu bbtniNext_ItemClick)
If ForceGridValidation() = True Then
Datei_ueberspringen() Datei_ueberspringen()
End If
ElseIf e.KeyCode = Keys.F2 Then ElseIf e.KeyCode = Keys.F2 Then
If USER_GHOST_MODE_ACTIVE Then If USER_GHOST_MODE_ACTIVE Then
Exit Sub Exit Sub
End If End If
btnSave.Enabled = False btnSave.Enabled = False
Try
If ForceGridValidation() = True Then
ShowOverlaySafe()
Try
Finish_WFStep() Finish_WFStep()
Finally
CloseOverlaySafe()
End Try
End If
Finally
If Not _FormClosing AndAlso Not Me.IsDisposed Then
btnSave.Enabled = True
End If
End Try
End If End If
End Sub End Sub

File diff suppressed because it is too large Load Diff