diff --git a/app/DD-Record-Organiser/ClassControlLoader.vb b/app/DD-Record-Organiser/ClassControlLoader.vb new file mode 100644 index 0000000..97c1515 --- /dev/null +++ b/app/DD-Record-Organiser/ClassControlLoader.vb @@ -0,0 +1,254 @@ +Namespace ControlLoader + + Public Class _BaseControl + End Class + + Public Class _ListControl : Inherits _BaseControl + Public Shared Function _GetDynamicValue(controlId As Integer, formId As Integer, recordId As Integer, parentRecordId As Integer) As DynamicValue + Dim returnValue As DynamicValue + + returnValue.StaticList = CheckForStaticList(controlId, recordId) + returnValue.DataTable = CheckForSqlCommand(controlId, formId, recordId, parentRecordId) + + Return returnValue + End Function + + Private Shared Function CheckForStaticList(controlId As Integer, recordId As Integer) As List(Of String) + Try + Dim SQL As String = String.Format("SELECT VALUE FROM VWPMO_VALUES WHERE CONTROL_ID = {0} AND RECORD_ID = {1}", controlId, recordId) + Dim staticList As String = ClassDatabase.Execute_Scalar(SQL) + + If IsNothing(staticList) Then + Return Nothing + Else + Return New List(Of String)(staticList.Split(";")) + End If + Catch ex As Exception + MsgBox("Error in CheckForStaticList: " & vbNewLine & ex.Message) + Return Nothing + End Try + End Function + + Private Shared Function CheckForSqlCommand(controlId As Integer, formId As Integer, recordId As Integer, parentRecordId As Integer) As DataTable + Try + Dim SQL As String = String.Format("SELECT SQL_COMMAND_1 FROM TBPMO_CONTROL WHERE GUID = {0}", controlId) + Dim SqlCommand As String = ClassDatabase.Execute_Scalar(SQL) + + If SqlCommand Is Nothing Or SqlCommand = String.Empty Then + Return Nothing + End If + + If SqlCommand.Contains("@") Then + SqlCommand = ReplaceSqlCommandPlaceholders(SqlCommand, recordId, parentRecordId) + End If + + Dim CachedDataTable As DataTable = ClassControlValueCache.LoadFromCache(formId, controlId) + Dim FinalDataTable As DataTable + If CachedDataTable Is Nothing Then + FinalDataTable = ClassDatabase.Return_Datatable(SqlCommand) + ClassControlValueCache.SaveToCache(formId, controlId, FinalDataTable) + Else + FinalDataTable = CachedDataTable + End If + + Return FinalDataTable + Catch ex As Exception + MsgBox("Error in CheckForSqlCommand: " & vbNewLine & ex.Message) + Return Nothing + End Try + End Function + + Private Shared Function ReplaceSqlCommandPlaceholders(sqlCommand As String, recordId As Integer, parentRecordId As Integer) + sqlCommand = sqlCommand.Replace("@RECORD_ID", recordId) + sqlCommand = sqlCommand.Replace("@RECORDID", recordId) + sqlCommand = sqlCommand.Replace("@PARENTRECORD_ID", parentRecordId) + sqlCommand = sqlCommand.Replace("@PARENTRECORDID", parentRecordId) + + Return sqlCommand + End Function + End Class + + Public Structure DynamicValue + Public StaticList As List(Of String) + Public DataTable As DataTable + End Structure + + Public Class Label : Inherits _BaseControl + + Public Shared Sub LoadValue(control As Windows.Forms.Label, value As String) + ' TODO: LoadControlAutoValue aufrufen + control.Text = value + End Sub + + End Class + + Public Class Checkbox : Inherits _BaseControl + + Public Shared Sub LoadValue(control As Windows.Forms.CheckBox, value As String) + Dim result As Boolean = False + Boolean.TryParse(value, result) + control.Checked = result + End Sub + + End Class + + Public Class RadioButton : Inherits _BaseControl + + Public Shared Sub LoadValue(control As Windows.Forms.RadioButton, value As String) + Dim result As Boolean = False + Boolean.TryParse(value, result) + control.Checked = result + End Sub + + End Class + + Public Class TextBox : Inherits _BaseControl + + Public Shared Sub LoadValue(control As Windows.Forms.TextBox, value As String) + control.Text = value + End Sub + + End Class + + Public Class DateTimePicker : Inherits _BaseControl + + Public Shared Sub LoadValue(control As DevExpress.XtraEditors.DateEdit, value As String) + If String.IsNullOrWhiteSpace(value) Or value = "00:00:00" Then + control.DateTime = DateTime.MinValue + Else + control.DateTime = DateTime.Parse(value) + End If + End Sub + + End Class + + Public Class Combobox : Inherits _ListControl + + Public Shared Sub LoadValue(control As Windows.Forms.ComboBox, value As String) + control.Text = value + End Sub + + Public Shared Sub LoadList(control As Windows.Forms.ComboBox, formId As Integer, recordId As Integer, parentRecordId As Integer) + Try + Dim dynamic As DynamicValue = _GetDynamicValue(control.Tag, formId, recordId, parentRecordId) + + If dynamic.StaticList IsNot Nothing Then + control.DataSource = dynamic.StaticList + End If + + If dynamic.DataTable IsNot Nothing AndAlso dynamic.DataTable.Rows.Count > 0 Then + Dim dt As DataTable = dynamic.DataTable + + control.DataSource = dt + If dt.Columns.Count = 1 Then + control.DisplayMember = dt.Columns(0).ColumnName + control.ValueMember = dt.Columns(0).ColumnName + ElseIf dt.Columns.Count = 2 Then + control.DisplayMember = dt.Columns(1).ColumnName + control.ValueMember = dt.Columns(0).ColumnName + End If + + CalculateDropdownWidth(control, dt) + End If + Catch ex As Exception + MsgBox("Error in Combobox.LoadList:" & vbNewLine & ex.Message) + End Try + End Sub + + Private Shared Sub CalculateDropdownWidth(control As Windows.Forms.ComboBox, dt As DataTable) + Const WIDEST_WIDTH As Integer = 300 + Dim FinalWidth As Integer = WIDEST_WIDTH + For Each row As DataRow In dt.Rows + 'Die Breite der Dropdown-List anpassen + Using g As Graphics = control.CreateGraphics() + Dim valueWidth As Integer = g.MeasureString(row.Item(1).ToString(), control.Font).Width + If valueWidth + 30 > FinalWidth Then + FinalWidth = valueWidth + 30 + End If + g.Dispose() + End Using + Next + + If FinalWidth > WIDEST_WIDTH Then + control.DropDownWidth = Math.Max(FinalWidth, control.Width) + End If + End Sub + + End Class + + Public Class CheckedListBox : Inherits _ListControl + + Public Shared Sub LoadValue(control As DevExpress.XtraEditors.CheckedListBoxControl, value As String) + + For Each item As String In control.Items + + Dim pos = control.FindStringExact(value) + control.SetItemCheckState(pos, CheckState.Checked) + + Next + + End Sub + + Public Shared Sub LoadList(control As DevExpress.XtraEditors.CheckedListBoxControl, formId As Integer, recordId As Integer, parentRecordId As Integer) + Try + Dim dynamic As DynamicValue = _GetDynamicValue(control.Tag, formId, recordId, parentRecordId) + + If dynamic.StaticList IsNot Nothing Then + control.DataSource = dynamic.StaticList + + 'For Each item As String In dynamic.StaticList + ' Dim pos = control.FindStringExact(item) + ' control.SetItemCheckState(pos, CheckState.Checked) + 'Next + End If + + If dynamic.DataTable IsNot Nothing AndAlso dynamic.DataTable.Rows.Count > 0 Then + Dim dt As DataTable = dynamic.DataTable + + control.DataSource = dt + If dt.Columns.Count = 1 Then + control.DisplayMember = dt.Columns(0).ColumnName + control.ValueMember = dt.Columns(0).ColumnName + ElseIf dt.Columns.Count = 2 Then + control.DisplayMember = dt.Columns(1).ColumnName + control.ValueMember = dt.Columns(0).ColumnName + End If + End If + + Catch ex As Exception + MsgBox("Error in CheckedListBox.LoadList:" & vbNewLine & ex.Message) + End Try + End Sub + + End Class + + Public Class ListBox : Inherits _ListControl + + Public Shared Sub LoadValue(control As DevExpress.XtraEditors.ListBoxControl, value As String) + control.SelectedIndex = control.FindStringExact(value) + End Sub + + Public Shared Sub LoadList(control As DevExpress.XtraEditors.ListBoxControl, formId As Integer, recordId As Integer, parentRecordId As Integer) + Dim dynamic As DynamicValue = _GetDynamicValue(control.Tag, formId, recordId, parentRecordId) + + If dynamic.StaticList IsNot Nothing Then + control.DataSource = dynamic.StaticList + End If + + If dynamic.DataTable IsNot Nothing AndAlso dynamic.DataTable.Rows.Count > 0 Then + Dim dt As DataTable = dynamic.DataTable + + control.DataSource = dt + If dt.Columns.Count = 1 Then + control.DisplayMember = dt.Columns(0).ColumnName + control.ValueMember = dt.Columns(0).ColumnName + ElseIf dt.Columns.Count = 2 Then + control.DisplayMember = dt.Columns(1).ColumnName + control.ValueMember = dt.Columns(0).ColumnName + End If + End If + End Sub + + End Class + +End Namespace diff --git a/app/DD-Record-Organiser/ClassControlValues.vb b/app/DD-Record-Organiser/ClassControlValues.vb index 92daf3f..15c5abc 100644 --- a/app/DD-Record-Organiser/ClassControlValues.vb +++ b/app/DD-Record-Organiser/ClassControlValues.vb @@ -142,103 +142,100 @@ Public Class ClassControlValues #Region "#### ClassControlValues REWRITE ####" Public Shared Sub LoadControlValuesNeu(RecordId As Integer, FormId As Integer, controls As Control.ControlCollection) - - ClearControlValues(controls) Try - ' Dim SQL As String = String.Format("SELECT * FROM VWPMO_VALUES WHERE VALUE <> '' AND RECORD_ID = {0}", RecordId) - ' Dim DT_ControlValues As DataTable = ClassDatabase.Return_Datatable(SQL, "LoadControlValues") + Dim SQL As String = String.Format("SELECT * FROM VWPMO_VALUES WHERE VALUE <> '' AND RECORD_ID = {0}", RecordId) + Dim DT_ControlValues As DataTable = ClassDatabase.Return_Datatable(SQL, "LoadControlValues") If controls.Count = 0 Then ClassLogger.Add("the control-Collection in LoadControlValuesNeu is empty!", True) End If For Each control As Control In controls Dim ControlId As Integer = CInt(control.Tag) - Dim SQL1 As String = String.Format("SELECT VALUE FROM VWPMO_VALUES WHERE CONTROL_ID = {0} AND VALUE <> '' AND RECORD_ID = {1}", ControlId, RecordId) - Dim value = ClassDatabase.Execute_Scalar(SQL1) + 'Dim SQL1 As String = String.Format("SELECT VALUE FROM VWPMO_VALUES WHERE CONTROL_ID = {0} AND VALUE <> '' AND RECORD_ID = {1}", ControlId, RecordId) + 'Dim value = ClassDatabase.Execute_Scalar(SQL1) - '' Wert per LINQ aus DT_ControlValues suchen der zur aktuellen controlId passt - 'Dim value = (From row In DT_ControlValues.AsEnumerable() - ' Where row.Item("CONTROL_ID") = ControlId - ' Select row.Item("VALUE")).SingleOrDefault() + ' Wert per LINQ aus DT_ControlValues suchen der zur aktuellen controlId passt + Dim value = (From row In DT_ControlValues.AsEnumerable() + Where row.Item("CONTROL_ID") = ControlId + Select row.Item("VALUE")).SingleOrDefault() - If Not IsNothing(value) Then - ' Continue For - If TypeOf control Is GroupBox Then - Dim groupbox As GroupBox = DirectCast(control, GroupBox) - LoadControlValuesNeu(RecordId, FormId, groupbox.Controls) - Else - LoadControlValueNeu(RecordId, ControlId, control, value) - End If + If TypeOf control Is GroupBox Then + Dim groupbox As GroupBox = DirectCast(control, GroupBox) + LoadControlValuesNeu(RecordId, FormId, groupbox.Controls) Else - If TypeOf control Is DevExpress.XtraEditors.CheckedListBoxControl Then - If LogErrorsOnly = False Then ClassLogger.Add(">> control DevExpress.XtraEditors.CheckedListBoxControl", False) - Dim chklbx As DevExpress.XtraEditors.CheckedListBoxControl - chklbx = DirectCast(control, DevExpress.XtraEditors.CheckedListBoxControl) - - Dim chklbSql As String = "SELECT SQL_COMMAND_1 FROM TBPMO_CONTROL WHERE GUID = " & ControlId - ' chklbSql = ClassDatabase.Execute_Scalar(chklbSql) - ' If Not (chklbSql Is Nothing Or chklbSql = String.Empty) Then - ' If chklbSql.ToString.Contains("@") Then - ' chklbSql = chklbSql.ToString.Replace("@RECORDID", CURRENT_RECORD_ID) - ' chklbSql = chklbSql.ToString.Replace("@RECORD_ID", CURRENT_RECORD_ID) - ' chklbSql = chklbSql.ToString.Replace("@PARENTRECORD_ID", CURRENT_PARENTID) - ' If LogErrorsOnly = False Then ClassLogger.Add(">> SQL CheckedListBox: " & chklbSql, False) - ' 'SQL-Command vorhanden also Ausführen des SQL - ' Dim DT_ListBox As DataTable = ClassDatabase.Return_Datatable(chklbSql, "LoadControlValues: CheckedListBox") - ' If DT_ListBox Is Nothing = False Then - ' chklbx.DataSource = DT_ListBox - ' Select Case DT_ListBox.Columns.Count - ' Case 2 - ' chklbx.DisplayMember = DT_ListBox.Columns(1).ColumnName - ' chklbx.ValueMember = DT_ListBox.Columns(0).ColumnName - ' Case 1 - ' chklbx.DisplayMember = DT_ListBox.Columns(0).ColumnName - ' chklbx.ValueMember = DT_ListBox.Columns(0).ColumnName - ' End Select - - ' End If - ' End If - - ' ElseIf (chklbSql = String.Empty) Then - ' ' Wenn keine SQL Command ein leerer String ist, - ' ' lade das Control ohne Datenbank, da es wahrscheinlich eine Static List ist - ' chklbSql = "SELECT VALUE FROM VWPMO_VALUES WHERE CONTROL_ID = " & CONTROL_ID & " AND RECORD_ID = " & RecordID - ' Dim result As String = ClassDatabase.Execute_Scalar(chklbSql) - - ' If Not IsNothing(result) Then - ' If result.ToString <> String.Empty Then - ' Dim entries() As String = result.Split(";") - ' For Each entry As String In entries - ' Dim position = chklbx.FindStringExact(entry) - ' chklbx.SetItemCheckState(position, CheckState.Checked) - ' Next - ' End If - ' End If - - ' Continue For - ' Else - ' If LogErrorsOnly = False Then ClassLogger.Add(">> chklbSql is nothing", False) - ' End If - - ' chklbx.UnCheckAll() - ' 'Recorddatensätze durchlaufen und überprüfen ob angehakt?? - ' Dim index As Integer = 0 - ' For i As Integer = 0 To chklbx.ItemCount - 1 - ' Dim item = chklbx.GetItem(i) - ' Dim row As DataRowView = CType(item, DataRowView) - ' If CInt(row(0)) > 0 Then - ' 'Überprüfen ob es den Record gibt - ' Dim SQL = "SELECT COUNT(*) FROM TBPMO_RECORD_CONNECT WHERE RECORD1_ID = " & CURRENT_RECORD_ID & " AND RECORD2_ID = " & CInt(row(0)) - ' If ClassDatabase.Execute_Scalar(SQL) = 1 Then - ' chklbx.SetItemChecked(i, True) - ' End If - ' End If - - ' Next - ElseIf TypeOf control Is Label Then - LoadControlValueNeu(RecordId, ControlId, control, value) - End If + LoadControlValueNeu(RecordId, ControlId, control, value) End If + 'If Not IsNothing(value) Then + ' ' Continue For + ' If TypeOf control Is GroupBox Then + ' Dim groupbox As GroupBox = DirectCast(control, GroupBox) + ' LoadControlValuesNeu(RecordId, FormId, groupbox.Controls) + ' Else + ' LoadControlValueNeu(RecordId, ControlId, control, value) + ' End If + 'Else + ' If TypeOf control Is DevExpress.XtraEditors.CheckedListBoxControl Then + ' If LogErrorsOnly = False Then ClassLogger.Add(">> control DevExpress.XtraEditors.CheckedListBoxControl", False) + ' Dim chklbx As DevExpress.XtraEditors.CheckedListBoxControl + ' chklbx = DirectCast(control, DevExpress.XtraEditors.CheckedListBoxControl) + ' Dim chklbSql As String = "SELECT SQL_COMMAND_1 FROM TBPMO_CONTROL WHERE GUID = " & ControlId + ' ' chklbSql = ClassDatabase.Execute_Scalar(chklbSql) + ' ' If Not (chklbSql Is Nothing Or chklbSql = String.Empty) Then + ' ' If chklbSql.ToString.Contains("@") Then + ' ' chklbSql = chklbSql.ToString.Replace("@RECORDID", CURRENT_RECORD_ID) + ' ' chklbSql = chklbSql.ToString.Replace("@RECORD_ID", CURRENT_RECORD_ID) + ' ' chklbSql = chklbSql.ToString.Replace("@PARENTRECORD_ID", CURRENT_PARENTID) + ' ' If LogErrorsOnly = False Then ClassLogger.Add(">> SQL CheckedListBox: " & chklbSql, False) + ' ' 'SQL-Command vorhanden also Ausführen des SQL + ' ' Dim DT_ListBox As DataTable = ClassDatabase.Return_Datatable(chklbSql, "LoadControlValues: CheckedListBox") + ' ' If DT_ListBox Is Nothing = False Then + ' ' chklbx.DataSource = DT_ListBox + ' ' Select Case DT_ListBox.Columns.Count + ' ' Case 2 + ' ' chklbx.DisplayMember = DT_ListBox.Columns(1).ColumnName + ' ' chklbx.ValueMember = DT_ListBox.Columns(0).ColumnName + ' ' Case 1 + ' ' chklbx.DisplayMember = DT_ListBox.Columns(0).ColumnName + ' ' chklbx.ValueMember = DT_ListBox.Columns(0).ColumnName + ' ' End Select + ' ' End If + ' ' End If + ' ' ElseIf (chklbSql = String.Empty) Then + ' ' ' Wenn keine SQL Command ein leerer String ist, + ' ' ' lade das Control ohne Datenbank, da es wahrscheinlich eine Static List ist + ' ' chklbSql = "SELECT VALUE FROM VWPMO_VALUES WHERE CONTROL_ID = " & CONTROL_ID & " AND RECORD_ID = " & RecordID + ' ' Dim result As String = ClassDatabase.Execute_Scalar(chklbSql) + ' ' If Not IsNothing(result) Then + ' ' If result.ToString <> String.Empty Then + ' ' Dim entries() As String = result.Split(";") + ' ' For Each entry As String In entries + ' ' Dim position = chklbx.FindStringExact(entry) + ' ' chklbx.SetItemCheckState(position, CheckState.Checked) + ' ' Next + ' ' End If + ' ' End If + ' ' Continue For + ' ' Else + ' ' If LogErrorsOnly = False Then ClassLogger.Add(">> chklbSql is nothing", False) + ' ' End If + ' ' chklbx.UnCheckAll() + ' ' 'Recorddatensätze durchlaufen und überprüfen ob angehakt?? + ' ' Dim index As Integer = 0 + ' ' For i As Integer = 0 To chklbx.ItemCount - 1 + ' ' Dim item = chklbx.GetItem(i) + ' ' Dim row As DataRowView = CType(item, DataRowView) + ' ' If CInt(row(0)) > 0 Then + ' ' 'Überprüfen ob es den Record gibt + ' ' Dim SQL = "SELECT COUNT(*) FROM TBPMO_RECORD_CONNECT WHERE RECORD1_ID = " & CURRENT_RECORD_ID & " AND RECORD2_ID = " & CInt(row(0)) + ' ' If ClassDatabase.Execute_Scalar(SQL) = 1 Then + ' ' chklbx.SetItemChecked(i, True) + ' ' End If + ' ' End If + ' ' Next + ' ElseIf TypeOf control Is Label Then + ' LoadControlValueNeu(RecordId, ControlId, control, value) + ' End If + 'End If Next @@ -253,55 +250,100 @@ Public Class ClassControlValues Select Case control.GetType() Case GetType(TextBox) Dim textbox As TextBox = DirectCast(control, TextBox) - textbox.Text = value + ControlLoader.TextBox.LoadValue(textbox, value) + Case GetType(Label) Dim label As Label = DirectCast(control, Label) - Dim autoValue As String = LoadControlAutoValue(controlId, recordId, control) + ControlLoader.Label.LoadValue(label, value) - If IsNothing(autoValue) Then - label.Text = value - Else - label.Text = autoValue - End If Case GetType(ComboBox) Dim combobox As ComboBox = DirectCast(control, ComboBox) - combobox.Text = value + ControlLoader.Combobox.LoadValue(combobox, value) + Case GetType(CheckBox) Dim checkbox As CheckBox = DirectCast(control, CheckBox) - checkbox.Checked = Boolean.Parse(value) + ControlLoader.Checkbox.LoadValue(checkbox, value) + Case GetType(RadioButton) Dim radiobutton As RadioButton = DirectCast(control, RadioButton) - radiobutton.Checked = Boolean.Parse(value) + ControlLoader.RadioButton.LoadValue(radiobutton, value) + Case GetType(DevExpress.XtraEditors.DateEdit) Dim datepicker As DevExpress.XtraEditors.DateEdit = DirectCast(control, DevExpress.XtraEditors.DateEdit) - If value = String.Empty Or value = "00:00:00" Then - datepicker.DateTime = DateTime.MinValue - Else - datepicker.DateTime = DateTime.Parse(value) - End If + ControlLoader.DateTimePicker.LoadValue(datepicker, value) + Case GetType(DevExpress.XtraEditors.ListBoxControl) Dim listbox As DevExpress.XtraEditors.ListBoxControl = DirectCast(control, DevExpress.XtraEditors.ListBoxControl) - listbox.SelectedIndex = listbox.FindStringExact(value) - Case GetType(PictureBox) - LoadImage(recordId, controlId, control) + ControlLoader.ListBox.LoadValue(listbox, value) + Case GetType(DevExpress.XtraEditors.CheckedListBoxControl) - Dim chklbx As DevExpress.XtraEditors.CheckedListBoxControl - chklbx = DirectCast(control, DevExpress.XtraEditors.CheckedListBoxControl) - If Not IsNothing(value) Then - If value.ToString <> String.Empty Then - Dim entries() As String = value.Split(";") - For Each entry As String In entries - Dim position = chklbx.FindStringExact(entry) - chklbx.SetItemCheckState(position, CheckState.Checked) - Next - End If - End If + Dim checkedlistbox As DevExpress.XtraEditors.CheckedListBoxControl = DirectCast(control, DevExpress.XtraEditors.CheckedListBoxControl) + ControlLoader.CheckedListBox.LoadValue(checkedlistbox, value) + + Case GetType(PictureBox) + Dim picturebox = DirectCast(control, PictureBox) + LoadImage(recordId, controlId, picturebox) + Case Else - If LogErrorsOnly = False Then ClassLogger.Add(">> Sub LoadControlValueNeu - Control-Type is not being worked: " & GetType(Control).ToString(), False) + If LogErrorsOnly = False Then ClassLogger.Add(">> Sub LoadControlValue - Control-Type nicht berücksichtigt: " & GetType(Control).ToString(), False) End Select Catch ex As Exception - MsgBox("Error in LoadControlValueNeu:" & vbNewLine & ex.Message) + MsgBox("Error in LoadControlValue:" & vbNewLine & ex.Message) End Try + + 'Try + ' Select Case control.GetType() + ' Case GetType(TextBox) + ' Dim textbox As TextBox = DirectCast(control, TextBox) + ' textbox.Text = value + ' Case GetType(Label) + ' Dim label As Label = DirectCast(control, Label) + ' Dim autoValue As String = LoadControlAutoValue(controlId, recordId, control) + + ' If IsNothing(autoValue) Then + ' label.Text = value + ' Else + ' label.Text = autoValue + ' End If + ' Case GetType(ComboBox) + ' Dim combobox As ComboBox = DirectCast(control, ComboBox) + ' combobox.Text = value + ' Case GetType(CheckBox) + ' Dim checkbox As CheckBox = DirectCast(control, CheckBox) + ' checkbox.Checked = Boolean.Parse(value) + ' Case GetType(RadioButton) + ' Dim radiobutton As RadioButton = DirectCast(control, RadioButton) + ' radiobutton.Checked = Boolean.Parse(value) + ' Case GetType(DevExpress.XtraEditors.DateEdit) + ' Dim datepicker As DevExpress.XtraEditors.DateEdit = DirectCast(control, DevExpress.XtraEditors.DateEdit) + ' If value = String.Empty Or value = "00:00:00" Then + ' datepicker.DateTime = DateTime.MinValue + ' Else + ' datepicker.DateTime = DateTime.Parse(value) + ' End If + ' Case GetType(DevExpress.XtraEditors.ListBoxControl) + ' Dim listbox As DevExpress.XtraEditors.ListBoxControl = DirectCast(control, DevExpress.XtraEditors.ListBoxControl) + ' listbox.SelectedIndex = listbox.FindStringExact(value) + ' Case GetType(PictureBox) + ' LoadImage(recordId, controlId, control) + ' Case GetType(DevExpress.XtraEditors.CheckedListBoxControl) + ' Dim chklbx As DevExpress.XtraEditors.CheckedListBoxControl + ' chklbx = DirectCast(control, DevExpress.XtraEditors.CheckedListBoxControl) + ' If Not IsNothing(value) Then + ' If value.ToString <> String.Empty Then + ' Dim entries() As String = value.Split(";") + ' For Each entry As String In entries + ' Dim position = chklbx.FindStringExact(entry) + ' chklbx.SetItemCheckState(position, CheckState.Checked) + ' Next + ' End If + ' End If + ' Case Else + ' If LogErrorsOnly = False Then ClassLogger.Add(">> Sub LoadControlValueNeu - Control-Type is not being worked: " & GetType(Control).ToString(), False) + ' End Select + 'Catch ex As Exception + ' MsgBox("Error in LoadControlValueNeu:" & vbNewLine & ex.Message) + 'End Try End Sub 'Private Shared Function CheckForStaticList(controlId As Integer, recordId As Integer) diff --git a/app/DD-Record-Organiser/DD-Record-Organiser.vbproj b/app/DD-Record-Organiser/DD-Record-Organiser.vbproj index 8e5bc45..a1216d5 100644 --- a/app/DD-Record-Organiser/DD-Record-Organiser.vbproj +++ b/app/DD-Record-Organiser/DD-Record-Organiser.vbproj @@ -241,6 +241,7 @@ + diff --git a/app/DD-Record-Organiser/frmForm_Constructor_Main_2.Designer.vb b/app/DD-Record-Organiser/frmForm_Constructor_Main_2.Designer.vb index 8d6a5b1..712a1cf 100644 --- a/app/DD-Record-Organiser/frmForm_Constructor_Main_2.Designer.vb +++ b/app/DD-Record-Organiser/frmForm_Constructor_Main_2.Designer.vb @@ -205,7 +205,7 @@ Partial Class frmForm_Constructor_Main_2 Me.GridControlMain.Location = New System.Drawing.Point(0, 0) Me.GridControlMain.MainView = Me.grvwTiles Me.GridControlMain.Name = "GridControlMain" - Me.GridControlMain.Size = New System.Drawing.Size(795, 270) + Me.GridControlMain.Size = New System.Drawing.Size(788, 270) Me.GridControlMain.TabIndex = 0 Me.GridControlMain.ViewCollection.AddRange(New DevExpress.XtraGrid.Views.Base.BaseView() {Me.grvwCarousel, Me.grvwTiles, Me.grvwGrid}) ' @@ -460,7 +460,7 @@ Partial Class frmForm_Constructor_Main_2 Me.SplitContainerBottom.Panel1.Text = "Panel1" Me.SplitContainerBottom.Panel2.Controls.Add(Me.Panel2) Me.SplitContainerBottom.Panel2.Text = "Panel2" - Me.SplitContainerBottom.Size = New System.Drawing.Size(1083, 372) + Me.SplitContainerBottom.Size = New System.Drawing.Size(1083, 365) Me.SplitContainerBottom.SplitterPosition = 576 Me.SplitContainerBottom.TabIndex = 0 Me.SplitContainerBottom.Text = "SplitContainerControl1" @@ -476,7 +476,7 @@ Partial Class frmForm_Constructor_Main_2 Me.TCDetails.Location = New System.Drawing.Point(0, 25) Me.TCDetails.Name = "TCDetails" Me.TCDetails.SelectedTabPage = Me.TabDetails - Me.TCDetails.Size = New System.Drawing.Size(1078, 347) + Me.TCDetails.Size = New System.Drawing.Size(1071, 340) Me.TCDetails.TabIndex = 1 Me.TCDetails.TabPages.AddRange(New DevExpress.XtraTab.XtraTabPage() {Me.TabDetails, Me.TabWindream, Me.TabFollowUp, Me.TabPos}) ' @@ -485,7 +485,7 @@ Partial Class frmForm_Constructor_Main_2 Me.TabDetails.Controls.Add(Me.pnlDetails) Me.TabDetails.Image = Global.DD_Record_Organiser.My.Resources.Resources.grid_Data_16xMD Me.TabDetails.Name = "TabDetails" - Me.TabDetails.Size = New System.Drawing.Size(1072, 316) + Me.TabDetails.Size = New System.Drawing.Size(1069, 312) Me.TabDetails.Text = "Detailansicht" ' 'pnlDetails @@ -494,7 +494,7 @@ Partial Class frmForm_Constructor_Main_2 Me.pnlDetails.Dock = System.Windows.Forms.DockStyle.Fill Me.pnlDetails.Location = New System.Drawing.Point(0, 0) Me.pnlDetails.Name = "pnlDetails" - Me.pnlDetails.Size = New System.Drawing.Size(1072, 316) + Me.pnlDetails.Size = New System.Drawing.Size(1069, 312) Me.pnlDetails.TabIndex = 0 ' 'TabWindream @@ -503,7 +503,7 @@ Partial Class frmForm_Constructor_Main_2 Me.TabWindream.Controls.Add(Me.ToolStripDokumente) Me.TabWindream.Image = Global.DD_Record_Organiser.My.Resources.Resources.Files_7954 Me.TabWindream.Name = "TabWindream" - Me.TabWindream.Size = New System.Drawing.Size(1072, 316) + Me.TabWindream.Size = New System.Drawing.Size(1069, 312) Me.TabWindream.Text = "windream-Dateien" ' 'AxObjectListControl @@ -514,7 +514,7 @@ Partial Class frmForm_Constructor_Main_2 Me.AxObjectListControl.Location = New System.Drawing.Point(0, 25) Me.AxObjectListControl.Name = "AxObjectListControl" Me.AxObjectListControl.OcxState = CType(resources.GetObject("AxObjectListControl.OcxState"), System.Windows.Forms.AxHost.State) - Me.AxObjectListControl.Size = New System.Drawing.Size(1072, 291) + Me.AxObjectListControl.Size = New System.Drawing.Size(1069, 287) Me.AxObjectListControl.TabIndex = 6 Me.AxObjectListControl.TabStop = False ' @@ -524,7 +524,7 @@ Partial Class frmForm_Constructor_Main_2 Me.ToolStripDokumente.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.tslblWindreamView, Me.ToolStripDropDownButton2}) Me.ToolStripDokumente.Location = New System.Drawing.Point(0, 0) Me.ToolStripDokumente.Name = "ToolStripDokumente" - Me.ToolStripDokumente.Size = New System.Drawing.Size(1072, 25) + Me.ToolStripDokumente.Size = New System.Drawing.Size(1069, 25) Me.ToolStripDokumente.TabIndex = 2 Me.ToolStripDokumente.Text = "ToolStrip2" ' @@ -558,7 +558,7 @@ Partial Class frmForm_Constructor_Main_2 Me.TabFollowUp.Controls.Add(Me.Label5) Me.TabFollowUp.Image = Global.DD_Record_Organiser.My.Resources.Resources.Task_16xMD Me.TabFollowUp.Name = "TabFollowUp" - Me.TabFollowUp.Size = New System.Drawing.Size(1072, 316) + Me.TabFollowUp.Size = New System.Drawing.Size(1069, 312) Me.TabFollowUp.Text = "Wiedervorlage" ' 'ListViewFollowUps @@ -737,7 +737,7 @@ Partial Class frmForm_Constructor_Main_2 Me.TabPos.Image = CType(resources.GetObject("TabPos.Image"), System.Drawing.Image) Me.TabPos.Name = "TabPos" Me.TabPos.PageVisible = False - Me.TabPos.Size = New System.Drawing.Size(1072, 316) + Me.TabPos.Size = New System.Drawing.Size(1069, 312) Me.TabPos.Text = "Positionen" ' 'Panel1 @@ -746,7 +746,7 @@ Partial Class frmForm_Constructor_Main_2 Me.Panel1.Dock = System.Windows.Forms.DockStyle.Fill Me.Panel1.Location = New System.Drawing.Point(0, 25) Me.Panel1.Name = "Panel1" - Me.Panel1.Size = New System.Drawing.Size(1072, 291) + Me.Panel1.Size = New System.Drawing.Size(1069, 287) Me.Panel1.TabIndex = 2 ' 'GridControlPos @@ -755,7 +755,7 @@ Partial Class frmForm_Constructor_Main_2 Me.GridControlPos.Location = New System.Drawing.Point(0, 0) Me.GridControlPos.MainView = Me.grvwGridPos Me.GridControlPos.Name = "GridControlPos" - Me.GridControlPos.Size = New System.Drawing.Size(1072, 291) + Me.GridControlPos.Size = New System.Drawing.Size(1069, 287) Me.GridControlPos.TabIndex = 0 Me.GridControlPos.ViewCollection.AddRange(New DevExpress.XtraGrid.Views.Base.BaseView() {Me.grvwGridPos}) ' @@ -782,7 +782,7 @@ Partial Class frmForm_Constructor_Main_2 Me.BindingNavigatorPOS.MovePreviousItem = Me.BindingNavigatorMovePreviousItem Me.BindingNavigatorPOS.Name = "BindingNavigatorPOS" Me.BindingNavigatorPOS.PositionItem = Me.BindingNavigatorPositionItem - Me.BindingNavigatorPOS.Size = New System.Drawing.Size(1072, 25) + Me.BindingNavigatorPOS.Size = New System.Drawing.Size(1069, 25) Me.BindingNavigatorPOS.TabIndex = 1 Me.BindingNavigatorPOS.Text = "BindingNavigator1" ' @@ -877,7 +877,7 @@ Partial Class frmForm_Constructor_Main_2 Me.ToolStripEdit.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.tsButtonAdd, Me.tsButtonSave, Me.tsButtonDelete, Me.tsButtonEditMode, Me.ToolStripDropDownButton1, Me.tsButtonShowTaskOverview, Me.tsButtonShowWorkflowTasks}) Me.ToolStripEdit.Location = New System.Drawing.Point(0, 0) Me.ToolStripEdit.Name = "ToolStripEdit" - Me.ToolStripEdit.Size = New System.Drawing.Size(1078, 25) + Me.ToolStripEdit.Size = New System.Drawing.Size(1071, 25) Me.ToolStripEdit.TabIndex = 0 Me.ToolStripEdit.Text = "ToolStrip1" '