From dcf8339c2dfd708244cf5935787a862e005c0a28 Mon Sep 17 00:00:00 2001 From: Jonathan Jenne Date: Thu, 23 Sep 2021 16:59:45 +0200 Subject: [PATCH] fix the problem --- app/DD_PM_WINDREAM/frmMassValidator.vb | 26 +++++++++++++++++++++----- app/DD_PM_WINDREAM/frmValidator.vb | 25 +++++++++++++++++++++---- 2 files changed, 42 insertions(+), 9 deletions(-) diff --git a/app/DD_PM_WINDREAM/frmMassValidator.vb b/app/DD_PM_WINDREAM/frmMassValidator.vb index 0ecc9a3..7864064 100644 --- a/app/DD_PM_WINDREAM/frmMassValidator.vb +++ b/app/DD_PM_WINDREAM/frmMassValidator.vb @@ -888,38 +888,52 @@ Public Class frmMassValidator End Sub Private Sub Depending_Control_Set_Result(displayboxname As String, sqlCommand As String, sqlConnection As String) Try + LOGGER.Debug("Setting Values for Control [{0}]", displayboxname) + Dim oResultTable As DataTable = ClassDatabase.Return_Datatable_ConId(sqlCommand, sqlConnection) + If Not IsNothing(oResultTable) Then + LOGGER.Debug("Result Table has [{0}] rows", oResultTable.Rows.Count) + LOGGER.Debug("Result Table has [{0}] columns", oResultTable.Columns.Count) + '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 - + LOGGER.Debug("Control is Multivalue") If displayboxname.StartsWith(ClassControlCreator.PREFIX_COMBOBOX) Then + LOGGER.Debug("Filling Combobox with Results") + Dim oCombobox As ComboBox = pnldesigner.Controls(displayboxname) + If IsNothing(oCombobox) Then Exit Sub End If + LOGGER.Debug("Control exists, setting results.") + 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 + LOGGER.Debug("Filling Lookup Control with Results") + Dim oLookup As LookupControl3 = pnldesigner.Controls(displayboxname) If IsNothing(oLookup) Then Exit Sub End If + LOGGER.Debug("Control exists, setting results.") + 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 + Else + 'not implemented + LOGGER.Warn("Depending_Control_Set_Result for [{0}] NOT IMPLEMENTED", displayboxname) End If - Else If oResultTable.Rows.Count = 1 Then pnldesigner.Controls(displayboxname).Text = oResultTable.Rows(0).Item(0).ToString @@ -928,6 +942,8 @@ Public Class frmMassValidator LOGGER.Info(">> Datatable-SQL: " & sqlCommand) End If End If + Else + LOGGER.Warn("Result Table is nothing!") End If Catch ex As Exception LOGGER.Info("Unexpected Ersror in Depending_Control_Set_Result - ERROR: " & ex.Message) diff --git a/app/DD_PM_WINDREAM/frmValidator.vb b/app/DD_PM_WINDREAM/frmValidator.vb index 8eb823c..0de8bb0 100644 --- a/app/DD_PM_WINDREAM/frmValidator.vb +++ b/app/DD_PM_WINDREAM/frmValidator.vb @@ -2187,37 +2187,52 @@ Public Class frmValidator End Sub Private Sub Depending_Control_Set_Result(displayboxname As String, sqlCommand As String, sqlConnection As String) Try + LOGGER.Debug("Setting Values for Control [{0}]", displayboxname) + Dim oResultTable As DataTable = ClassDatabase.Return_Datatable_ConId(sqlCommand, sqlConnection) + If Not IsNothing(oResultTable) Then + LOGGER.Debug("Result Table has [{0}] rows", oResultTable.Rows.Count) + LOGGER.Debug("Result Table has [{0}] columns", oResultTable.Columns.Count) + '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 + LOGGER.Debug("Control is Multivalue") If displayboxname.StartsWith(ClassControlCreator.PREFIX_COMBOBOX) Then + LOGGER.Debug("Filling Combobox with Results") + Dim oCombobox As ComboBox = pnldesigner.Controls(displayboxname) + If IsNothing(oCombobox) Then Exit Sub End If + LOGGER.Debug("Control exists, setting results.") + 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 + LOGGER.Debug("Filling Lookup Control with Results") + Dim oLookup As LookupControl3 = pnldesigner.Controls(displayboxname) If IsNothing(oLookup) Then Exit Sub End If + LOGGER.Debug("Control exists, setting results.") + 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 + Else + 'not implemented + LOGGER.Warn("Depending_Control_Set_Result for [{0}] NOT IMPLEMENTED", displayboxname) End If - Else If oResultTable.Rows.Count = 1 Then pnldesigner.Controls(displayboxname).Text = oResultTable.Rows(0).Item(0).ToString @@ -2226,6 +2241,8 @@ Public Class frmValidator LOGGER.Info(">> Datatable-SQL: " & sqlCommand) End If End If + Else + LOGGER.Warn("Result Table is nothing!") End If Catch ex As Exception LOGGER.Info("Unexpected Ersror in Depending_Control_Set_Result - ERROR: " & ex.Message)