load textbox if combobox is readonly in mass validator

This commit is contained in:
Jonathan Jenne 2019-10-17 15:54:36 +02:00
parent ec8e6b76b9
commit 7a166c1f3a

View File

@ -135,7 +135,7 @@ Public Class frmMassValidator
Dim oCount = 0 Dim oCount = 0
For Each oControlRow As DataRow In DTCONTROLS.Rows For Each oControlRow As DataRow In DTCONTROLS.Rows
Dim ctrl As Control Dim oControl As Control
Select Case oControlRow.Item("CTRL_TYPE").ToString.ToUpper Select Case oControlRow.Item("CTRL_TYPE").ToString.ToUpper
Case "TXT" Case "TXT"
@ -146,13 +146,17 @@ Public Class frmMassValidator
AddHandler txt.LostFocus, AddressOf OnTextBoxLostFocus AddHandler txt.LostFocus, AddressOf OnTextBoxLostFocus
AddHandler txt.KeyUp, AddressOf OnTextBoxKeyUp AddHandler txt.KeyUp, AddressOf OnTextBoxKeyUp
ctrl = txt oControl = txt
Case "LBL" Case "LBL"
LOGGER.Debug("Versuch LBL zu laden") LOGGER.Debug("Versuch LBL zu laden")
ctrl = ClassControlCreator.CreateExistingLabel(oControlRow, False) oControl = ClassControlCreator.CreateExistingLabel(oControlRow, False)
Case "CMB" Case "CMB"
LOGGER.Debug("Versuch CMB zu laden") LOGGER.Debug("Versuch CMB zu laden")
If oControlRow.Item("READ_ONLY") Then
Dim cmbReadonly = ClassControlCreator.CreateExistingTextbox(oControlRow, False)
oControl = cmbReadonly
Else
Dim cmb = ClassControlCreator.CreateExistingCombobox(oControlRow, False) Dim cmb = ClassControlCreator.CreateExistingCombobox(oControlRow, False)
AddHandler cmb.SelectedValueChanged, AddressOf OnCmbselectedIndex AddHandler cmb.SelectedValueChanged, AddressOf OnCmbselectedIndex
@ -279,28 +283,33 @@ Public Class frmMassValidator
End Using End Using
cmb.DropDownWidth = maxWith cmb.DropDownWidth = maxWith
ctrl = cmb oControl = cmb
End If
Case "DTP" Case "DTP"
LOGGER.Debug("Versuch DTP zu laden") LOGGER.Debug("Versuch DTP zu laden")
ctrl = ClassControlCreator.CreateExistingDatepicker(oControlRow, False) oControl = ClassControlCreator.CreateExistingDatepicker(oControlRow, False)
Case "DGV" Case "DGV"
LOGGER.Debug("Versuch DGV zu laden") LOGGER.Debug("Versuch DGV zu laden")
Dim dgv = ClassControlCreator.CreateExistingDataGridView(oControlRow, False) Dim dgv = ClassControlCreator.CreateExistingDataGridView(oControlRow, False)
AddHandler dgv.RowValidating, AddressOf onDGVRowValidating AddHandler dgv.RowValidating, AddressOf onDGVRowValidating
ctrl = dgv oControl = dgv
Case "CHK" Case "CHK"
LOGGER.Debug("Versuch Checkbox zu laden") LOGGER.Debug("Versuch Checkbox zu laden")
ctrl = ClassControlCreator.CreateExisingCheckbox(oControlRow, False) oControl = ClassControlCreator.CreateExisingCheckbox(oControlRow, False)
Case "LINE" Case "LINE"
LOGGER.Debug("Versuch Linie zu laden") LOGGER.Debug("Versuch Linie zu laden")
ctrl = ClassControlCreator.CreateExistingLine(oControlRow, False) oControl = ClassControlCreator.CreateExistingLine(oControlRow, False)
Case "LOOKUP" Case "LOOKUP"
Dim lookup As LookupControl2 = ClassControlCreator.CreateExistingLookupControl(oControlRow, False) Dim lookup As LookupControl2 = ClassControlCreator.CreateExistingLookupControl(oControlRow, False)
ctrl = lookup oControl = lookup
lookup.PreventDuplicates = oControlRow.Item("VKT_PREVENT_MULTIPLE_VALUES") lookup.PreventDuplicates = oControlRow.Item("VKT_PREVENT_MULTIPLE_VALUES")
lookup.AllowAddNewValues = oControlRow.Item("VKT_ADD_ITEM") lookup.AllowAddNewValues = oControlRow.Item("VKT_ADD_ITEM")
lookup.MultiSelect = oControlRow.Item("MULTISELECT") lookup.MultiSelect = oControlRow.Item("MULTISELECT")
@ -312,7 +321,7 @@ Public Class frmMassValidator
''Wenn Multiselect false dann prüfen ob abhängiges Control ''Wenn Multiselect false dann prüfen ob abhängiges Control
If CBool(oControlRow.Item("MULTISELECT")) = False Then If CBool(oControlRow.Item("MULTISELECT")) = False Then
Dim filteredData As DataTable = DTCONTROLS.Clone() Dim filteredData As DataTable = DTCONTROLS.Clone()
Dim oExpression = $"SQL_UEBERPRUEFUNG like '%#CTRL#{ctrl.Name}%'" Dim oExpression = $"SQL_UEBERPRUEFUNG like '%#CTRL#{oControl.Name}%'"
DTCONTROLS.Select(oExpression).CopyToDataTable(filteredData, LoadOption.PreserveChanges) DTCONTROLS.Select(oExpression).CopyToDataTable(filteredData, LoadOption.PreserveChanges)
If filteredData.Rows.Count = 1 Then If filteredData.Rows.Count = 1 Then
AddHandler lookup.SelectedValuesChanged, AddressOf onLookUp1 AddHandler lookup.SelectedValuesChanged, AddressOf onLookUp1
@ -329,14 +338,14 @@ Public Class frmMassValidator
Where r.CONTROL_ID = oControlRow.Item("GUID") Where r.CONTROL_ID = oControlRow.Item("GUID")
Select r).ToList() Select r).ToList()
ctrl = ClassControlCreator.CreateExistingGridControl(oControlRow, columns, False) oControl = ClassControlCreator.CreateExistingGridControl(oControlRow, columns, False)
End Select End Select
If ctrl IsNot Nothing AndAlso TypeOf ctrl IsNot Label Then If oControl IsNot Nothing AndAlso TypeOf oControl IsNot Label Then
ctrl.TabIndex = oCount oControl.TabIndex = oCount
End If End If
pnldesigner.Controls.Add(ctrl) pnldesigner.Controls.Add(oControl)
oCount += 1 oCount += 1
Next Next