MS_22042016

This commit is contained in:
SchreiberM
2016-04-25 13:39:03 +02:00
12 changed files with 404 additions and 335 deletions

View File

@@ -15,16 +15,15 @@
'End Function
Public Shared Function LoadAutoValue(control As Windows.Forms.Control, RecordId As Integer, ParentRecordId As Integer, entity_ID As Integer)
Dim ControlId As Integer
Try
If ControlId = 810 Then
Console.WriteLine("Obacht")
End If
Dim AutoValue As String = String.Empty
ControlId = DirectCast(control.Tag, ClassControlMetadata).Id
Dim ControlId As Integer = DirectCast(control.Tag, ClassControlMetadata).Id
Dim CONNID = ClassDatabase.Execute_Scalar(String.Format("SELECT CONNECTION_ID_1 FROM TBPMO_CONTROL WHERE GUID = {0}", ControlId))
Dim SQL As String = ClassDatabase.Execute_Scalar(String.Format("SELECT SQL_COMMAND_1 FROM TBPMO_CONTROL WHERE GUID = {0}", ControlId))
SQL = ClassControlValues.ReplaceSqlCommandPlaceholders(SQL, RecordId, ParentRecordId, entity_ID)
If ControlId = 984 Then
Console.WriteLine("VertragsNr")
End If
If SQL = "" Or IsDBNull(SQL) Then
Return Nothing
@@ -43,7 +42,7 @@
Return AutoValue
Catch ex As Exception
ClassLogger.Add("Unexpected Error in LoadAutoValue - Control-ID: " & ControlId.ToString & " - ERROR: " & ex.Message, True)
ClassLogger.Add("Unexpected Error in LoadAutoValue: " & ex.Message, True)
Return Nothing
End Try
@@ -56,9 +55,7 @@
Public Shared Function GetDynamicValue(controlId As Integer, formId As Integer, connID As Object, sqlCommand As String) As DynamicValue
Dim returnValue As DynamicValue
If controlId = 810 Then
Console.WriteLine("Obacht")
End If
returnValue.StaticList = CheckForStaticList(controlId)
returnValue.DataTable = GetSqlList(controlId, formId, connID, sqlCommand)
@@ -85,9 +82,6 @@
Public Shared Function GetSqlList(controlId As Integer, formId As Integer, connection_Id As Object, sqlCommand As String) As DataTable
Try
If controlId = 810 Then
Console.WriteLine("Obacht")
End If
If sqlCommand Is Nothing Or sqlCommand = String.Empty Then
Return Nothing
End If
@@ -117,132 +111,81 @@
End Function
Overloads Shared Sub SetDataSource(control As CustomComboBox, dt As DataTable)
Try
If control.Name = "cmbverantwortlich" Then
Console.WriteLine("Obacht")
End If
Dim Name1 = dt.Columns(0).ColumnName.ToString
Dim Name2
Try
Name2 = dt.Columns(1).ColumnName.ToString
Catch ex As Exception
Name2 = dt.Columns(0).ColumnName.ToString
End Try
Dim columnCount As Integer = dt.Columns.Count
control.BeginUpdate()
' Damit beim Setzen von DisplayMember und ValueMember kein Fehler auftritt,
' muss die Datasource zunächst geleert werden und der selected index auf -1 gesetzt werden.
control.DataSource = Nothing
control.SelectedIndex = -1
ClassControlValues.ClearControlValue(control)
Dim sw As Stopwatch = Stopwatch.StartNew()
Dim columnCount As Integer = dt.Columns.Count
' Es ist wichtig, dass DisplayMember und ValueMember VOR der DataSource festgelegt werden,
' Dadurch ist das Laden der Datasource um einiges SCHNELLER
If columnCount = 1 Then
For Each row As DataRow In dt.Rows
control.Items.Add(row.Item(0).ToString)
Next
'control.ValueMember = Name1
'control.DisplayMember = Name1
ElseIf columnCount = 2 Then
'If control.Name = "cmbverantwortlich" Then
' control.ValueMember = Name1
' control.DisplayMember = Name2
'Else
For Each row As DataRow In dt.Rows
control.Items.Add(row.Item(1).ToString)
Next
'End If
control.BeginUpdate()
'If control.Name = "cmbverantwortlich" Then
' Damit beim Setzen von DisplayMember und ValueMember kein Fehler auftritt,
' muss die Datasource zunächst geleert werden und der selected index auf -1 gesetzt werden.
control.DataSource = Nothing
control.SelectedIndex = -1
'Else
' control.ValueMember = Name1
' control.DisplayMember = Name2
'End If
End If
' Als Erstes setzen wir die DataSource
'If control.Name = "cmbverantwortlich" Then
' control.DataSource = dt
'End If
' Es ist wichtig, dass DisplayMember und ValueMember VOR der DataSource festgelegt werden,
' Dadurch ist das Laden der Datasource um einiges SCHNELLER
If columnCount = 1 Then
control.DisplayMember = dt.Columns(0).ColumnName
control.ValueMember = dt.Columns(0).ColumnName
ElseIf columnCount = 2 Then
control.DisplayMember = dt.Columns(1).ColumnName
control.ValueMember = dt.Columns(0).ColumnName
End If
'control.DataSource = dt
control.EndUpdate()
Catch ex As Exception
ClassLogger.Add("unexpected Error in SetDataSource for ControlName: " & control.Name & " - Error: " & ex.Message)
End Try
' Als letztes setzen wir die DataSource
control.DataSource = dt
control.EndUpdate()
sw.Stop()
Console.WriteLine("SetDataSource for {0} took {1}ms", control.Name, sw.ElapsedMilliseconds)
End Sub
Overloads Shared Sub SetDataSource(control As DevExpress.XtraEditors.CheckedListBoxControl, dt As DataTable)
Try
If control.Name = "cmbverantwortlich" Then
Console.WriteLine("Obacht")
End If
Dim columnCount As Integer = dt.Columns.Count
Dim columnCount As Integer = dt.Columns.Count
' Damit beim Setzen von DisplayMember und ValueMember kein Fehler auftritt,
' muss die Datasource zunächst geleert werden und der selected index auf -1 gesetzt werden.
control.DataSource = Nothing
control.SelectedIndex = -1
' Damit beim Setzen von DisplayMember und ValueMember kein Fehler auftritt,
' muss die Datasource zunächst geleert werden und der selected index auf -1 gesetzt werden.
control.DataSource = Nothing
control.SelectedIndex = -1
' Es ist wichtig, dass DisplayMember und ValueMember VOR der DataSource festgelegt werden,
' Dadurch ist das Laden der Datasource um einiges SCHNELLER
If columnCount = 1 Then
control.DisplayMember = dt.Columns(0).ColumnName
control.ValueMember = dt.Columns(0).ColumnName
ElseIf columnCount = 2 Then
control.DisplayMember = dt.Columns(1).ColumnName
control.ValueMember = dt.Columns(0).ColumnName
End If
' Als letztes setzen wir die DataSource
control.DataSource = dt
control.EndUpdate()
Catch ex As Exception
ClassLogger.Add("unexpected Error in SetDataSource2 for ControlName: " & control.Name & " - Error: " & ex.Message)
End Try
' Es ist wichtig, dass DisplayMember und ValueMember VOR der DataSource festgelegt werden,
' Dadurch ist das Laden der Datasource um einiges SCHNELLER
If columnCount = 1 Then
control.DisplayMember = dt.Columns(0).ColumnName
control.ValueMember = dt.Columns(0).ColumnName
ElseIf columnCount = 2 Then
control.DisplayMember = dt.Columns(1).ColumnName
control.ValueMember = dt.Columns(0).ColumnName
End If
' Als letztes setzen wir die DataSource
control.DataSource = dt
End Sub
Overloads Shared Sub SetDataSource(control As DevExpress.XtraEditors.ListBoxControl, dt As DataTable)
Try
If control.Name = "cmbverantwortlich" Then
Console.WriteLine("Obacht")
End If
Dim columnCount As Integer = dt.Columns.Count
Dim columnCount As Integer = dt.Columns.Count
' Damit beim Setzen von DisplayMember und ValueMember kein Fehler auftritt,
' muss die Datasource zunächst geleert werden und der selected index auf -1 gesetzt werden.
control.DataSource = Nothing
control.SelectedIndex = -1
' Damit beim Setzen von DisplayMember und ValueMember kein Fehler auftritt,
' muss die Datasource zunächst geleert werden und der selected index auf -1 gesetzt werden.
control.DataSource = Nothing
control.SelectedIndex = -1
' Es ist wichtig, dass DisplayMember und ValueMember VOR der DataSource festgelegt werden,
' Dadurch ist das Laden der Datasource um einiges SCHNELLER
If columnCount = 1 Then
control.DisplayMember = dt.Columns(0).ColumnName
'control.ValueMember = dt.Columns(0).ColumnName
ElseIf columnCount = 2 Then
control.DisplayMember = dt.Columns(1).ColumnName
control.ValueMember = dt.Columns(0).ColumnName
End If
' Es ist wichtig, dass DisplayMember und ValueMember VOR der DataSource festgelegt werden,
' Dadurch ist das Laden der Datasource um einiges SCHNELLER
If columnCount = 1 Then
control.DisplayMember = dt.Columns(0).ColumnName
control.ValueMember = dt.Columns(0).ColumnName
ElseIf columnCount = 2 Then
control.DisplayMember = dt.Columns(1).ColumnName
control.ValueMember = dt.Columns(0).ColumnName
End If
' Als letztes setzen wir die DataSource
control.DataSource = dt
Catch ex As Exception
ClassLogger.Add("unexpected Error in SetDataSource3 for ControlName: " & control.Name & " - Error: " & ex.Message)
End Try
' Als letztes setzen wir die DataSource
control.DataSource = dt
End Sub
Overloads Shared Sub SetDataSource(control As Windows.Forms.DataGridView, dt As DataTable)
Try
If control.Name = "cmbverantwortlich" Then
Console.WriteLine("Obacht")
End If
control.DataSource = dt
Catch ex As Exception
ClassLogger.Add("unexpected Error in SetDataSource4 for ControlName: " & control.Name & " - Error: " & ex.Message)
End Try
control.DataSource = dt
End Sub
End Class
@@ -263,6 +206,10 @@
control.Text = value
Else
Dim ControlId As Integer = DirectCast(control.Tag, ClassControlMetadata).Id
If ControlId = 984 Then
Console.WriteLine("VertragsNr")
End If
Dim SQL = String.Format("SELECT GUID FROM TBPMO_CONTROL_SCREEN WHERE CONTROL_ID = {0} AND SCREEN_ID = {1}", ControlId, CURRENT_SCREEN_ID)
Dim ctrl_screen_id = ClassDatabase.Execute_Scalar(SQL, True)
If ctrl_screen_id > 0 Then
@@ -357,17 +304,11 @@
Public Class Combobox : Inherits _ListControl
Public Shared Sub LoadValue(control As CustomComboBox, recordId As Integer, parentRecordId As Integer, value As String)
If control.Name = "cmbverantwortlich" Then
Console.WriteLine("Obacht")
End If
control.Text = value
End Sub
Public Shared Sub LoadList(control As CustomComboBox, formId As Integer, connID As Object, SQLCommand As String)
Try
If control.Name = "cmbverantwortlich" Then
Console.WriteLine("Obacht")
End If
Dim dynamic As DynamicValue = GetDynamicValue(DirectCast(control.Tag, ClassControlMetadata).Id, formId, connID, SQLCommand)
If dynamic.StaticList IsNot Nothing Then
@@ -385,9 +326,6 @@
Private Shared Sub CalculateDropdownWidth(control As CustomComboBox, dt As DataTable)
Try
If control.Name = "cmbverantwortlich" Then
Console.WriteLine("Obacht")
End If
Const WIDEST_WIDTH As Integer = 300
Dim FinalWidth As Integer = WIDEST_WIDTH
Dim index As Integer = 1
@@ -428,8 +366,6 @@
control.SetItemCheckState(pos, CheckState.Checked)
End If
Next
control.Refresh()
' control.Invoke(control)
End Sub
Public Shared Sub LoadList(control As DevExpress.XtraEditors.CheckedListBoxControl, formId As Integer, conn_Id As Object, SQLCommand As String)
@@ -461,9 +397,7 @@
If IsNothing(value) Then
Exit Sub
End If
If control.Name = "cmbverantwortlich" Then
Console.WriteLine("Obacht")
End If
control.SelectedIndex = control.FindStringExact(value)
End Sub