fix Depending_Control_Set_Result in frmValidator m(

This commit is contained in:
Jonathan Jenne 2021-09-23 16:13:41 +02:00
parent 680e73b819
commit ef4f64fdc0
2 changed files with 36 additions and 20 deletions

View File

@ -13,7 +13,7 @@ Imports System.Runtime.InteropServices
<Assembly: AssemblyCompany("Digital Data")>
<Assembly: AssemblyProduct("Process Manager")>
<Assembly: AssemblyCopyright("Copyright © Digital Data 2021")>
<Assembly: AssemblyTrademark("22210")>
<Assembly: AssemblyTrademark("22220")>
<Assembly: ComVisible(False)>
@ -31,5 +31,5 @@ Imports System.Runtime.InteropServices
' übernehmen, indem Sie "*" eingeben:
' <Assembly: AssemblyVersion("1.0.*")>
<Assembly: AssemblyVersion("2.2.21.0")>
<Assembly: AssemblyVersion("2.2.22.0")>
<Assembly: AssemblyFileVersion("1.0.0.0")>

View File

@ -2187,34 +2187,50 @@ Public Class frmValidator
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)
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")
If displayboxname.StartsWith(ClassControlCreator.PREFIX_COMBOBOX) Then
Dim oCombobox As ComboBox = pnldesigner.Controls(displayboxname)
If IsNothing(oCombobox) Then
Exit Sub
End If
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
Else
pnldesigner.Controls(displayboxname).Text = "RESULT = NOTHING or MORE THAN 1 ROW"
Else
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)
End If
End If
End If
Catch ex As Exception
LOGGER.Error(ex)
LOGGER.Info("Unexpected Error in Depending_Control_Set_Result - ERROR: " & ex.Message)
MsgBox("Unexpected error: " & ex.Message, MsgBoxStyle.Critical, ADDITIONAL_TITLE)
LOGGER.Info("Unexpected Ersror in Depending_Control_Set_Result - ERROR: " & ex.Message)
MsgBox("Unexpected error in Depending_Control_Set_Result: " & ex.Message, MsgBoxStyle.Critical)
End Try
End Sub
Public Sub OnDTPValueChanged(sender As System.Object, e As System.EventArgs)