use LookupControl3, fix double profile items in combobox, fix crashes

This commit is contained in:
Jonathan Jenne
2021-03-22 16:13:49 +01:00
parent f53f83e403
commit 271d38bd05
5 changed files with 122 additions and 106 deletions

View File

@@ -1,6 +1,7 @@
Imports System.Text.RegularExpressions
Imports DevExpress.XtraEditors
Imports DigitalData.Controls.LookupGrid
Imports DigitalData.GUIs.GlobalIndexer
Imports WINDREAMLib
''' <summary>
@@ -184,7 +185,7 @@ Public Class ClassPatterns
Continue For
End If
Dim oMeta = TryCast(oControl.Tag, ClassControls.ControlMeta)
Dim oMeta = TryCast(oControl.Tag, ControlCreator.ControlMeta)
LOGGER.Debug("Metadata IndexName: [{0}]", oMeta.IndexName)
LOGGER.Debug("Metadata IndexType: [{0}]", oMeta.IndexType)
@@ -223,26 +224,26 @@ Public Class ClassPatterns
LOGGER.Error(ex)
LOGGER.Warn("Control Value for CheckBox [{0}] could not be retrieved!", oFoundControl.Name)
End Try
ElseIf TypeOf oFoundControl Is LookupControl2 Then
ElseIf TypeOf oFoundControl Is LookupControl3 Then
Try
Dim oLookupControl = DirectCast(oFoundControl, LookupControl2)
Dim oLookupControl = DirectCast(oFoundControl, LookupControl3)
If oLookupControl.MultiSelect Then
If oLookupControl.Properties.MultiSelect Then
Select Case oFoundType
Case "INTEGER"
oValue = String.Join(",", oLookupControl.SelectedValues)
oValue = String.Join(",", oLookupControl.Properties.SelectedValues)
Case "VARCHAR"
Dim oWrapped = oLookupControl.SelectedValues
Dim oWrapped = oLookupControl.Properties.SelectedValues
oValue = String.Join(",", oWrapped)
Case Else
LOGGER.Warn("Lookup Control with [{0}] is not supported!", oFoundType)
End Select
Else
oValue = NotNull(oLookupControl.SelectedValues.Item(0), "")
oValue = NotNull(oLookupControl.Properties.SelectedValues.Item(0), "")
End If
Catch ex As Exception
LOGGER.Error(ex)
LOGGER.Warn("Control Value for LookupControl2 [{0}] could not be retrieved!", oFoundControl.Name)
LOGGER.Warn("Control Value for LookupControl3 [{0}] could not be retrieved!", oFoundControl.Name)
End Try
Else
LOGGER.Debug("Unknown Control type for type [{0}], setting value to empty string.", oFoundControl.Name)