From 1889d14c7b97e2ebe91255cadccd27a5844d9063 Mon Sep 17 00:00:00 2001 From: JenneJ Date: Wed, 11 Jan 2017 16:31:16 +0100 Subject: [PATCH] jj add select only combobox option --- app/DD-Record-Organiser/ClassControlBuilder.vb | 5 +++++ app/DD-Record-Organiser/ClassControlCommands.vb | 13 ++++++++++--- app/DD-Record-Organiser/ClassControlCommandsUI.vb | 1 + app/DD-Record-Organiser/ClassControlProperties.vb | 12 ++++++++++++ .../Strings/ControlProperties.Designer.vb | 11 ++++++++++- .../Strings/ControlProperties.en.resx | 3 +++ .../Strings/ControlProperties.resx | 3 +++ app/DD-Record-Organiser/frmLevel_Designer.vb | 14 +++++++++++--- 8 files changed, 55 insertions(+), 7 deletions(-) diff --git a/app/DD-Record-Organiser/ClassControlBuilder.vb b/app/DD-Record-Organiser/ClassControlBuilder.vb index 49385f7..3a764d6 100644 --- a/app/DD-Record-Organiser/ClassControlBuilder.vb +++ b/app/DD-Record-Organiser/ClassControlBuilder.vb @@ -1691,6 +1691,7 @@ Public Class ClassControlBuilder vformat As String, _new As Boolean, read_only As Boolean, + select_only As Boolean, required As Boolean, static_list As String, sqlcommand As String, @@ -1723,6 +1724,10 @@ Public Class ClassControlBuilder control.Enabled = Not read_only End If + If (Not _designMode And select_only) Then + control.DropDownStyle = ComboBoxStyle.DropDownList + End If + AddComboHandler(control, vformat) If _new And IsNothing(parent) Then diff --git a/app/DD-Record-Organiser/ClassControlCommands.vb b/app/DD-Record-Organiser/ClassControlCommands.vb index a7cc3df..ac2c954 100644 --- a/app/DD-Record-Organiser/ClassControlCommands.vb +++ b/app/DD-Record-Organiser/ClassControlCommands.vb @@ -204,6 +204,7 @@ Dim NAME As String Dim REQUIRED As Integer Dim READ_ONLY As Integer + Dim SELECT_ONLY As Integer Dim CHANGED_WHO As String = USER_USERNAME Dim COL_NAME As String Dim SQLCommand As String @@ -287,6 +288,12 @@ READ_ONLY = BoolToInt(False) End If + If propExists(properties, "IsSelectOnly") Then + SELECT_ONLY = BoolToInt(properties.IsSelectOnly) + Else + SELECT_ONLY = BoolToInt(False) + End If + If propExists(properties, "SQLCommand") Then Dim value As SQLValue = DirectCast(properties.SQLCommand, SQLValue) SQLCommand = value.Value @@ -329,11 +336,11 @@ SQL = String.Format( "UPDATE TBPMO_CONTROL SET REQUIRED = {0}, READ_ONLY = {1}, SHOW_COLUMN = {2}, FORMAT_TYPE = '{3}', DEFAULT_VALUE = '{4}', " & "NAME = '{5}', SQL_COMMAND_1 = '{6}', CHANGED_WHO = '{7}', COL_NAME = '{8}', MULTILINE = {9}, MASTER_DATA_ID = {10}, " & - "STATIC_LIST = '{11}', SQL_COMMAND_2 = '{12}', VISIBLE = {13}, TREE_VIEW = {14} " & - "WHERE GUID = {15}", + "STATIC_LIST = '{11}', SQL_COMMAND_2 = '{12}', VISIBLE = {13}, TREE_VIEW = {14}, SELECT_ONLY = {15} " & + "WHERE GUID = {16}", REQUIRED, READ_ONLY, SHOW_COLUMN, FORMAT_TYPE, DEFAULTVALUE, NAME, SQLCommand, CHANGED_WHO, COL_NAME, MULTILINE, MASTER_DATA_ID, - STATIC_LIST, EnabledWhen, VISIBLE, TREE_VIEW, + STATIC_LIST, EnabledWhen, VISIBLE, TREE_VIEW, SELECT_ONLY, CURRENT_CONTROL_ID ) diff --git a/app/DD-Record-Organiser/ClassControlCommandsUI.vb b/app/DD-Record-Organiser/ClassControlCommandsUI.vb index 593caf5..988dbf5 100644 --- a/app/DD-Record-Organiser/ClassControlCommandsUI.vb +++ b/app/DD-Record-Organiser/ClassControlCommandsUI.vb @@ -112,6 +112,7 @@ Public Class ClassControlCommandsUI dr.Item("CONTROL_FORMAT_TYPE"), False, dr.Item("CONTROL_READ_ONLY"), + dr.Item("CONTROL_SELECT_ONLY"), dr.Item("CONTROL_REQUIRED"), dr.Item("CONTROL_STATIC_LIST"), dr.Item("CONTROL_SQLCOMMAND_1"), diff --git a/app/DD-Record-Organiser/ClassControlProperties.vb b/app/DD-Record-Organiser/ClassControlProperties.vb index accec14..0007b4c 100644 --- a/app/DD-Record-Organiser/ClassControlProperties.vb +++ b/app/DD-Record-Organiser/ClassControlProperties.vb @@ -348,6 +348,18 @@ Module ClassControlProperties Private _master_data_id As Integer Private _static_list As String Private _format As EnumFormatOptions + Private _select_only As Boolean + + + + Public Property IsSelectOnly() As Boolean + Get + Return _select_only + End Get + Set(value As Boolean) + _select_only = value + End Set + End Property diff --git a/app/DD-Record-Organiser/Strings/ControlProperties.Designer.vb b/app/DD-Record-Organiser/Strings/ControlProperties.Designer.vb index e0f9755..91e20d4 100644 --- a/app/DD-Record-Organiser/Strings/ControlProperties.Designer.vb +++ b/app/DD-Record-Organiser/Strings/ControlProperties.Designer.vb @@ -1,7 +1,7 @@ '------------------------------------------------------------------------------ ' ' Dieser Code wurde von einem Tool generiert. -' Laufzeitversion:4.0.30319.34209 +' Laufzeitversion:4.0.30319.36366 ' ' Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn ' der Code erneut generiert wird. @@ -334,6 +334,15 @@ Namespace My.Resources End Get End Property + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die Gibt an, ob nur vorhandene Listeneinträge ausgewählt werden können ähnelt. + ''' + Friend Shared ReadOnly Property desc_select_only() As String + Get + Return ResourceManager.GetString("desc_select_only", resourceCulture) + End Get + End Property + ''' ''' Sucht eine lokalisierte Zeichenfolge, die Gibt an, ob das Feld als Spalte im Grid angezeigt wird. ähnelt. ''' diff --git a/app/DD-Record-Organiser/Strings/ControlProperties.en.resx b/app/DD-Record-Organiser/Strings/ControlProperties.en.resx index 9c49192..74339f8 100644 --- a/app/DD-Record-Organiser/Strings/ControlProperties.en.resx +++ b/app/DD-Record-Organiser/Strings/ControlProperties.en.resx @@ -207,6 +207,9 @@ The screen-ID of the form that will be opened. + + Can only existing list items be selected? + Should the element be show as a column? diff --git a/app/DD-Record-Organiser/Strings/ControlProperties.resx b/app/DD-Record-Organiser/Strings/ControlProperties.resx index 6c71b2a..e4a5fb0 100644 --- a/app/DD-Record-Organiser/Strings/ControlProperties.resx +++ b/app/DD-Record-Organiser/Strings/ControlProperties.resx @@ -207,6 +207,9 @@ Gibt die Screen-ID der zu öffnenden Form an. + + Gibt an, ob nur vorhandene Listeneinträge ausgewählt werden können + Gibt an, ob das Feld als Spalte im Grid angezeigt wird. diff --git a/app/DD-Record-Organiser/frmLevel_Designer.vb b/app/DD-Record-Organiser/frmLevel_Designer.vb index f050c1d..bd11a2b 100644 --- a/app/DD-Record-Organiser/frmLevel_Designer.vb +++ b/app/DD-Record-Organiser/frmLevel_Designer.vb @@ -55,7 +55,7 @@ ' Aktuelles Control in die Datenbank speichern ClassControlCommands.InsertControl(DesignerCtrlBuilder.CurrentControl) Case "cmb" - DesignerCtrlBuilder.AddComboBox(0, "cmb" & random, 0, 0, def_font_family, def_font_color, def_font_size, def_font_style, 0, True, 0, 0, "String", True, False, False, "", "", Parent) + DesignerCtrlBuilder.AddComboBox(0, "cmb" & random, 0, 0, def_font_family, def_font_color, def_font_size, def_font_style, 0, True, 0, 0, "String", True, False, False, False, "", "", Parent) ' Aktuelles Control in die Datenbank speichern ClassControlCommands.InsertControl(DesignerCtrlBuilder.CurrentControl) Case "dtp" @@ -282,6 +282,7 @@ dr.Item("CONTROL_FORMAT_TYPE"), False, dr.Item("CONTROL_READ_ONLY"), + dr.Item("CONTROL_SELECT_ONLY"), dr.Item("CONTROL_REQUIRED"), dr.Item("CONTROL_STATIC_LIST"), dr.Item("CONTROL_SQLCOMMAND_1"), @@ -705,8 +706,14 @@ 'Generische Properties laden props.ID = r.Item("CONTROL_ID") props.Name = r.Item("CONTROL_NAME") - props.Size = New Size(r.Item("CTRLSCR_WIDTH"), r.Item("CTRLSCR_HEIGHT")) - props.Location = New Point(r.Item("CTRLSCR_X_LOC"), r.Item("CTRLSCR_Y_LOC")) + props.Size = New Size( + r.Item("CTRLSCR_WIDTH"), + r.Item("CTRLSCR_HEIGHT") + ) + props.Location = New Point( + r.Item("CTRLSCR_X_LOC"), + r.Item("CTRLSCR_Y_LOC") + ) props.Visible = ClassConverter.ToBooleanOrDefault(r.Item("CONTROL_VISIBLE"), True) props.Hint = hint @@ -756,6 +763,7 @@ props.StaticList = New StaticListValue(r.Item("CONTROL_STATIC_LIST").ToString()) props.IsRequired = r.Item("CONTROL_REQUIRED") props.IsReadOnly = r.Item("CONTROL_READ_ONLY") + props.IsSelectOnly = r.Item("CONTROL_SELECT_ONLY") props.TabStop = r.Item("CTRLSCR_TAB_STOP") props.TabIndex = r.Item("CTRLSCR_TAB_INDEX") props.ShowColumn = NotNull(CBool(r.Item("CONTROL_SHOW_COLUMN")), True)