MS: Anpassungen Depending Controls CMB2CMB Datasource
This commit is contained in:
parent
5d6dc32e22
commit
1a9254630f
@ -31,5 +31,5 @@ Imports System.Runtime.InteropServices
|
||||
' übernehmen, indem Sie "*" eingeben:
|
||||
' <Assembly: AssemblyVersion("1.0.*")>
|
||||
|
||||
<Assembly: AssemblyVersion("1.9.3.9")>
|
||||
<Assembly: AssemblyVersion("1.9.4.0")>
|
||||
<Assembly: AssemblyFileVersion("1.0.0.0")>
|
||||
|
||||
@ -50,6 +50,8 @@ Public Class frmValidator
|
||||
Dim viewer_string As String
|
||||
Dim pdfxchange As Boolean = False
|
||||
Dim sumatra As Boolean = False
|
||||
Private _dependingControl_in_action As Boolean = False
|
||||
|
||||
<DllImport("user32.dll", CharSet:=CharSet.Ansi, SetLastError:=True, ExactSpelling:=True)>
|
||||
Public Shared Function SetForegroundWindow(ByVal hwnd As IntPtr) As <MarshalAs(UnmanagedType.Bool)> Boolean
|
||||
End Function
|
||||
@ -1098,27 +1100,9 @@ Public Class frmValidator
|
||||
End Try
|
||||
|
||||
Next
|
||||
|
||||
|
||||
|
||||
Dim resultDT As DataTable = ClassDatabase.Return_Datatable_CS(sql_Statement, ROW.Item(1))
|
||||
If resultDT.Rows.Count >= 1 Then
|
||||
'Nur dediziert einen Wert zurückerhalten
|
||||
For Each row1 As DataRow In resultDT.Rows
|
||||
Dim result = row1.Item(0)
|
||||
If Not IsNothing(result) Then
|
||||
pnldesigner.Controls(displayboxname).Text = result.ToString
|
||||
Exit For
|
||||
Else
|
||||
pnldesigner.Controls(displayboxname).Text = "RESULT = NOTHING"
|
||||
Exit For
|
||||
End If
|
||||
Next
|
||||
Else
|
||||
pnldesigner.Controls(displayboxname).Text = "NO RESULT"
|
||||
End If
|
||||
|
||||
|
||||
_dependingControl_in_action = True
|
||||
Depending_Control_Set_Result(displayboxname, sql_Statement, ROW.Item(1))
|
||||
_dependingControl_in_action = False
|
||||
End If
|
||||
Catch ex As Exception
|
||||
ClassLogger.Add("Unexpected Error in Display SQL result for control: " & ROW.Item(0).ToString & " - ERROR: " & ex.Message)
|
||||
@ -1200,6 +1184,10 @@ Public Class frmValidator
|
||||
Dim sql = String.Format("select NAME,CONNECTION_ID,SQL_UEBERPRUEFUNG FROM TBPM_PROFILE_CONTROLS WHERE PROFIL_ID = {0} AND SQL_UEBERPRUEFUNG LIKE '%{1}%'", CURRENT_ProfilGUID, cmb.Name)
|
||||
Dim DT As DataTable = ClassDatabase.Return_Datatable(sql)
|
||||
If Not IsNothing(DT) And DT.Rows.Count > 0 Then
|
||||
If _dependingControl_in_action = True Then
|
||||
Exit Sub
|
||||
End If
|
||||
|
||||
For Each ROW As DataRow In DT.Rows
|
||||
Try
|
||||
Dim displayboxname = ROW.Item(0).ToString
|
||||
@ -1227,39 +1215,17 @@ Public Class frmValidator
|
||||
input_value = cmb1.Text
|
||||
End If
|
||||
sql_Statement = sql_Statement.ToString.Replace(element.Value, input_value)
|
||||
If LogErrorsOnly = False Then ClassLogger.Add(">>> sql_Statement: " & sql_Statement)
|
||||
|
||||
Catch ex As Exception
|
||||
ClassLogger.Add("Unexpected Error in Checking control values for Variable SQL Result ComboBox - ERROR: " & ex.Message)
|
||||
End Try
|
||||
|
||||
Next
|
||||
If LogErrorsOnly = False Then ClassLogger.Add(">>> sql_Statement after replacement: " & sql_Statement)
|
||||
|
||||
Dim resultDT As DataTable = ClassDatabase.Return_Datatable_CS(sql_Statement, ROW.Item(1))
|
||||
If resultDT.Rows.Count = 1 Then
|
||||
'Nur dediziert einen Wert zurückerhalten
|
||||
For Each row1 As DataRow In resultDT.Rows
|
||||
Dim result = row1.Item(0)
|
||||
If Not IsNothing(result) Then
|
||||
pnldesigner.Controls(displayboxname).Text = result.ToString
|
||||
Exit For
|
||||
Else
|
||||
pnldesigner.Controls(displayboxname).Text = "RESULT = NOTHING"
|
||||
Exit For
|
||||
End If
|
||||
Next
|
||||
ElseIf resultDT.Rows.Count > 1 Then
|
||||
'Ist das Control ein Control was mehrfachwerte enthalten kann
|
||||
If displayboxname.StartsWith(ClassControlCreator.PREFIX_COMBOBOX) Then
|
||||
|
||||
Else
|
||||
MsgBox("Result contains more than one rows!", MsgBoxStyle.Information)
|
||||
|
||||
End If
|
||||
' wenn ja: dann datasource an control anpassen
|
||||
Else
|
||||
pnldesigner.Controls(displayboxname).Text = "NO RESULT"
|
||||
End If
|
||||
|
||||
_dependingControl_in_action = True
|
||||
Depending_Control_Set_Result(displayboxname, sql_Statement, ROW.Item(1))
|
||||
_dependingControl_in_action = False
|
||||
|
||||
End If
|
||||
Catch ex As Exception
|
||||
@ -1275,6 +1241,36 @@ Public Class frmValidator
|
||||
End If
|
||||
End If
|
||||
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_CS(sqlCommand, sqlConnection)
|
||||
If Not IsNothing(resultDT) Then
|
||||
'Ist das Control ein Control was mehrfachwerte enthalten kann
|
||||
If displayboxname.StartsWith(ClassControlCreator.PREFIX_COMBOBOX) Or displayboxname.StartsWith(ClassControlCreator.PREFIX_DATAGRIDVIEW) 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_DATAGRIDVIEW) Or displayboxname.StartsWith(ClassControlCreator.PREFIX_TABLE) Then
|
||||
'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"
|
||||
|
||||
End If
|
||||
End If
|
||||
End If
|
||||
Catch ex As Exception
|
||||
ClassLogger.Add("Unexpected Error in Depending_Control_Set_Result - ERROR: " & ex.Message)
|
||||
MsgBox("Unexpected error: " & ex.Message, MsgBoxStyle.Critical)
|
||||
End Try
|
||||
End Sub
|
||||
Public Sub OnDTPValueChanged(sender As System.Object, e As System.EventArgs)
|
||||
Dim dtp As DateTimePicker = sender
|
||||
If _Indexe_Loaded = True Then
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user