Patterns: Improve control values modules, accept list of controls

This commit is contained in:
Jonathan Jenne
2022-06-29 16:25:39 +02:00
parent ef2bb08ddc
commit 960c7ecb27
2 changed files with 52 additions and 6 deletions

View File

@@ -20,33 +20,66 @@ Namespace Modules
End Sub
Public Function Replace(pInput As String, pPanel As Panel) As String
Dim oControls As List(Of Control) = pPanel.Controls.Cast(Of Control).ToList()
Return Replace(pInput, oControls)
End Function
Public Function Replace(pInput As String, pControls As List(Of Control)) As String
Dim oResult = pInput
Dim oCounter = 0
While ContainsPattern(oResult, PatternIdentifier)
Try
Dim oControlName As String = GetNextPattern(oResult, PatternIdentifier).Value
Dim oControl As Control = pPanel.Controls.Find(oControlName, False).FirstOrDefault()
Dim oControl As Control = pControls.
Where(Function(control) control.Name = oControlName).
FirstOrDefault()
If oControl IsNot Nothing Then
Dim oReplaceValue As String
Select Case oControl.GetType.ToString
Case GetType(TextBox).ToString
Select Case oControl.GetType
Case GetType(TextBox)
oReplaceValue = oControl.Text
Case GetType(LookupControl3).ToString
Case GetType(DevExpress.XtraEditors.TextEdit)
Dim oTextEdit As DevExpress.XtraEditors.TextEdit = oControl
oReplaceValue = oTextEdit.EditValue
Case GetType(DevExpress.XtraEditors.DateEdit)
Dim oDateEdit As DevExpress.XtraEditors.DateEdit = oControl
oReplaceValue = oDateEdit.EditValue
Case GetType(DevExpress.XtraEditors.LookUpEdit)
Dim oLookupEdit As DevExpress.XtraEditors.LookUpEdit = oControl
oReplaceValue = oLookupEdit.EditValue
Case GetType(LookupControl3)
Dim oLookupControl3 As LookupControl3 = oControl
If oLookupControl3.Properties.SelectedValues.Count = 1 Then
oReplaceValue = oLookupControl3.Properties.SelectedValues.Item(0)
Else
oReplaceValue = "0"
End If
Case GetType(ComboBox).ToString
Case GetType(ComboBox)
oReplaceValue = oControl.Text
Case GetType(CheckBox).ToString
Case GetType(DevExpress.XtraEditors.ComboBoxEdit)
Dim oCombobox As DevExpress.XtraEditors.ComboBoxEdit = oControl
oReplaceValue = oCombobox.EditValue
Case GetType(CheckBox)
Dim oCheckBox As CheckBox = oControl
oReplaceValue = oCheckBox.Checked
Case GetType(DevExpress.XtraEditors.CheckEdit)
Dim oCheckEdit As DevExpress.XtraEditors.CheckEdit = oControl
oReplaceValue = oCheckEdit.Checked
Case Else
oReplaceValue = "0"
End Select
oResult = ReplacePattern(oResult, PatternIdentifier, oReplaceValue)
@@ -61,5 +94,6 @@ Namespace Modules
Return oResult
End Function
End Class
End Namespace