diff --git a/app/DD-Record-Organiser/ClassControlBuilder.vb b/app/DD-Record-Organiser/ClassControlBuilder.vb index d56501c..9bf0466 100644 --- a/app/DD-Record-Organiser/ClassControlBuilder.vb +++ b/app/DD-Record-Organiser/ClassControlBuilder.vb @@ -81,45 +81,89 @@ Public Class ClassControlBuilder Public Sub OnComboBoxValueChanged(sender As Object, ByVal e As EventArgs) Try - Dim control As ComboBox = DirectCast(sender, ComboBox) + Dim control As Control = DirectCast(sender, Control) Dim controlId As Integer = DirectCast(control.Tag, ClassControlMetadata).Id Dim SQL As String = String.Format("SELECT GUID, SQL_COMMAND_1 FROM TBPMO_CONTROL WHERE SQL_COMMAND_1 LIKE '%@{0}@%'", controlId) - Dim value As String = control.SelectedValue + Dim value + + Select Case control.GetType() + Case GetType(ComboBox) + value = DirectCast(control, ComboBox).SelectedValue + Case Else + Exit Sub + End Select + + If String.IsNullOrEmpty(value) Then + Exit Sub + End If + Dim datatable As DataTable = ClassDatabase.Return_Datatable(SQL) If datatable.Rows.Count = 0 Then Exit Sub End If - Dim sqlcommand As String = datatable.Rows(0).Item("SQL_COMMAND_1") + For Each row As DataRow In datatable.Rows + Dim sqlcommand As String = row.Item("SQL_COMMAND_1") - If IsNothing(sqlcommand) Then - Exit Sub - End If + If IsNothing(sqlcommand) Then + Continue For + End If - If String.IsNullOrEmpty(value) Then - Exit Sub - End If + Dim regex As New System.Text.RegularExpressions.Regex("(@(\d+)@)") + Dim match As System.Text.RegularExpressions.Match = regex.Match(sqlcommand) + + If match.Success Then + ' DependingControlId bezeichnet das Control, das die Abhängigkeit enthält + Dim dependingControlId As Integer = row.Item("GUID") + Dim panel As Panel = DirectCast(control.Parent, Panel) + ' Über die Id das Control finden + Dim dependingControl As Control = panel.Controls.OfType(Of Control)().Where(Function(c As Control) + Return DirectCast(c.Tag, ClassControlMetadata).Id = dependingControlId + End Function).SingleOrDefault() + + sqlcommand = sqlcommand.Replace(match.Groups(1).Value, value) + Console.WriteLine("Executing SQL_COMMAND: {0} for controlID {1}", sqlcommand, dependingControlId) + Dim dt As DataTable = ClassDatabase.Return_Datatable(sqlcommand) + + Select Case control.GetType() + Case GetType(ComboBox) + ControlLoader.Combobox.SetDataSource(DirectCast(dependingControl, ComboBox), dt) + End Select + + + End If + Next + + 'Dim sqlcommand As String = datatable.Rows(0).Item("SQL_COMMAND_1") + + 'If IsNothing(sqlcommand) Then + ' Exit Sub + 'End If + + 'If String.IsNullOrEmpty(value) Then + ' Exit Sub + 'End If - Dim regex As New System.Text.RegularExpressions.Regex("(@(\d+)@)") - Dim match As System.Text.RegularExpressions.Match = regex.Match(sqlcommand) + 'Dim regex As New System.Text.RegularExpressions.Regex("(@(\d+)@)") + 'Dim match As System.Text.RegularExpressions.Match = regex.Match(sqlcommand) - If match.Success Then - ' DependingControlId bezeichnet das Control, das die Abhängigkeit enthält - Dim dependingControlId As Integer = datatable.Rows(0).Item("GUID") - Dim panel As Panel = DirectCast(control.Parent, Panel) - ' Über die Id das Control finden - Dim dependingControl As ComboBox = Panel.Controls.OfType(Of ComboBox)().Where(Function(c As ComboBox) - Return DirectCast(c.Tag, ClassControlMetadata).Id = dependingControlId - End Function).SingleOrDefault() + 'If match.Success Then + ' ' DependingControlId bezeichnet das Control, das die Abhängigkeit enthält + ' Dim dependingControlId As Integer = datatable.Rows(0).Item("GUID") + ' Dim panel As Panel = DirectCast(control.Parent, Panel) + ' ' Über die Id das Control finden + ' Dim dependingControl As ComboBox = panel.Controls.OfType(Of ComboBox)().Where(Function(c As ComboBox) + ' Return DirectCast(c.Tag, ClassControlMetadata).Id = dependingControlId + ' End Function).SingleOrDefault() - sqlcommand = sqlcommand.Replace(match.Groups(1).Value, value) - Console.WriteLine("Executing SQL_COMMAND: {0}", sqlcommand) - Dim dt As DataTable = ClassDatabase.Return_Datatable(sqlcommand) - ControlLoader.Combobox.SetDataSource(dependingControl, dt) - End If + ' sqlcommand = sqlcommand.Replace(match.Groups(1).Value, value) + ' Console.WriteLine("Executing SQL_COMMAND: {0}", sqlcommand) + ' Dim dt As DataTable = ClassDatabase.Return_Datatable(sqlcommand) + ' ControlLoader.Combobox.SetDataSource(dependingControl, dt) + 'End If Console.WriteLine("value changed") Catch ex As Exception diff --git a/app/DD-Record-Organiser/ClassControlProperties.vb b/app/DD-Record-Organiser/ClassControlProperties.vb index 9889890..0fa1460 100644 --- a/app/DD-Record-Organiser/ClassControlProperties.vb +++ b/app/DD-Record-Organiser/ClassControlProperties.vb @@ -230,7 +230,7 @@ Module ClassControlProperties - + Public Overloads Property ColumnTitle() As String Get Return "" diff --git a/app/DD-Record-Organiser/Strings/ControlProperties.Designer.vb b/app/DD-Record-Organiser/Strings/ControlProperties.Designer.vb index 0e0a654..0fdf080 100644 --- a/app/DD-Record-Organiser/Strings/ControlProperties.Designer.vb +++ b/app/DD-Record-Organiser/Strings/ControlProperties.Designer.vb @@ -72,7 +72,7 @@ Namespace My.Resources Return ResourceManager.GetString("category_appointment", resourceCulture) End Get End Property - + ''' ''' Sucht eine lokalisierte Zeichenfolge, die Daten ähnelt. ''' @@ -81,16 +81,16 @@ Namespace My.Resources Return ResourceManager.GetString("category_data", resourceCulture) End Get End Property - + ''' - ''' Sucht eine lokalisierte Zeichenfolge, die Database Configurations ähnelt. + ''' Sucht eine lokalisierte Zeichenfolge, die Datenbank Einstellungen ähnelt. ''' Friend Shared ReadOnly Property category_database() As String Get Return ResourceManager.GetString("category_database", resourceCulture) End Get End Property - + ''' ''' Sucht eine lokalisierte Zeichenfolge, die Datums Einstellungen ähnelt. ''' @@ -99,16 +99,16 @@ Namespace My.Resources Return ResourceManager.GetString("category_date", resourceCulture) End Get End Property - + ''' - ''' Sucht eine lokalisierte Zeichenfolge, die Font Configurations ähnelt. + ''' Sucht eine lokalisierte Zeichenfolge, die Schrift Einstellungen ähnelt. ''' Friend Shared ReadOnly Property category_font() As String Get Return ResourceManager.GetString("category_font", resourceCulture) End Get End Property - + ''' ''' Sucht eine lokalisierte Zeichenfolge, die Form Einstellungen ähnelt. ''' @@ -117,7 +117,7 @@ Namespace My.Resources Return ResourceManager.GetString("category_form", resourceCulture) End Get End Property - + ''' ''' Sucht eine lokalisierte Zeichenfolge, die ID ähnelt. ''' @@ -126,25 +126,25 @@ Namespace My.Resources Return ResourceManager.GetString("category_id", resourceCulture) End Get End Property - + ''' - ''' Sucht eine lokalisierte Zeichenfolge, die Other Configurations ähnelt. + ''' Sucht eine lokalisierte Zeichenfolge, die Andere Einstellungen ähnelt. ''' Friend Shared ReadOnly Property category_other() As String Get Return ResourceManager.GetString("category_other", resourceCulture) End Get End Property - + ''' - ''' Sucht eine lokalisierte Zeichenfolge, die ViewConfigurations ähnelt. + ''' Sucht eine lokalisierte Zeichenfolge, die Ansichts Einstellungen ähnelt. ''' Friend Shared ReadOnly Property category_view() As String Get Return ResourceManager.GetString("category_view", resourceCulture) End Get End Property - + ''' ''' Sucht eine lokalisierte Zeichenfolge, die Gibt die Hintergrundfarbe des Elements an. ähnelt. ''' @@ -153,7 +153,7 @@ Namespace My.Resources Return ResourceManager.GetString("desc_backcolor", resourceCulture) End Get End Property - + ''' ''' Sucht eine lokalisierte Zeichenfolge, die Gibt den Beschreibungstext dieses Elements an. ähnelt. ''' @@ -162,7 +162,7 @@ Namespace My.Resources Return ResourceManager.GetString("desc_caption", resourceCulture) End Get End Property - + ''' ''' Sucht eine lokalisierte Zeichenfolge, die Gibt den Spaltentitel des Elements an. ähnelt. ''' @@ -171,16 +171,7 @@ Namespace My.Resources Return ResourceManager.GetString("desc_col_title", resourceCulture) End Get End Property - - ''' - ''' Sucht eine lokalisierte Zeichenfolge, die Gibt den Spaltentitel des Elements an. ähnelt. - ''' - Friend Shared ReadOnly Property desc_columntitle() As String - Get - Return ResourceManager.GetString("desc_columntitle", resourceCulture) - End Get - End Property - + ''' ''' Sucht eine lokalisierte Zeichenfolge, die Gibt den Standardwert dieses Elements an. ähnelt. ''' @@ -189,7 +180,7 @@ Namespace My.Resources Return ResourceManager.GetString("desc_defaultvalue", resourceCulture) End Get End Property - + ''' ''' Sucht eine lokalisierte Zeichenfolge, die Gibt die Beschreibung des Termins an. Dynamische Werte aus anderen Controls können mit der Syntax [%controlname] eingefügt werden ähnelt. ''' @@ -198,7 +189,7 @@ Namespace My.Resources Return ResourceManager.GetString("desc_description", resourceCulture) End Get End Property - + ''' ''' Sucht eine lokalisierte Zeichenfolge, die Gibt die Schriftfarbe an. ähnelt. ''' @@ -207,7 +198,7 @@ Namespace My.Resources Return ResourceManager.GetString("desc_fontcolor", resourceCulture) End Get End Property - + ''' ''' Sucht eine lokalisierte Zeichenfolge, die Gibt die Schriftart an. ähnelt. ''' @@ -216,7 +207,7 @@ Namespace My.Resources Return ResourceManager.GetString("desc_fontstyle", resourceCulture) End Get End Property - + ''' ''' Sucht eine lokalisierte Zeichenfolge, die Gibt das Format des Textes an. ähnelt. ''' @@ -225,7 +216,7 @@ Namespace My.Resources Return ResourceManager.GetString("desc_format", resourceCulture) End Get End Property - + ''' ''' Sucht eine lokalisierte Zeichenfolge, die Gibt die Form-ID der zu öffnenden Form an. ähnelt. ''' @@ -234,7 +225,7 @@ Namespace My.Resources Return ResourceManager.GetString("desc_formid", resourceCulture) End Get End Property - + ''' ''' Sucht eine lokalisierte Zeichenfolge, die Der Name eines Elements von dem das End-Datum gelesen wird. ähnelt. ''' @@ -243,7 +234,7 @@ Namespace My.Resources Return ResourceManager.GetString("desc_fromdate", resourceCulture) End Get End Property - + ''' ''' Sucht eine lokalisierte Zeichenfolge, die Gibt die eindeutige ID des Elements an. ähnelt. ''' @@ -252,7 +243,7 @@ Namespace My.Resources Return ResourceManager.GetString("desc_id", resourceCulture) End Get End Property - + ''' ''' Sucht eine lokalisierte Zeichenfolge, die Gibt die Position des Elements an. ähnelt. ''' @@ -261,7 +252,7 @@ Namespace My.Resources Return ResourceManager.GetString("desc_location", resourceCulture) End Get End Property - + ''' ''' Sucht eine lokalisierte Zeichenfolge, die Gibt an, ob das Feld mehrzeilig sein soll. ähnelt. ''' @@ -270,7 +261,7 @@ Namespace My.Resources Return ResourceManager.GetString("desc_multiline", resourceCulture) End Get End Property - + ''' ''' Sucht eine lokalisierte Zeichenfolge, die Gibt den internen Namen des Elements an. ähnelt. ''' @@ -279,7 +270,7 @@ Namespace My.Resources Return ResourceManager.GetString("desc_name", resourceCulture) End Get End Property - + ''' ''' Sucht eine lokalisierte Zeichenfolge, die Gibt den Ort des Termins an. Dynamische Werte aus anderen Controls können mit der Syntax [%controlname] eingefügt werden ähnelt. ''' @@ -288,7 +279,7 @@ Namespace My.Resources Return ResourceManager.GetString("desc_place", resourceCulture) End Get End Property - + ''' ''' Sucht eine lokalisierte Zeichenfolge, die Gibt an, ob dieses Element nur lesbar ist. ähnelt. ''' @@ -297,7 +288,7 @@ Namespace My.Resources Return ResourceManager.GetString("desc_readonly", resourceCulture) End Get End Property - + ''' ''' Sucht eine lokalisierte Zeichenfolge, die Gibt an ob dieses Element benötigt wird um die Eingabe abzuschließen. ähnelt. ''' @@ -306,7 +297,7 @@ Namespace My.Resources Return ResourceManager.GetString("desc_required", resourceCulture) End Get End Property - + ''' ''' Sucht eine lokalisierte Zeichenfolge, die Gibt die Screen-ID der zu öffnenden Form an. ähnelt. ''' @@ -315,7 +306,7 @@ Namespace My.Resources Return ResourceManager.GetString("desc_screenid", resourceCulture) End Get End Property - + ''' ''' Sucht eine lokalisierte Zeichenfolge, die Gibt an, ob das Feld als Spalte im Grid angezeigt wird. ähnelt. ''' @@ -324,7 +315,7 @@ Namespace My.Resources Return ResourceManager.GetString("desc_showcolumn", resourceCulture) End Get End Property - + ''' ''' Sucht eine lokalisierte Zeichenfolge, die Gibt die Größe des Elements an ähnelt. ''' @@ -333,7 +324,7 @@ Namespace My.Resources Return ResourceManager.GetString("desc_size", resourceCulture) End Get End Property - + ''' ''' Sucht eine lokalisierte Zeichenfolge, die Gibt die Datenbank-Abfrage für dieses Element an. Es können @RECORD_ID und @FORM_ID als Platzhalter verwendet werden. ähnelt. ''' @@ -342,7 +333,7 @@ Namespace My.Resources Return ResourceManager.GetString("desc_sqlcommand", resourceCulture) End Get End Property - + ''' ''' Sucht eine lokalisierte Zeichenfolge, die Eine Liste von statischen Werten, die durch ';' getrennt sind. Überschreibt die Daten aus 'Datenbank-Einstellungen' ähnelt. ''' @@ -351,7 +342,7 @@ Namespace My.Resources Return ResourceManager.GetString("desc_staticlist", resourceCulture) End Get End Property - + ''' ''' Sucht eine lokalisierte Zeichenfolge, die Gibt den Betreff des Termins an. Dynamische Werte aus anderen Controls können mit der Syntax [%controlname] eingefügt werden ähnelt. ''' @@ -360,7 +351,7 @@ Namespace My.Resources Return ResourceManager.GetString("desc_subject", resourceCulture) End Get End Property - + ''' ''' Sucht eine lokalisierte Zeichenfolge, die Gibt den optionalen zweiten Betreff des Termins an. Dynamische Werte aus anderen Controls können mit der Syntax [%controlname] eingefügt werden ähnelt. ''' @@ -369,7 +360,7 @@ Namespace My.Resources Return ResourceManager.GetString("desc_subject2", resourceCulture) End Get End Property - + ''' ''' Sucht eine lokalisierte Zeichenfolge, die Gibt die Reihenfolge an, in der das Element durch die Tabulatortaste aktiviert wird. ähnelt. ''' @@ -378,7 +369,7 @@ Namespace My.Resources Return ResourceManager.GetString("desc_tabindex", resourceCulture) End Get End Property - + ''' ''' Sucht eine lokalisierte Zeichenfolge, die Gibt an, ob das Element durch die Tabulartortaste aktiviert werden soll. ähnelt. ''' @@ -387,7 +378,7 @@ Namespace My.Resources Return ResourceManager.GetString("desc_tabstop", resourceCulture) End Get End Property - + ''' ''' Sucht eine lokalisierte Zeichenfolge, die Der Name eines Elements von dem das Start-Datum gelesen wird. ähnelt. ''' diff --git a/app/DD-Record-Organiser/Strings/ControlProperties.en.resx b/app/DD-Record-Organiser/Strings/ControlProperties.en.resx index 7f73f90..2d13d09 100644 --- a/app/DD-Record-Organiser/Strings/ControlProperties.en.resx +++ b/app/DD-Record-Organiser/Strings/ControlProperties.en.resx @@ -118,114 +118,111 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - Termin Einstellungen + Scheduler Configuration - Daten + Data - Database Configurations + Database Configuration - Datums Einstellungen + Date Configuration - Font Configurations + Font Configuration - Form Einstellungen + Form Configuration ID - Other Configurations + Other Configuration - ViewConfigurations + View Configuration - Gibt die Hintergrundfarbe des Elements an. + The element's background color. - Gibt den Beschreibungstext dieses Elements an. - - - Gibt den Spaltentitel des Elements an. + The element's caption. - Gibt den Spaltentitel des Elements an. + The element's colum title. - Gibt den Standardwert dieses Elements an. + The element's default value. - Gibt die Beschreibung des Termins an. Dynamische Werte aus anderen Controls können mit der Syntax [%controlname] eingefügt werden + The appointment's description. Dynamic values from other controls can be inserted with the syntax [%controlname]. - Gibt die Schriftfarbe an. + The element's font color. - Gibt die Schriftart an. + The element's font style. - Gibt das Format des Textes an. + The element's number format. - Gibt die Form-ID der zu öffnenden Form an. + The form-ID of the form that will be opened. - Der Name eines Elements von dem das End-Datum gelesen wird. + The appointment's start-date. Dynamic values from other controls can be inserted with the syntax [%controlname]. - Gibt die eindeutige ID des Elements an. + The element's unique identifier. - Gibt die Position des Elements an. + The element's location - Gibt an, ob das Feld mehrzeilig sein soll. + Should the element be a multiline field? - Gibt den internen Namen des Elements an. + The element's internal name - Gibt den Ort des Termins an. Dynamische Werte aus anderen Controls können mit der Syntax [%controlname] eingefügt werden + The appointment's location. Dynamic values from other controls can be inserted with the syntax [%controlname]. - Gibt an, ob dieses Element nur lesbar ist. + Is the element read-only? - Gibt an ob dieses Element benötigt wird um die Eingabe abzuschließen. + Is the element required to be filled to complete the input? - Gibt die Screen-ID der zu öffnenden Form an. + The screen-ID of the form that will be opened. - Gibt an, ob das Feld als Spalte im Grid angezeigt wird. + Should the element be show as a column? - Gibt die Größe des Elements an + The element's size - Gibt die Datenbank-Abfrage für dieses Element an. Es können @RECORD_ID und @FORM_ID als Platzhalter verwendet werden. + Gibt die Datenbank-Abfrage für dieses Element an. Es können @RECORD_ID und @FORM_ID als Platzhalter verwendet werden. The database query for this element. @RECORD_ID and @FORM_ID can be used as placeholders. Dynamic values from other controls can be inserted with the Syntax @controlid@. - Eine Liste von statischen Werten, die durch ';' getrennt sind. Überschreibt die Daten aus 'Datenbank-Einstellungen' + A list of static values seperated by a semicolon (;) - Gibt den Betreff des Termins an. Dynamische Werte aus anderen Controls können mit der Syntax [%controlname] eingefügt werden + The appointment's subject. Dynamic values from other controls can be inserted with the syntax [%controlname]. - Gibt den optionalen zweiten Betreff des Termins an. Dynamische Werte aus anderen Controls können mit der Syntax [%controlname] eingefügt werden + The appointment's optional secondary subject. Dynamic values from other controls can be inserted with the syntax [%controlname]. - Gibt die Reihenfolge an, in der das Element durch die Tabulatortaste aktiviert wird. + The order in which this element should be activated by the tab key. - Gibt an, ob das Element durch die Tabulartortaste aktiviert werden soll. + Should this element be activated by the tab key? - Der Name eines Elements von dem das Start-Datum gelesen wird. + The appointment's end-date. Dynamic values from other controls can be inserted with the syntax [%controlname]. \ No newline at end of file diff --git a/app/DD-Record-Organiser/Strings/ControlProperties.resx b/app/DD-Record-Organiser/Strings/ControlProperties.resx index 7f73f90..55ec142 100644 --- a/app/DD-Record-Organiser/Strings/ControlProperties.resx +++ b/app/DD-Record-Organiser/Strings/ControlProperties.resx @@ -124,13 +124,13 @@ Daten - Database Configurations + Datenbank Einstellungen Datums Einstellungen - Font Configurations + Schrift Einstellungen Form Einstellungen @@ -139,10 +139,10 @@ ID - Other Configurations + Andere Einstellungen - ViewConfigurations + Ansichts Einstellungen Gibt die Hintergrundfarbe des Elements an. @@ -150,9 +150,6 @@ Gibt den Beschreibungstext dieses Elements an. - - Gibt den Spaltentitel des Elements an. - Gibt den Spaltentitel des Elements an.