Implement Depending_Control_Set_Result for Lookup

This commit is contained in:
Jonathan Jenne 2021-09-23 16:12:31 +02:00
parent 16a0b35813
commit 500956a50f

View File

@ -888,26 +888,41 @@ Public Class frmMassValidator
End Sub
Private Sub Depending_Control_Set_Result(displayboxname As String, sqlCommand As String, sqlConnection As String)
Try
Dim resultDT As DataTable = ClassDatabase.Return_Datatable_ConId(sqlCommand, sqlConnection)
If Not IsNothing(resultDT) Then
Dim oResultTable As DataTable = ClassDatabase.Return_Datatable_ConId(sqlCommand, sqlConnection)
If Not IsNothing(oResultTable) Then
'Ist das Control ein Control was mehrfachwerte enthalten kann
If displayboxname.StartsWith(ClassControlCreator.PREFIX_COMBOBOX) Or displayboxname.StartsWith(ClassControlCreator.PREFIX_LOOKUP) Or displayboxname.StartsWith(ClassControlCreator.PREFIX_TABLE) Then
If displayboxname.StartsWith(ClassControlCreator.PREFIX_COMBOBOX) Then
Dim cmbpanel As ComboBox = pnldesigner.Controls(displayboxname)
If IsNothing(cmbpanel) Then
Dim oCombobox As ComboBox = pnldesigner.Controls(displayboxname)
If IsNothing(oCombobox) Then
Exit Sub
End If
cmbpanel.DataSource = Nothing
cmbpanel.DataSource = resultDT
cmbpanel.DisplayMember = resultDT.Columns(0).ColumnName
cmbpanel.ValueMember = resultDT.Columns(0).ColumnName
ElseIf displayboxname.StartsWith(ClassControlCreator.PREFIX_LOOKUP) Or displayboxname.StartsWith(ClassControlCreator.PREFIX_TABLE) Then
LOGGER.Warn("Depending_Control_Set_Result PREFIX_LOOKUP NOT IMPLEMENTED")
oCombobox.DataSource = Nothing
oCombobox.DataSource = oResultTable
oCombobox.DisplayMember = oResultTable.Columns(0).ColumnName
oCombobox.ValueMember = oResultTable.Columns(0).ColumnName
ElseIf displayboxname.StartsWith(ClassControlCreator.PREFIX_LOOKUP) Then
Dim oLookup As LookupControl3 = pnldesigner.Controls(displayboxname)
If IsNothing(oLookup) Then
Exit Sub
End If
oLookup.Properties.DataSource = Nothing
oLookup.Properties.DataSource = oResultTable
ElseIf displayboxname.StartsWith(ClassControlCreator.PREFIX_TABLE) Then
LOGGER.Warn("Depending_Control_Set_Result for Table NOT IMPLEMENTED")
'not implemented
End If
Else
If resultDT.Rows.Count = 1 Then
pnldesigner.Controls(displayboxname).Text = resultDT.Rows(0).Item(0).ToString
If oResultTable.Rows.Count = 1 Then
pnldesigner.Controls(displayboxname).Text = oResultTable.Rows(0).Item(0).ToString
Else
pnldesigner.Controls(displayboxname).Text = "RESULT = resultDT.Rows.Count <> 1"
LOGGER.Info(">> Datatable-SQL: " & sqlCommand)