Eigenschaft Active hinzugefügt und Bugfixes
Die `Active`-Eigenschaft wurde in `ModuleControlProperties` hinzugefügt und an eine neue Position verschoben. Änderungen in `frmFormDesigner` ermöglichen die Zuweisung von `Active` basierend auf Datenquellenwerten. In `frmMain` wurde die Methode `Reset_Current` hinzugefügt, um Dokumentzustände zurückzusetzen. Die Methode `Item_Scope` wurde erweitert, um zusätzliche Validierungen durchzuführen. Ein Bugfix in `frmValidator` sorgt dafür, dass `SelectedValues` gelöscht werden, wenn keine neuen Werte vorhanden sind, und stattdessen `DefaultValue` verwendet wird. Kritische Schritte zur Sicherung und Wiederherstellung der `DataSource` wurden hinzugefügt. Logging-Nachrichten wurden verbessert.
This commit is contained in:
@@ -33,6 +33,8 @@ Public Module ModuleControlProperties
|
|||||||
<Category(ClassConstants.CAT_GENERAL)>
|
<Category(ClassConstants.CAT_GENERAL)>
|
||||||
Public Property Name() As String
|
Public Property Name() As String
|
||||||
|
|
||||||
|
<Category(ClassConstants.CAT_BEHAVIOUR)>
|
||||||
|
Public Property Active() As Boolean
|
||||||
|
|
||||||
<Category(ClassConstants.CAT_DISPLAY)>
|
<Category(ClassConstants.CAT_DISPLAY)>
|
||||||
Public Property Location() As Point
|
Public Property Location() As Point
|
||||||
@@ -120,9 +122,6 @@ Public Module ModuleControlProperties
|
|||||||
Private _default_value
|
Private _default_value
|
||||||
Friend _set_control_data As String
|
Friend _set_control_data As String
|
||||||
|
|
||||||
<Category(ClassConstants.CAT_BEHAVIOUR)>
|
|
||||||
Public Property Active() As Boolean
|
|
||||||
|
|
||||||
<Category(ClassConstants.CAT_VALIDATION)>
|
<Category(ClassConstants.CAT_VALIDATION)>
|
||||||
Public Property Required() As Boolean
|
Public Property Required() As Boolean
|
||||||
|
|
||||||
|
|||||||
@@ -589,7 +589,7 @@ Public Class frmFormDesigner
|
|||||||
obj.Size = New Size(row.Item("WIDTH"), row.Item("HEIGHT"))
|
obj.Size = New Size(row.Item("WIDTH"), row.Item("HEIGHT"))
|
||||||
obj.ChangedAt = ClassAllgemeineFunktionen.NotNullDate(row.Item("CHANGED_WHEN"), Nothing)
|
obj.ChangedAt = ClassAllgemeineFunktionen.NotNullDate(row.Item("CHANGED_WHEN"), Nothing)
|
||||||
obj.ChangedWho = ClassAllgemeineFunktionen.NotNullString(row.Item("CHANGED_WHO"), "")
|
obj.ChangedWho = ClassAllgemeineFunktionen.NotNullString(row.Item("CHANGED_WHO"), "")
|
||||||
|
obj.Active = StrToBool(row.Item("CONTROL_ACTIVE"))
|
||||||
Dim oStyle As FontStyle = ClassAllgemeineFunktionen.NotNullString(row.Item("FONT_STYLE"), FontStyle.Regular)
|
Dim oStyle As FontStyle = ClassAllgemeineFunktionen.NotNullString(row.Item("FONT_STYLE"), FontStyle.Regular)
|
||||||
Dim oSize As Single = ClassAllgemeineFunktionen.NotNullString(row.Item("FONT_SIZE"), 10)
|
Dim oSize As Single = ClassAllgemeineFunktionen.NotNullString(row.Item("FONT_SIZE"), 10)
|
||||||
Dim oFamilyString As String = ClassAllgemeineFunktionen.NotNullString(row.Item("FONT_FAMILY"), "Arial")
|
Dim oFamilyString As String = ClassAllgemeineFunktionen.NotNullString(row.Item("FONT_FAMILY"), "Arial")
|
||||||
|
|||||||
@@ -2134,6 +2134,12 @@ Public Class frmMain
|
|||||||
End If
|
End If
|
||||||
End Try
|
End Try
|
||||||
End Sub
|
End Sub
|
||||||
|
Private Sub Reset_Current()
|
||||||
|
CURRENT_JUMP_DOC_GUID = 0
|
||||||
|
CURRENT_DOC_GUID = 0
|
||||||
|
CURRENT_DOC_ID = 0
|
||||||
|
End Sub
|
||||||
|
|
||||||
Private Async Function Item_Scope(startedFrom As String) As Task
|
Private Async Function Item_Scope(startedFrom As String) As Task
|
||||||
' ========== FRÜHE VALIDIERUNGEN (VOR UI-ÄNDERUNGEN) ==========
|
' ========== FRÜHE VALIDIERUNGEN (VOR UI-ÄNDERUNGEN) ==========
|
||||||
If Application.OpenForms().OfType(Of frmValidator).Any Then
|
If Application.OpenForms().OfType(Of frmValidator).Any Then
|
||||||
|
|||||||
@@ -5808,19 +5808,19 @@ Public Class frmValidator
|
|||||||
oNewValues = New List(Of String) From {oValueFromSource.ToString}
|
oNewValues = New List(Of String) From {oValueFromSource.ToString}
|
||||||
End If
|
End If
|
||||||
Else
|
Else
|
||||||
' ========== BUGFIX START: Wenn KEIN neuer Wert, alte Werte behalten ==========
|
' ========== BUGFIX START: Wenn KEIN neuer Wert, SelectedValues LÖSCHEN ==========
|
||||||
If hadPreviousSelection AndAlso previousSelectedValues IsNot Nothing AndAlso previousSelectedValues.Count > 0 Then
|
If oDefaultValue <> String.Empty Then
|
||||||
MyValidationLogger.Debug($"[FillIndexValues BUGFIX] Lookup [{oLookupMeta.Name}]: Kein neuer Wert von Quelle → alte Werte BEHALTEN")
|
MyValidationLogger.Debug($"[FillIndexValues] Lookup [{oLookupMeta.Name}]: Verwende DefaultValue = [{oDefaultValue}]")
|
||||||
oNewValues = previousSelectedValues
|
|
||||||
ElseIf oDefaultValue <> String.Empty Then
|
|
||||||
MyValidationLogger.Debug($"[FillIndexValues BUGFIX] Lookup [{oLookupMeta.Name}]: Keine alten Werte, verwende DefaultValue = [{oDefaultValue}]")
|
|
||||||
oNewValues = oDefaultValue.Split(",").ToList()
|
oNewValues = oDefaultValue.Split(",").ToList()
|
||||||
Else
|
Else
|
||||||
MyValidationLogger.Debug($"[FillIndexValues BUGFIX] Lookup [{oLookupMeta.Name}]: KEINE Werte (oValueFromSource=Nothing, oDefaultValue leer, keine vorherigen Werte)")
|
' WICHTIG: Keine alten Werte mehr übernehmen! → oNewValues bleibt Nothing
|
||||||
|
MyValidationLogger.Debug($"[FillIndexValues] Lookup [{oLookupMeta.Name}]: Kein Index-Wert vorhanden → SelectedValues werden gelöscht")
|
||||||
|
oNewValues = Nothing
|
||||||
End If
|
End If
|
||||||
' ========== BUGFIX END: Wert-Beibehaltung ==========
|
' ========== BUGFIX END: Alte Werte werden NICHT mehr beibehalten ==========
|
||||||
End If
|
End If
|
||||||
|
|
||||||
|
|
||||||
' ========== KRITISCH: DataSource-Backup erstellen BEVOR SelectedValues gelöscht wird ==========
|
' ========== KRITISCH: DataSource-Backup erstellen BEVOR SelectedValues gelöscht wird ==========
|
||||||
Dim savedDataSource = oLookup.Properties.DataSource
|
Dim savedDataSource = oLookup.Properties.DataSource
|
||||||
MyValidationLogger.Debug($"[FillIndexValues BUGFIX] Lookup [{oLookupMeta.Name}]: DataSource-Backup erstellt")
|
MyValidationLogger.Debug($"[FillIndexValues BUGFIX] Lookup [{oLookupMeta.Name}]: DataSource-Backup erstellt")
|
||||||
|
|||||||
Reference in New Issue
Block a user