diff --git a/Global_Indexer/ClassWindream.vb b/Global_Indexer/ClassWindream.vb index 1901cfd..960e86a 100644 --- a/Global_Indexer/ClassWindream.vb +++ b/Global_Indexer/ClassWindream.vb @@ -18,22 +18,22 @@ Public Class ClassWindream Const VARIABLEN = 2 Const WMObjectStreamOpenModeReadWrite = 2 - Const WMObjectVariableValueTypeUndefined = 0 - Const WMObjectVariableValueTypeString = 1 - Const WMObjectVariableValueTypeInteger = 2 - Const WMObjectVariableValueTypeFloat = 3 - Const WMObjectVariableValueTypeBoolean = 4 - Const WMObjectVariableValueTypeDate = 5 - Const WMObjectVariableValueTypeFixedPoint = 6 - Const WMObjectVariableValueTypeTimeStamp = 7 - Const WMObjectVariableValueTypeCurrency = 8 - Const WMObjectVariableValueTypeTime = 9 - Const WMObjectVariableValueTypeVariant = 10 - Const WMObjectVariableValueTypeMask = &HFFF - Const WMObjectVariableValueFlagMask = &HFFFFF000 - Const WMObjectVariableValueTypeVector = &H1000 - Const WMObjectVariableValueTypeFulltext = &H2000 - Const WMObjectVariableValueTypeDefaultValue = &H4000 + Public Const WMObjectVariableValueTypeUndefined = 0 + Public Const WMObjectVariableValueTypeString = 1 + Public Const WMObjectVariableValueTypeInteger = 2 + Public Const WMObjectVariableValueTypeFloat = 3 + Public Const WMObjectVariableValueTypeBoolean = 4 + Public Const WMObjectVariableValueTypeDate = 5 + Public Const WMObjectVariableValueTypeFixedPoint = 6 + Public Const WMObjectVariableValueTypeTimeStamp = 7 + Public Const WMObjectVariableValueTypeCurrency = 8 + Public Const WMObjectVariableValueTypeTime = 9 + Public Const WMObjectVariableValueTypeVariant = 10 + Public Const WMObjectVariableValueTypeMask = &HFFF + Public Const WMObjectVariableValueFlagMask = &HFFFFF000 + Public Const WMObjectVariableValueTypeVector = &H1000 + Public Const WMObjectVariableValueTypeFulltext = &H2000 + Public Const WMObjectVariableValueTypeDefaultValue = &H4000 #End Region #Region "+++++ Variablen +++++" diff --git a/Global_Indexer/MyDataset.Designer.vb b/Global_Indexer/MyDataset.Designer.vb index 5972974..c44cae4 100644 --- a/Global_Indexer/MyDataset.Designer.vb +++ b/Global_Indexer/MyDataset.Designer.vb @@ -3261,6 +3261,10 @@ Partial Public Class MyDataset Private columnMULTISELECT As Global.System.Data.DataColumn + Private columnVKT_ADD_ITEM As Global.System.Data.DataColumn + + Private columnVKT_PREVENT_MULTIPLE_VALUES As Global.System.Data.DataColumn + _ Public Sub New() @@ -3456,6 +3460,22 @@ Partial Public Class MyDataset End Get End Property + _ + Public ReadOnly Property VKT_ADD_ITEMColumn() As Global.System.Data.DataColumn + Get + Return Me.columnVKT_ADD_ITEM + End Get + End Property + + _ + Public ReadOnly Property VKT_PREVENT_MULTIPLE_VALUESColumn() As Global.System.Data.DataColumn + Get + Return Me.columnVKT_PREVENT_MULTIPLE_VALUES + End Get + End Property + _ @@ -3512,9 +3532,11 @@ Partial Public Class MyDataset ByVal CHANGED_WHEN As Date, _ ByVal _OPTIONAL As Boolean, _ ByVal SAVE_VALUE As Boolean, _ - ByVal MULTISELECT As Boolean) As TBDD_INDEX_MANRow + ByVal MULTISELECT As Boolean, _ + ByVal VKT_ADD_ITEM As Boolean, _ + ByVal VKT_PREVENT_MULTIPLE_VALUES As Boolean) As TBDD_INDEX_MANRow Dim rowTBDD_INDEX_MANRow As TBDD_INDEX_MANRow = CType(Me.NewRow,TBDD_INDEX_MANRow) - Dim columnValuesArray() As Object = New Object() {Nothing, Nothing, NAME, WD_INDEX, COMMENT, DATATYPE, SUGGESTION, DEFAULT_VALUE, Nothing, SEQUENCE, SQL_RESULT, SQL_CHECK, ACTIVE, ADDED_WHO, ADDED_WHEN, CHANGED_WHO, CHANGED_WHEN, _OPTIONAL, SAVE_VALUE, MULTISELECT} + Dim columnValuesArray() As Object = New Object() {Nothing, Nothing, NAME, WD_INDEX, COMMENT, DATATYPE, SUGGESTION, DEFAULT_VALUE, Nothing, SEQUENCE, SQL_RESULT, SQL_CHECK, ACTIVE, ADDED_WHO, ADDED_WHEN, CHANGED_WHO, CHANGED_WHEN, _OPTIONAL, SAVE_VALUE, MULTISELECT, VKT_ADD_ITEM, VKT_PREVENT_MULTIPLE_VALUES} If (Not (parentTBDD_DOKUMENTARTRowByFK_TBDD_INDEX_MAN_DAID) Is Nothing) Then columnValuesArray(1) = parentTBDD_DOKUMENTARTRowByFK_TBDD_INDEX_MAN_DAID(0) End If @@ -3569,6 +3591,8 @@ Partial Public Class MyDataset Me.columnOPTIONAL = MyBase.Columns("OPTIONAL") Me.columnSAVE_VALUE = MyBase.Columns("SAVE_VALUE") Me.columnMULTISELECT = MyBase.Columns("MULTISELECT") + Me.columnVKT_ADD_ITEM = MyBase.Columns("VKT_ADD_ITEM") + Me.columnVKT_PREVENT_MULTIPLE_VALUES = MyBase.Columns("VKT_PREVENT_MULTIPLE_VALUES") End Sub _ + Public Property VKT_ADD_ITEM() As Boolean + Get + Return CType(Me(Me.tableTBDD_INDEX_MAN.VKT_ADD_ITEMColumn),Boolean) + End Get + Set + Me(Me.tableTBDD_INDEX_MAN.VKT_ADD_ITEMColumn) = value + End Set + End Property + + _ + Public Property VKT_PREVENT_MULTIPLE_VALUES() As Boolean + Get + Return CType(Me(Me.tableTBDD_INDEX_MAN.VKT_PREVENT_MULTIPLE_VALUESColumn),Boolean) + End Get + Set + Me(Me.tableTBDD_INDEX_MAN.VKT_PREVENT_MULTIPLE_VALUESColumn) = value + End Set + End Property + _ Public Property TBDD_CONNECTIONRow() As TBDD_CONNECTIONRow @@ -21311,6 +21363,8 @@ Namespace MyDatasetTableAdapters tableMapping.ColumnMappings.Add("OPTIONAL", "OPTIONAL") tableMapping.ColumnMappings.Add("SAVE_VALUE", "SAVE_VALUE") tableMapping.ColumnMappings.Add("MULTISELECT", "MULTISELECT") + tableMapping.ColumnMappings.Add("VKT_ADD_ITEM", "VKT_ADD_ITEM") + tableMapping.ColumnMappings.Add("VKT_PREVENT_MULTIPLE_VALUES", "VKT_PREVENT_MULTIPLE_VALUES") Me._adapter.TableMappings.Add(tableMapping) Me._adapter.DeleteCommand = New Global.System.Data.SqlClient.SqlCommand() Me._adapter.DeleteCommand.Connection = Me.Connection @@ -21321,13 +21375,14 @@ Namespace MyDatasetTableAdapters Me._adapter.InsertCommand.Connection = Me.Connection Me._adapter.InsertCommand.CommandText = "INSERT INTO TBDD_INDEX_MAN"&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10)&" (DOK_ID, NAME, WD_INDEX, COM"& _ "MENT, DATATYPE, SUGGESTION, DEFAULT_VALUE, CONNECTION_ID, SEQUENCE, SQL_RESULT, "& _ - "SQL_CHECK, ACTIVE, ADDED_WHO, OPTIONAL, SAVE_VALUE)"&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10)&"VALUES (@DOK_ID,@NAM"& _ - "E,@WD_INDEX,@COMMENT,@DATATYPE,@SUGGESTION,@DEFAULT_VALUE,@CONNECTION_ID,@SEQUEN"& _ - "CE,@SQL_RESULT,@SQL_CHECK,@ACTIVE,@ADDED_WHO,@OPTIONAL,@SAVE_VALUE); "&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10)&"SELECT G"& _ - "UID, DOK_ID, NAME, WD_INDEX, COMMENT, DATATYPE, SUGGESTION, DEFAULT_VALUE, CONNE"& _ - "CTION_ID, SEQUENCE, SQL_RESULT, SQL_CHECK, ACTIVE, ADDED_WHO, ADDED_WHEN, CHANGE"& _ - "D_WHO, CHANGED_WHEN, OPTIONAL FROM TBDD_INDEX_MAN WHERE (GUID = SCOPE_IDENTITY()"& _ - ")" + "SQL_CHECK, ACTIVE, ADDED_WHO, OPTIONAL, SAVE_VALUE, VKT_ADD_ITEM, "&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10)&" "& _ + " VKT_PREVENT_MULTIPLE_VALUES, MULTISELECT)"&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10)&"VALUES (@DOK_ID,@"& _ + "NAME,@WD_INDEX,@COMMENT,@DATATYPE,@SUGGESTION,@DEFAULT_VALUE,@CONNECTION_ID,@SEQ"& _ + "UENCE,@SQL_RESULT,@SQL_CHECK,@ACTIVE,@ADDED_WHO,@OPTIONAL,@SAVE_VALUE,@MULTISELE"& _ + "CT,@VKT_ADD_ITEM,@VKT_PREVENT_MULTIPLE_VALUES); "&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10)&"SELECT GUID, DOK_ID, NAME, W"& _ + "D_INDEX, COMMENT, DATATYPE, SUGGESTION, DEFAULT_VALUE, CONNECTION_ID, SEQUENCE, "& _ + "SQL_RESULT, SQL_CHECK, ACTIVE, ADDED_WHO, ADDED_WHEN, CHANGED_WHO, CHANGED_WHEN,"& _ + " OPTIONAL FROM TBDD_INDEX_MAN WHERE (GUID = SCOPE_IDENTITY())" Me._adapter.InsertCommand.CommandType = Global.System.Data.CommandType.Text Me._adapter.InsertCommand.Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@DOK_ID", Global.System.Data.SqlDbType.Int, 4, Global.System.Data.ParameterDirection.Input, 0, 0, "DOK_ID", Global.System.Data.DataRowVersion.Current, false, Nothing, "", "", "")) Me._adapter.InsertCommand.Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@NAME", Global.System.Data.SqlDbType.VarChar, 50, Global.System.Data.ParameterDirection.Input, 0, 0, "NAME", Global.System.Data.DataRowVersion.Current, false, Nothing, "", "", "")) @@ -21344,6 +21399,9 @@ Namespace MyDatasetTableAdapters Me._adapter.InsertCommand.Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@ADDED_WHO", Global.System.Data.SqlDbType.VarChar, 50, Global.System.Data.ParameterDirection.Input, 0, 0, "ADDED_WHO", Global.System.Data.DataRowVersion.Current, false, Nothing, "", "", "")) Me._adapter.InsertCommand.Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@OPTIONAL", Global.System.Data.SqlDbType.Bit, 1, Global.System.Data.ParameterDirection.Input, 0, 0, "OPTIONAL", Global.System.Data.DataRowVersion.Current, false, Nothing, "", "", "")) Me._adapter.InsertCommand.Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@SAVE_VALUE", Global.System.Data.SqlDbType.Bit, 1, Global.System.Data.ParameterDirection.Input, 0, 0, "SAVE_VALUE", Global.System.Data.DataRowVersion.Current, false, Nothing, "", "", "")) + Me._adapter.InsertCommand.Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@MULTISELECT", Global.System.Data.SqlDbType.Bit, 1, Global.System.Data.ParameterDirection.Input, 0, 0, "VKT_ADD_ITEM", Global.System.Data.DataRowVersion.Current, false, Nothing, "", "", "")) + Me._adapter.InsertCommand.Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@VKT_ADD_ITEM", Global.System.Data.SqlDbType.Bit, 1, Global.System.Data.ParameterDirection.Input, 0, 0, "VKT_PREVENT_MULTIPLE_VALUES", Global.System.Data.DataRowVersion.Current, false, Nothing, "", "", "")) + Me._adapter.InsertCommand.Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@VKT_PREVENT_MULTIPLE_VALUES", Global.System.Data.SqlDbType.Bit, 1, Global.System.Data.ParameterDirection.Input, 0, 0, "MULTISELECT", Global.System.Data.DataRowVersion.Current, false, Nothing, "", "", "")) Me._adapter.UpdateCommand = New Global.System.Data.SqlClient.SqlCommand() Me._adapter.UpdateCommand.Connection = Me.Connection Me._adapter.UpdateCommand.CommandText = "UPDATE TBDD_INDEX_MAN"&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10)&"SET DOK_ID = @DOK_ID, NAME = @NAME, W"& _ @@ -21351,10 +21409,12 @@ Namespace MyDatasetTableAdapters "GESTION, DEFAULT_VALUE = @DEFAULT_VALUE, "&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10)&" CONNECTION_I"& _ "D = @CONNECTION_ID, SEQUENCE = @SEQUENCE, SQL_RESULT = @SQL_RESULT, SQL_CHECK = "& _ "@SQL_CHECK, ACTIVE = @ACTIVE, CHANGED_WHO = @CHANGED_WHO, OPTIONAL = @OPTIONAL, "& _ - ""&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10)&" SAVE_VALUE = @SAVE_VALUE, MULTISELECT = @MULTISELECT"&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10)&"WHERE (GUID = @Original_GUID); "&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10)&"SELECT GUID, DOK_ID, NAME, WD_INDEX, "& _ - "COMMENT, DATATYPE, SUGGESTION, DEFAULT_VALUE, CONNECTION_ID, SEQUENCE, SQL_RESUL"& _ - "T, SQL_CHECK, ACTIVE, ADDED_WHO, ADDED_WHEN, CHANGED_WHO, CHANGED_WHEN, OPTIONAL"& _ - " FROM TBDD_INDEX_MAN WHERE (GUID = @GUID)" + ""&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10)&" SAVE_VALUE = @SAVE_VALUE, MULTISELECT = @MULTISELECT,"& _ + " VKT_ADD_ITEM = @VKT_ADD_ITEM, VKT_PREVENT_MULTIPLE_VALUES = @VKT_PREVENT_MULTIP"& _ + "LE_VALUES"&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10)&"WHERE (GUID = @Original_GUID); "&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10)&"SELECT GUID, DOK_ID, NAME,"& _ + " WD_INDEX, COMMENT, DATATYPE, SUGGESTION, DEFAULT_VALUE, CONNECTION_ID, SEQUENCE"& _ + ", SQL_RESULT, SQL_CHECK, ACTIVE, ADDED_WHO, ADDED_WHEN, CHANGED_WHO, CHANGED_WHE"& _ + "N, OPTIONAL FROM TBDD_INDEX_MAN WHERE (GUID = @GUID)" Me._adapter.UpdateCommand.CommandType = Global.System.Data.CommandType.Text Me._adapter.UpdateCommand.Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@DOK_ID", Global.System.Data.SqlDbType.Int, 4, Global.System.Data.ParameterDirection.Input, 0, 0, "DOK_ID", Global.System.Data.DataRowVersion.Current, false, Nothing, "", "", "")) Me._adapter.UpdateCommand.Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@NAME", Global.System.Data.SqlDbType.VarChar, 50, Global.System.Data.ParameterDirection.Input, 0, 0, "NAME", Global.System.Data.DataRowVersion.Current, false, Nothing, "", "", "")) @@ -21372,6 +21432,8 @@ Namespace MyDatasetTableAdapters Me._adapter.UpdateCommand.Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@OPTIONAL", Global.System.Data.SqlDbType.Bit, 1, Global.System.Data.ParameterDirection.Input, 0, 0, "OPTIONAL", Global.System.Data.DataRowVersion.Current, false, Nothing, "", "", "")) Me._adapter.UpdateCommand.Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@SAVE_VALUE", Global.System.Data.SqlDbType.Bit, 1, Global.System.Data.ParameterDirection.Input, 0, 0, "SAVE_VALUE", Global.System.Data.DataRowVersion.Current, false, Nothing, "", "", "")) Me._adapter.UpdateCommand.Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@MULTISELECT", Global.System.Data.SqlDbType.Bit, 1, Global.System.Data.ParameterDirection.Input, 0, 0, "MULTISELECT", Global.System.Data.DataRowVersion.Current, false, Nothing, "", "", "")) + Me._adapter.UpdateCommand.Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@VKT_ADD_ITEM", Global.System.Data.SqlDbType.Bit, 1, Global.System.Data.ParameterDirection.Input, 0, 0, "VKT_ADD_ITEM", Global.System.Data.DataRowVersion.Current, false, Nothing, "", "", "")) + Me._adapter.UpdateCommand.Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@VKT_PREVENT_MULTIPLE_VALUES", Global.System.Data.SqlDbType.Bit, 1, Global.System.Data.ParameterDirection.Input, 0, 0, "VKT_PREVENT_MULTIPLE_VALUES", Global.System.Data.DataRowVersion.Current, false, Nothing, "", "", "")) Me._adapter.UpdateCommand.Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@Original_GUID", Global.System.Data.SqlDbType.Int, 4, Global.System.Data.ParameterDirection.Input, 0, 0, "GUID", Global.System.Data.DataRowVersion.Original, false, Nothing, "", "", "")) Me._adapter.UpdateCommand.Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@GUID", Global.System.Data.SqlDbType.Int, 4, Global.System.Data.ParameterDirection.Input, 0, 0, "GUID", Global.System.Data.DataRowVersion.Original, false, Nothing, "", "", "")) End Sub @@ -21392,8 +21454,8 @@ Namespace MyDatasetTableAdapters Me._commandCollection(0).CommandText = "SELECT GUID, DOK_ID, NAME, WD_INDEX, COMMENT, DATATYPE, SUGGESTION, DEFAUL"& _ "T_VALUE, CONNECTION_ID, SEQUENCE, SQL_RESULT, SQL_CHECK, ACTIVE, ADDED_WHO, ADDE"& _ "D_WHEN, CHANGED_WHO, "&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10)&" CHANGED_WHEN, OPTIONAL, SAVE_VAL"& _ - "UE, MULTISELECT"&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10)&"FROM TBDD_INDEX_MAN"&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10)&"WHERE (DOK_ID = @DOK_ID)"& _ - ""&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10)&"ORDER BY SEQUENCE" + "UE, MULTISELECT, VKT_ADD_ITEM, VKT_PREVENT_MULTIPLE_VALUES"&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10)&"FROM TBDD"& _ + "_INDEX_MAN"&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10)&"WHERE (DOK_ID = @DOK_ID)"&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10)&"ORDER BY SEQUENCE" Me._commandCollection(0).CommandType = Global.System.Data.CommandType.Text Me._commandCollection(0).Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@DOK_ID", Global.System.Data.SqlDbType.Int, 4, Global.System.Data.ParameterDirection.Input, 0, 0, "DOK_ID", Global.System.Data.DataRowVersion.Current, false, Nothing, "", "", "")) End Sub @@ -21477,7 +21539,25 @@ Namespace MyDatasetTableAdapters Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "15.0.0.0"), _ Global.System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter"), _ Global.System.ComponentModel.DataObjectMethodAttribute(Global.System.ComponentModel.DataObjectMethodType.Insert, true)> _ - Public Overloads Overridable Function Insert(ByVal DOK_ID As Integer, ByVal NAME As String, ByVal WD_INDEX As String, ByVal COMMENT As String, ByVal DATATYPE As String, ByVal SUGGESTION As Boolean, ByVal DEFAULT_VALUE As String, ByVal CONNECTION_ID As Global.System.Nullable(Of Short), ByVal SEQUENCE As Integer, ByVal SQL_RESULT As String, ByVal SQL_CHECK As String, ByVal ACTIVE As Boolean, ByVal ADDED_WHO As String, ByVal _OPTIONAL As Boolean, ByVal SAVE_VALUE As Boolean) As Integer + Public Overloads Overridable Function Insert( _ + ByVal DOK_ID As Integer, _ + ByVal NAME As String, _ + ByVal WD_INDEX As String, _ + ByVal COMMENT As String, _ + ByVal DATATYPE As String, _ + ByVal SUGGESTION As Boolean, _ + ByVal DEFAULT_VALUE As String, _ + ByVal CONNECTION_ID As Global.System.Nullable(Of Short), _ + ByVal SEQUENCE As Integer, _ + ByVal SQL_RESULT As String, _ + ByVal SQL_CHECK As String, _ + ByVal ACTIVE As Boolean, _ + ByVal ADDED_WHO As String, _ + ByVal _OPTIONAL As Boolean, _ + ByVal SAVE_VALUE As Boolean, _ + ByVal MULTISELECT As Boolean, _ + ByVal VKT_ADD_ITEM As Boolean, _ + ByVal VKT_PREVENT_MULTIPLE_VALUES As Boolean) As Integer Me.Adapter.InsertCommand.Parameters(0).Value = CType(DOK_ID,Integer) If (NAME Is Nothing) Then Throw New Global.System.ArgumentNullException("NAME") @@ -21529,6 +21609,9 @@ Namespace MyDatasetTableAdapters End If Me.Adapter.InsertCommand.Parameters(13).Value = CType(_OPTIONAL,Boolean) Me.Adapter.InsertCommand.Parameters(14).Value = CType(SAVE_VALUE,Boolean) + Me.Adapter.InsertCommand.Parameters(15).Value = CType(MULTISELECT,Boolean) + Me.Adapter.InsertCommand.Parameters(16).Value = CType(VKT_ADD_ITEM,Boolean) + Me.Adapter.InsertCommand.Parameters(17).Value = CType(VKT_PREVENT_MULTIPLE_VALUES,Boolean) Dim previousConnectionState As Global.System.Data.ConnectionState = Me.Adapter.InsertCommand.Connection.State If ((Me.Adapter.InsertCommand.Connection.State And Global.System.Data.ConnectionState.Open) _ <> Global.System.Data.ConnectionState.Open) Then @@ -21565,6 +21648,8 @@ Namespace MyDatasetTableAdapters ByVal _OPTIONAL As Boolean, _ ByVal SAVE_VALUE As Boolean, _ ByVal MULTISELECT As Boolean, _ + ByVal VKT_ADD_ITEM As Boolean, _ + ByVal VKT_PREVENT_MULTIPLE_VALUES As Boolean, _ ByVal Original_GUID As Integer, _ ByVal GUID As Integer) As Integer Me.Adapter.UpdateCommand.Parameters(0).Value = CType(DOK_ID,Integer) @@ -21619,8 +21704,10 @@ Namespace MyDatasetTableAdapters Me.Adapter.UpdateCommand.Parameters(13).Value = CType(_OPTIONAL,Boolean) Me.Adapter.UpdateCommand.Parameters(14).Value = CType(SAVE_VALUE,Boolean) Me.Adapter.UpdateCommand.Parameters(15).Value = CType(MULTISELECT,Boolean) - Me.Adapter.UpdateCommand.Parameters(16).Value = CType(Original_GUID,Integer) - Me.Adapter.UpdateCommand.Parameters(17).Value = CType(GUID,Integer) + Me.Adapter.UpdateCommand.Parameters(16).Value = CType(VKT_ADD_ITEM,Boolean) + Me.Adapter.UpdateCommand.Parameters(17).Value = CType(VKT_PREVENT_MULTIPLE_VALUES,Boolean) + Me.Adapter.UpdateCommand.Parameters(18).Value = CType(Original_GUID,Integer) + Me.Adapter.UpdateCommand.Parameters(19).Value = CType(GUID,Integer) Dim previousConnectionState As Global.System.Data.ConnectionState = Me.Adapter.UpdateCommand.Connection.State If ((Me.Adapter.UpdateCommand.Connection.State And Global.System.Data.ConnectionState.Open) _ <> Global.System.Data.ConnectionState.Open) Then diff --git a/Global_Indexer/MyDataset.xsd b/Global_Indexer/MyDataset.xsd index e433923..a61467a 100644 --- a/Global_Indexer/MyDataset.xsd +++ b/Global_Indexer/MyDataset.xsd @@ -358,34 +358,38 @@ WHERE (GUID = @Original_GUID) - + INSERT INTO TBDD_INDEX_MAN - (DOK_ID, NAME, WD_INDEX, COMMENT, DATATYPE, SUGGESTION, DEFAULT_VALUE, CONNECTION_ID, SEQUENCE, SQL_RESULT, SQL_CHECK, ACTIVE, ADDED_WHO, OPTIONAL, SAVE_VALUE) -VALUES (@DOK_ID,@NAME,@WD_INDEX,@COMMENT,@DATATYPE,@SUGGESTION,@DEFAULT_VALUE,@CONNECTION_ID,@SEQUENCE,@SQL_RESULT,@SQL_CHECK,@ACTIVE,@ADDED_WHO,@OPTIONAL,@SAVE_VALUE); + (DOK_ID, NAME, WD_INDEX, COMMENT, DATATYPE, SUGGESTION, DEFAULT_VALUE, CONNECTION_ID, SEQUENCE, SQL_RESULT, SQL_CHECK, ACTIVE, ADDED_WHO, OPTIONAL, SAVE_VALUE, VKT_ADD_ITEM, + VKT_PREVENT_MULTIPLE_VALUES, MULTISELECT) +VALUES (@DOK_ID,@NAME,@WD_INDEX,@COMMENT,@DATATYPE,@SUGGESTION,@DEFAULT_VALUE,@CONNECTION_ID,@SEQUENCE,@SQL_RESULT,@SQL_CHECK,@ACTIVE,@ADDED_WHO,@OPTIONAL,@SAVE_VALUE,@MULTISELECT,@VKT_ADD_ITEM,@VKT_PREVENT_MULTIPLE_VALUES); SELECT GUID, DOK_ID, NAME, WD_INDEX, COMMENT, DATATYPE, SUGGESTION, DEFAULT_VALUE, CONNECTION_ID, SEQUENCE, SQL_RESULT, SQL_CHECK, ACTIVE, ADDED_WHO, ADDED_WHEN, CHANGED_WHO, CHANGED_WHEN, OPTIONAL FROM TBDD_INDEX_MAN WHERE (GUID = SCOPE_IDENTITY()) - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + SELECT GUID, DOK_ID, NAME, WD_INDEX, COMMENT, DATATYPE, SUGGESTION, DEFAULT_VALUE, CONNECTION_ID, SEQUENCE, SQL_RESULT, SQL_CHECK, ACTIVE, ADDED_WHO, ADDED_WHEN, CHANGED_WHO, - CHANGED_WHEN, OPTIONAL, SAVE_VALUE, MULTISELECT + CHANGED_WHEN, OPTIONAL, SAVE_VALUE, MULTISELECT, VKT_ADD_ITEM, VKT_PREVENT_MULTIPLE_VALUES FROM TBDD_INDEX_MAN WHERE (DOK_ID = @DOK_ID) ORDER BY SEQUENCE @@ -399,8 +403,8 @@ ORDER BY SEQUENCE UPDATE TBDD_INDEX_MAN SET DOK_ID = @DOK_ID, NAME = @NAME, WD_INDEX = @WD_INDEX, COMMENT = @COMMENT, DATATYPE = @DATATYPE, SUGGESTION = @SUGGESTION, DEFAULT_VALUE = @DEFAULT_VALUE, CONNECTION_ID = @CONNECTION_ID, SEQUENCE = @SEQUENCE, SQL_RESULT = @SQL_RESULT, SQL_CHECK = @SQL_CHECK, ACTIVE = @ACTIVE, CHANGED_WHO = @CHANGED_WHO, OPTIONAL = @OPTIONAL, - SAVE_VALUE = @SAVE_VALUE, MULTISELECT = @MULTISELECT -WHERE (GUID = @Original_GUID); + SAVE_VALUE = @SAVE_VALUE, MULTISELECT = @MULTISELECT, VKT_ADD_ITEM = @VKT_ADD_ITEM, VKT_PREVENT_MULTIPLE_VALUES = @VKT_PREVENT_MULTIPLE_VALUES +WHERE (GUID = @Original_GUID); SELECT GUID, DOK_ID, NAME, WD_INDEX, COMMENT, DATATYPE, SUGGESTION, DEFAULT_VALUE, CONNECTION_ID, SEQUENCE, SQL_RESULT, SQL_CHECK, ACTIVE, ADDED_WHO, ADDED_WHEN, CHANGED_WHO, CHANGED_WHEN, OPTIONAL FROM TBDD_INDEX_MAN WHERE (GUID = @GUID) @@ -419,6 +423,8 @@ SELECT GUID, DOK_ID, NAME, WD_INDEX, COMMENT, DATATYPE, SUGGESTION, DEFAULT_VALU + + @@ -447,6 +453,8 @@ SELECT GUID, DOK_ID, NAME, WD_INDEX, COMMENT, DATATYPE, SUGGESTION, DEFAULT_VALU + + @@ -1725,7 +1733,7 @@ ORDER BY GUID DESC - + @@ -1800,7 +1808,7 @@ ORDER BY GUID DESC - + @@ -1883,7 +1891,7 @@ ORDER BY GUID DESC - + @@ -1920,7 +1928,7 @@ ORDER BY GUID DESC - + @@ -1934,7 +1942,7 @@ ORDER BY GUID DESC - + @@ -1948,7 +1956,7 @@ ORDER BY GUID DESC - + @@ -2025,10 +2033,12 @@ ORDER BY GUID DESC + + - + @@ -2101,7 +2111,7 @@ ORDER BY GUID DESC - + @@ -2214,7 +2224,7 @@ ORDER BY GUID DESC - + @@ -2310,7 +2320,7 @@ ORDER BY GUID DESC - + @@ -2365,7 +2375,7 @@ ORDER BY GUID DESC - + @@ -2373,7 +2383,7 @@ ORDER BY GUID DESC - + @@ -2423,7 +2433,7 @@ ORDER BY GUID DESC - + @@ -2495,7 +2505,7 @@ ORDER BY GUID DESC - + @@ -2576,7 +2586,7 @@ ORDER BY GUID DESC - + @@ -2590,7 +2600,7 @@ ORDER BY GUID DESC - + @@ -2599,7 +2609,7 @@ ORDER BY GUID DESC - + @@ -2629,7 +2639,7 @@ ORDER BY GUID DESC - + @@ -2654,7 +2664,7 @@ ORDER BY GUID DESC - + @@ -2693,7 +2703,7 @@ ORDER BY GUID DESC - + @@ -2725,7 +2735,7 @@ ORDER BY GUID DESC - + @@ -2797,7 +2807,7 @@ ORDER BY GUID DESC - + @@ -2836,7 +2846,7 @@ ORDER BY GUID DESC - + @@ -2850,7 +2860,7 @@ ORDER BY GUID DESC - + @@ -2896,7 +2906,7 @@ ORDER BY GUID DESC - + @@ -2956,7 +2966,7 @@ ORDER BY GUID DESC - + @@ -2988,7 +2998,7 @@ ORDER BY GUID DESC - + @@ -3026,7 +3036,7 @@ ORDER BY GUID DESC - + @@ -3048,7 +3058,7 @@ ORDER BY GUID DESC - + @@ -3169,21 +3179,21 @@ ORDER BY GUID DESC - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Global_Indexer/MyDataset.xss b/Global_Indexer/MyDataset.xss index f8c67db..7d23529 100644 --- a/Global_Indexer/MyDataset.xss +++ b/Global_Indexer/MyDataset.xss @@ -4,7 +4,7 @@ Changes to this file may cause incorrect behavior and will be lost if the code is regenerated. --> - + diff --git a/Global_Indexer/frmAdministration.Designer.vb b/Global_Indexer/frmAdministration.Designer.vb index d3f5089..fbe03fb 100644 --- a/Global_Indexer/frmAdministration.Designer.vb +++ b/Global_Indexer/frmAdministration.Designer.vb @@ -109,8 +109,10 @@ Partial Class frmAdministration Me.lblObjekttyp = New System.Windows.Forms.Label() Me.XtraTabControl2 = New DevExpress.XtraTab.XtraTabControl() Me.XtraTabPage3 = New DevExpress.XtraTab.XtraTabPage() - Me.MULTISELECTCheckBox = New System.Windows.Forms.CheckBox() + Me.VKT_PREVENT_MULTIPLE_VALUESCheckbox = New System.Windows.Forms.CheckBox() Me.TBDD_INDEX_MANBindingSource = New System.Windows.Forms.BindingSource(Me.components) + Me.VKT_ADD_ITEMCheckbox = New System.Windows.Forms.CheckBox() + Me.MULTISELECTCheckBox = New System.Windows.Forms.CheckBox() Me.SAVE_VALUECheckBox = New System.Windows.Forms.CheckBox() Me.lblWDINDEX = New System.Windows.Forms.Label() Me.OPTIONALCheckBox = New System.Windows.Forms.CheckBox() @@ -1036,6 +1038,8 @@ Partial Class frmAdministration 'XtraTabPage3 ' resources.ApplyResources(Me.XtraTabPage3, "XtraTabPage3") + Me.XtraTabPage3.Controls.Add(Me.VKT_PREVENT_MULTIPLE_VALUESCheckbox) + Me.XtraTabPage3.Controls.Add(Me.VKT_ADD_ITEMCheckbox) Me.XtraTabPage3.Controls.Add(Me.MULTISELECTCheckBox) Me.XtraTabPage3.Controls.Add(Me.SAVE_VALUECheckBox) Me.XtraTabPage3.Controls.Add(Me.lblWDINDEX) @@ -1069,6 +1073,25 @@ Partial Class frmAdministration Me.XtraTabPage3.Controls.Add(Me.GUIDTextBox1) Me.XtraTabPage3.Name = "XtraTabPage3" ' + 'VKT_PREVENT_MULTIPLE_VALUESCheckbox + ' + Me.VKT_PREVENT_MULTIPLE_VALUESCheckbox.DataBindings.Add(New System.Windows.Forms.Binding("CheckState", Me.TBDD_INDEX_MANBindingSource, "VKT_PREVENT_MULTIPLE_VALUES", True)) + resources.ApplyResources(Me.VKT_PREVENT_MULTIPLE_VALUESCheckbox, "VKT_PREVENT_MULTIPLE_VALUESCheckbox") + Me.VKT_PREVENT_MULTIPLE_VALUESCheckbox.Name = "VKT_PREVENT_MULTIPLE_VALUESCheckbox" + Me.VKT_PREVENT_MULTIPLE_VALUESCheckbox.UseVisualStyleBackColor = True + ' + 'TBDD_INDEX_MANBindingSource + ' + Me.TBDD_INDEX_MANBindingSource.DataMember = "TBDD_INDEX_MAN" + Me.TBDD_INDEX_MANBindingSource.DataSource = Me.MyDataset + ' + 'VKT_ADD_ITEMCheckbox + ' + Me.VKT_ADD_ITEMCheckbox.DataBindings.Add(New System.Windows.Forms.Binding("CheckState", Me.TBDD_INDEX_MANBindingSource, "VKT_ADD_ITEM", True)) + resources.ApplyResources(Me.VKT_ADD_ITEMCheckbox, "VKT_ADD_ITEMCheckbox") + Me.VKT_ADD_ITEMCheckbox.Name = "VKT_ADD_ITEMCheckbox" + Me.VKT_ADD_ITEMCheckbox.UseVisualStyleBackColor = True + ' 'MULTISELECTCheckBox ' Me.MULTISELECTCheckBox.DataBindings.Add(New System.Windows.Forms.Binding("CheckState", Me.TBDD_INDEX_MANBindingSource, "MULTISELECT", True)) @@ -1076,11 +1099,6 @@ Partial Class frmAdministration Me.MULTISELECTCheckBox.Name = "MULTISELECTCheckBox" Me.MULTISELECTCheckBox.UseVisualStyleBackColor = True ' - 'TBDD_INDEX_MANBindingSource - ' - Me.TBDD_INDEX_MANBindingSource.DataMember = "TBDD_INDEX_MAN" - Me.TBDD_INDEX_MANBindingSource.DataSource = Me.MyDataset - ' 'SAVE_VALUECheckBox ' Me.SAVE_VALUECheckBox.DataBindings.Add(New System.Windows.Forms.Binding("CheckState", Me.TBDD_INDEX_MANBindingSource, "SAVE_VALUE", True)) @@ -3442,4 +3460,6 @@ Partial Class frmAdministration Friend WithEvents GroupBox6 As System.Windows.Forms.GroupBox Friend WithEvents ComboBox3 As System.Windows.Forms.ComboBox Friend WithEvents MULTISELECTCheckBox As CheckBox + Friend WithEvents VKT_PREVENT_MULTIPLE_VALUESCheckbox As CheckBox + Friend WithEvents VKT_ADD_ITEMCheckbox As CheckBox End Class diff --git a/Global_Indexer/frmAdministration.resx b/Global_Indexer/frmAdministration.resx index fbc3555..e4a2504 100644 --- a/Global_Indexer/frmAdministration.resx +++ b/Global_Indexer/frmAdministration.resx @@ -495,7 +495,7 @@ XtraTabPage3 - 29 + 31 False @@ -525,7 +525,7 @@ XtraTabPage3 - 26 + 28 False @@ -555,7 +555,7 @@ XtraTabPage3 - 23 + 25 False @@ -585,7 +585,7 @@ XtraTabPage3 - 21 + 23 False @@ -615,7 +615,7 @@ XtraTabPage3 - 18 + 20 False @@ -645,7 +645,7 @@ XtraTabPage3 - 16 + 18 False @@ -678,7 +678,7 @@ XtraTabPage3 - 13 + 15 False @@ -711,7 +711,7 @@ XtraTabPage3 - 11 + 13 False @@ -744,7 +744,7 @@ XtraTabPage3 - 9 + 11 False @@ -777,7 +777,7 @@ XtraTabPage3 - 7 + 9 False @@ -2649,11 +2649,62 @@ 17, 95 + + NoControl + + + 751, 133 + + + 167, 24 + + + 94 + + + Doppelte Einträge verhindern + + + VKT_PREVENT_MULTIPLE_VALUESCheckbox + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + XtraTabPage3 + + + 0 + + + 618, 133 + + + 128, 24 + + + 94 + + + Neueingabe erlauben + + + VKT_ADD_ITEMCheckbox + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + XtraTabPage3 + + + 1 + - 507, 137 + 483, 133 - 156, 24 + 115, 24 93 @@ -2671,7 +2722,7 @@ XtraTabPage3 - 0 + 2 677, 87 @@ -2695,7 +2746,7 @@ XtraTabPage3 - 1 + 3 True @@ -2722,7 +2773,7 @@ XtraTabPage3 - 2 + 4 False @@ -2750,7 +2801,7 @@ der Datei XtraTabPage3 - 3 + 5 Segoe UI Semibold, 9pt, style=Bold @@ -2777,7 +2828,7 @@ der Datei XtraTabPage3 - 4 + 6 False @@ -2786,16 +2837,16 @@ der Datei MiddleLeft - 705, 137 + 751, 162 - 103, 23 + 136, 23 80 - Show Config + Show SQL Config MiddleRight @@ -2813,7 +2864,7 @@ der Datei XtraTabPage3 - 5 + 7 True @@ -2846,7 +2897,7 @@ der Datei XtraTabPage3 - 6 + 8 Segoe UI, 9pt, style=Italic @@ -2870,7 +2921,7 @@ der Datei XtraTabPage3 - 8 + 10 Segoe UI, 9pt, style=Italic @@ -2894,7 +2945,7 @@ der Datei XtraTabPage3 - 10 + 12 Segoe UI, 9pt, style=Italic @@ -2918,7 +2969,7 @@ der Datei XtraTabPage3 - 12 + 14 Segoe UI, 9pt, style=Italic @@ -2942,7 +2993,7 @@ der Datei XtraTabPage3 - 14 + 16 False @@ -2969,7 +3020,7 @@ der Datei XtraTabPage3 - 15 + 17 False @@ -2993,7 +3044,7 @@ der Datei XtraTabPage3 - 17 + 19 False @@ -3017,16 +3068,16 @@ der Datei XtraTabPage3 - 19 + 21 False - 326, 137 + 326, 133 - 163, 24 + 141, 24 12 @@ -3044,7 +3095,7 @@ der Datei XtraTabPage3 - 20 + 22 False @@ -3080,7 +3131,7 @@ der Datei XtraTabPage3 - 22 + 24 False @@ -3104,7 +3155,7 @@ der Datei XtraTabPage3 - 24 + 26 False @@ -3128,7 +3179,7 @@ der Datei XtraTabPage3 - 25 + 27 False @@ -3152,7 +3203,7 @@ der Datei XtraTabPage3 - 27 + 29 275, 56 @@ -3358,7 +3409,7 @@ der Datei XtraTabPage3 - 28 + 30 Segoe UI, 9pt, style=Italic @@ -3382,7 +3433,7 @@ der Datei XtraTabPage3 - 30 + 32 974, 250 diff --git a/Global_Indexer/frmAdministration.vb b/Global_Indexer/frmAdministration.vb index 6f7f2e6..f03b8b2 100644 --- a/Global_Indexer/frmAdministration.vb +++ b/Global_Indexer/frmAdministration.vb @@ -1178,4 +1178,24 @@ Public Class frmAdministration GroupToDelete = Nothing End If End Sub + + Private Sub WD_INDEXComboBox_SelectedIndexChanged(sender As Object, e As EventArgs) Handles WD_INDEXComboBox.SelectedIndexChanged + Dim selectedIndexName As String = WD_INDEXComboBox.Text + + If selectedIndexName = String.Empty Then + Exit Sub + End If + + ' Vektorindexe fangen bei 4000 an + Dim isVectorIndex As Boolean = ClassWindream.GetTypeOfIndexAsIntByName(selectedIndexName) > 4000 + MULTISELECTCheckBox.Visible = isVectorIndex + VKT_ADD_ITEMCheckbox.Visible = isVectorIndex + VKT_PREVENT_MULTIPLE_VALUESCheckbox.Visible = isVectorIndex + + If Not isVectorIndex Then + MULTISELECTCheckBox.Checked = False + VKT_ADD_ITEMCheckbox.Checked = False + VKT_PREVENT_MULTIPLE_VALUESCheckbox.Checked = False + End If + End Sub End Class diff --git a/Global_Indexer/frmIndex.vb b/Global_Indexer/frmIndex.vb index fdc247d..5526930 100644 --- a/Global_Indexer/frmIndex.vb +++ b/Global_Indexer/frmIndex.vb @@ -469,7 +469,7 @@ Public Class frmIndex End Try End Function ' _ - Private Sub AddVorschlag_ComboBox(indexname As String, y As Integer, conid As Integer, sql_Vorschlag As String, Multiselect As Boolean, Optional Vorgabe As String = "") + Private Sub AddVorschlag_ComboBox(indexname As String, y As Integer, conid As Integer, sql_Vorschlag As String, Multiselect As Boolean, Optional Vorgabe As String = "", Optional AddNewValues As Boolean = False, Optional PreventDuplicateValues As Boolean = False) Try Dim connectionString As String Dim sqlCnn As SqlConnection @@ -521,9 +521,23 @@ Public Class frmIndex If table.Rows.Count > 0 Then Dim columnCount = 1 + ' Alle bis auf die erste Spalte der Tabelle entfernen While (table.Columns.Count > columnCount) table.Columns.RemoveAt(columnCount) End While + 'table.Columns.Item(0).ReadOnly = True + + If Multiselect Then + ' Neue Spalte für Selektion einfügen + Dim selectedColumn As New DataColumn() With { + .ColumnName = "SELECTED", + .DataType = GetType(Boolean), + .DefaultValue = False + } + table.Columns.Add(selectedColumn) + ' Spalte an erste Stelle verschieben + selectedColumn.SetOrdinal(0) + End If Const LOOKUP_NO_RECORDS As String = "Keine Datensätze ausgewählt" Const LOOKUP_N_RECORDS As String = "{0} Datensätze ausgewählt" @@ -546,9 +560,9 @@ Public Class frmIndex gridLookup.Size = New Size(300, LOOKUP_CONTROL_HEIGHT) ' TODO: Hier noch die Vorbelegung für Vektor Indexe einfügen - gridLookup.Properties.DataSource = Nothing gridLookup.Properties.PopupFormSize = New Size(gridLookup.Properties.PopupFormSize.Width, 100) gridLookup.Properties.NullText = LOOKUP_NO_RECORDS + gridLookup.Properties.DataSource = Nothing ' Da das gridLookup ein Readonly Control sein soll, ' sich aber trotzdem öffnen lassen soll, müssen wir so das setzen eines neuen Werts verhindern @@ -566,6 +580,8 @@ Public Class frmIndex Dim frm As New frmLookupGrid() frm.MultiSelect = True frm.DataSource = table + frm.AddNewValues = AddNewValues + frm.PreventDuplicates = PreventDuplicateValues frm.StartPosition = FormStartPosition.Manual frm.SelectedValues = gridLookup.Properties.DataSource frm.Location = pnlIndex.PointToScreen(New Point(340, y)) @@ -587,6 +603,7 @@ Public Class frmIndex textBox.Font = New Font(textBox.Font.FontFamily, 9) textBox.Location = New Point(11, y) textBox.Size = New Size(300, LOOKUP_CONTROL_HEIGHT) + textBox.ReadOnly = True AddHandler lookupButton.Click, Sub() Dim frm As New frmLookupGrid() @@ -609,13 +626,10 @@ Public Class frmIndex ' Für ergebnisse die kleiner/gleich MAX_COMBOBOX_ITEMS sind ' die normale ComboBox verwenden - 'If table.Rows.Count <= MAX_COMBOBOX_ITEMS Then ' 'Die Standardcombobox anlegen ' newCMB = addCombobox(indexname, y) - ' newCMB.DataSource = table ' newCMB.DisplayMember = table.Columns(0).ColumnName - ' newCMB.AutoCompleteSource = AutoCompleteSource.ListItems ' newCMB.AutoCompleteMode = AutoCompleteMode.Suggest ' newCMB.DropDownHeight = (newCMB.ItemHeight + 0.2) * 25 @@ -624,31 +638,6 @@ Public Class frmIndex ' newCMB.Text = Vorgabe ' Get_NextComboBoxResults(newCMB) ' End If - 'Else - - ' Dim searchLookup As New DevExpress.XtraEditors.SearchLookUpEdit() - ' searchLookup.Properties.DataSource = table - ' searchLookup.Properties.DisplayMember = table.Columns(0).ColumnName - ' searchLookup.Properties.ValueMember = table.Columns(0).ColumnName - - ' searchLookup.Location = New Point(11, y) - ' searchLookup.Size = New Size(300, 27) - - ' searchLookup.Properties.AppearanceFocused.BackColor = Color.Lime - ' searchLookup.Properties.AppearanceFocused.BackColor2 = Color.Lime - - ' AddHandler searchLookup.EditValueChanged, Sub(sender As Object, e As EventArgs) - ' SendKeys.Send("{TAB}") - ' End Sub - - ' If Vorgabe <> String.Empty Then - ' searchLookup.EditValue = Vorgabe - ' End If - - ' pnlIndex.Controls.Add(searchLookup) - 'End If - - Else End If @@ -890,7 +879,7 @@ Public Class frmIndex If LogErrorsOnly = False Then ClassLogger.Add(" >> In CheckWrite_IndexeMan", False) Dim result As Boolean = False For Each ctrl As Control In Me.pnlIndex.Controls - ' ' MsgBox(ctrl.Name) + ' MsgBox(ctrl.Name) If ctrl.Name.StartsWith("txt") Then Dim box As TextBox = ctrl If box.Text = "" Then @@ -930,25 +919,25 @@ Public Class frmIndex result = True End If Else - Indexwert_Postprocessing(Replace(cmbMulti.Name, "cmb", ""), cmbMulti.Text) + Indexwert_Postprocessing(Replace(cmbMulti.Name, "cmbMulti", ""), cmbMulti.Text) result = True End If ElseIf ctrl.Name.StartsWith("cmbSingle") Then Dim cmbSingle As TextBox = ctrl If cmbSingle.Text = "" Then - Dim optional_index As Boolean = ClassDatabase.Execute_Scalar("SELECT OPTIONAL FROM TBDD_INDEX_MAN WHERE DOK_ID = " & dokartid & " AND NAME = '" & Replace(cmbSingle.Name, "cmbMulti", "") & "'", MyConnectionString, True) + Dim optional_index As Boolean = ClassDatabase.Execute_Scalar("SELECT OPTIONAL FROM TBDD_INDEX_MAN WHERE DOK_ID = " & dokartid & " AND NAME = '" & Replace(cmbSingle.Name, "cmbSingle", "") & "'", MyConnectionString, True) If optional_index = False Then MsgBox("Bitte wählen Sie einen Wert aus der Combobox.", MsgBoxStyle.Exclamation) cmbSingle.Focus() Return False Else - Indexwert_Postprocessing(Replace(cmbSingle.Name, "cmbMulti", ""), "") + Indexwert_Postprocessing(Replace(cmbSingle.Name, "cmbSingle", ""), "") result = True End If Else - Indexwert_Postprocessing(Replace(cmbSingle.Name, "cmb", ""), cmbSingle.Text) + Indexwert_Postprocessing(Replace(cmbSingle.Name, "cmbSingle", ""), cmbSingle.Text) result = True End If ElseIf ctrl.Name.StartsWith("cmb") Then @@ -984,16 +973,12 @@ Public Class frmIndex End If Next - Return True - Catch ex As Exception ClassLogger.Add(" - Unvorhergesehener Fehler in CheckWrite_IndexeMan - Fehler: " & vbNewLine & ex.Message) MsgBox(ex.Message, MsgBoxStyle.Critical, "Unerwarteter Unexpected error in CheckWrite_IndexeMan:") Return False End Try - - End Function Sub Indexwert_Postprocessing(indexname As String, wert_in As String) @@ -2081,6 +2066,8 @@ Public Class frmIndex For Each DR As DataRow In DT_INDEXEMAN.Rows Dim type = DR.Item("DATATYPE") Dim MultiSelect As Boolean = DR.Item("MULTISELECT") + Dim AddNewItems As Boolean = DR.Item("VKT_ADD_ITEM") + Dim PreventDuplicates As Boolean = DR.Item("VKT_PREVENT_MULTIPLE_VALUES") If type <> "BOOLEAN" Then addLabel(DR.Item("NAME"), DR.Item("COMMENT").ToString, ylbl, anz) @@ -2100,7 +2087,7 @@ Public Class frmIndex End If Case "INTEGER" If DR.Item("SUGGESTION") = True And DR.Item("SQL_RESULT").ToString.Length > 0 Then - AddVorschlag_ComboBox(DR.Item("NAME"), y, DR.Item("CONNECTION_ID"), DR.Item("SQL_RESULT"), MultiSelect, DefaultValue) + AddVorschlag_ComboBox(DR.Item("NAME"), y, DR.Item("CONNECTION_ID"), DR.Item("SQL_RESULT"), MultiSelect, DefaultValue, AddNewItems, PreventDuplicates) 'AddAutoSuggest_Textbox(DR.Item("NAME"), y, DR.Item("CONNECTION_ID"), DR.Item("SQL_RESULT"), DefaultValue) Else Dim VORBELGUNG As Integer = DefaultValue @@ -2109,7 +2096,7 @@ Public Class frmIndex End If Case "VARCHAR" If DR.Item("SUGGESTION") = True And DR.Item("SQL_RESULT").ToString.Length > 0 Then - AddVorschlag_ComboBox(DR.Item("NAME"), y, DR.Item("CONNECTION_ID"), DR.Item("SQL_RESULT"), MultiSelect, DefaultValue) + AddVorschlag_ComboBox(DR.Item("NAME"), y, DR.Item("CONNECTION_ID"), DR.Item("SQL_RESULT"), MultiSelect, DefaultValue, AddNewItems, PreventDuplicates) 'AddAutoSuggest_Textbox(DR.Item("NAME"), y, DR.Item("CONNECTION_ID"), DR.Item("SQL_RESULT"), DefaultValue) Else If DR.Item("NAME").ToString.ToLower = "dateiname" Then diff --git a/Global_Indexer/frmLookupGrid.Designer.vb b/Global_Indexer/frmLookupGrid.Designer.vb index 2624121..7bdadd0 100644 --- a/Global_Indexer/frmLookupGrid.Designer.vb +++ b/Global_Indexer/frmLookupGrid.Designer.vb @@ -1,9 +1,9 @@ - _ + Partial Class frmLookupGrid Inherits System.Windows.Forms.Form 'Das Formular überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen. - _ + Protected Overrides Sub Dispose(ByVal disposing As Boolean) Try If disposing AndAlso components IsNot Nothing Then @@ -20,14 +20,13 @@ Partial Class frmLookupGrid 'Hinweis: Die folgende Prozedur ist für den Windows Form-Designer erforderlich. 'Das Bearbeiten ist mit dem Windows Form-Designer möglich. 'Das Bearbeiten mit dem Code-Editor ist nicht möglich. - _ + Private Sub InitializeComponent() Me.gridLookup = New DevExpress.XtraGrid.GridControl() Me.viewLookup = New DevExpress.XtraGrid.Views.Grid.GridView() Me.Panel1 = New System.Windows.Forms.Panel() Me.btnClear = New System.Windows.Forms.Button() Me.btnOK = New System.Windows.Forms.Button() - Me.Button1 = New System.Windows.Forms.Button() CType(Me.gridLookup, System.ComponentModel.ISupportInitialize).BeginInit() CType(Me.viewLookup, System.ComponentModel.ISupportInitialize).BeginInit() Me.Panel1.SuspendLayout() @@ -47,17 +46,15 @@ Partial Class frmLookupGrid ' Me.viewLookup.GridControl = Me.gridLookup Me.viewLookup.Name = "viewLookup" - Me.viewLookup.OptionsBehavior.AllowAddRows = DevExpress.Utils.DefaultBoolean.[True] Me.viewLookup.OptionsFind.AlwaysVisible = True + Me.viewLookup.OptionsFind.FindDelay = 200 Me.viewLookup.OptionsFind.FindMode = DevExpress.XtraEditors.FindMode.Always Me.viewLookup.OptionsFind.ShowClearButton = False Me.viewLookup.OptionsFind.ShowFindButton = False - Me.viewLookup.OptionsView.NewItemRowPosition = DevExpress.XtraGrid.Views.Grid.NewItemRowPosition.Top Me.viewLookup.OptionsView.ShowGroupPanel = False ' 'Panel1 ' - Me.Panel1.Controls.Add(Me.Button1) Me.Panel1.Controls.Add(Me.btnClear) Me.Panel1.Controls.Add(Me.btnOK) Me.Panel1.Dock = System.Windows.Forms.DockStyle.Bottom @@ -86,15 +83,6 @@ Partial Class frmLookupGrid Me.btnOK.Text = "OK" Me.btnOK.UseVisualStyleBackColor = True ' - 'Button1 - ' - Me.Button1.Location = New System.Drawing.Point(100, 3) - Me.Button1.Name = "Button1" - Me.Button1.Size = New System.Drawing.Size(94, 23) - Me.Button1.TabIndex = 1 - Me.Button1.Text = "RestoreSelect" - Me.Button1.UseVisualStyleBackColor = True - ' 'frmLookupGrid ' Me.AcceptButton = Me.btnOK @@ -103,7 +91,6 @@ Partial Class frmLookupGrid Me.ClientSize = New System.Drawing.Size(295, 269) Me.Controls.Add(Me.gridLookup) Me.Controls.Add(Me.Panel1) - Me.KeyPreview = True Me.MaximizeBox = False Me.MinimizeBox = False Me.Name = "frmLookupGrid" @@ -121,5 +108,4 @@ Partial Class frmLookupGrid Friend WithEvents Panel1 As Panel Friend WithEvents btnOK As Button Friend WithEvents btnClear As Button - Friend WithEvents Button1 As Button End Class diff --git a/Global_Indexer/frmLookupGrid.vb b/Global_Indexer/frmLookupGrid.vb index 16ea12b..23c60a6 100644 --- a/Global_Indexer/frmLookupGrid.vb +++ b/Global_Indexer/frmLookupGrid.vb @@ -1,33 +1,48 @@ -Imports DevExpress.Data -Imports DevExpress.XtraGrid.Controls -Imports DevExpress.XtraGrid.Views.Base +Imports DevExpress.XtraGrid Imports DevExpress.XtraGrid.Views.Grid Public Class frmLookupGrid Public Property MultiSelect As Boolean + Public Property AddNewValues As Boolean + Public Property PreventDuplicates As Boolean Public Property DataSource As DataTable Public Property SelectedValues As List(Of Object) Private originalValues As List(Of Object) + Private dataColumn As Integer + + Private view As GridView + Private grid As GridControl Private Sub frmLookupGrid_Load(sender As Object, e As EventArgs) Handles Me.Load - Dim view As GridView = gridLookup.DefaultView + view = viewLookup + grid = gridLookup + + ' Datasource setzen + grid.DataSource = DataSource ' Anzeige Eigeschaften setzen view.OptionsFind.AlwaysVisible = True + view.OptionsSelection.MultiSelect = False If MultiSelect Then + ' Selected Spalte anpassen + view.Columns.Item(0).Caption = " " + view.Columns.Item(0).Resize(10) Text = "Wählen Sie einen oder mehrere Werte:" - view.OptionsSelection.MultiSelect = True - view.OptionsSelection.MultiSelectMode = GridMultiSelectMode.CheckBoxRowSelect + dataColumn = 1 Else Text = "Wählen Sie einen Wert:" - view.OptionsSelection.MultiSelect = False - view.OptionsSelection.MultiSelectMode = GridMultiSelectMode.RowSelect + dataColumn = 0 End If - ' Datasource setzen - gridLookup.DataSource = DataSource + If AddNewValues Then + view.OptionsBehavior.AllowAddRows = DevExpress.Utils.DefaultBoolean.True + view.OptionsView.NewItemRowPosition = NewItemRowPosition.Top + Else + view.OptionsBehavior.AllowAddRows = DevExpress.Utils.DefaultBoolean.False + view.OptionsView.NewItemRowPosition = NewItemRowPosition.None + End If ' Wenn Selected Values nicht gesetzt ist, leere Liste anlegen If SelectedValues Is Nothing Then @@ -37,48 +52,31 @@ Public Class frmLookupGrid ' Ursprüngliche Werte zwischenspeichern originalValues = SelectedValues + ' Bereits ausgewählte Werte im grid auswählen SyncItemsWithView(view) ' Focus auf Find panel setzen view.ShowFindPanel() - End Sub - Private Sub frmLookupGrid_Shown(sender As Object, e As EventArgs) Handles Me.Shown - Dim findEditor As DevExpress.XtraEditors.MRUEdit = gridLookup.Controls.Find("teFind", True).FirstOrDefault() - If findEditor IsNot Nothing Then - 'AddHandler findEditor.KeyUp, AddressOf FindPanel_KeyUp - AddHandler findEditor.EditValueChanged, AddressOf FindPanel_KeyUp - End If - End Sub - - - - Private OldFindPanelValue As String = "" - - Private Sub FindPanel_KeyUp(sender As Object, e As EventArgs) - Dim findEditor As DevExpress.XtraEditors.MRUEdit = sender - - If findEditor.EditValue.ToString.Count = 0 And OldFindPanelValue.Count > 0 Then - SyncItemsWithView(viewLookup) - End If - - OldFindPanelValue = findEditor.EditValue End Sub Private Sub SyncItemsWithView(view As GridView) - ' Wenn Vorbelegungen existieren - ' und Mehrfachauswahl ausgewählt ist, werden diese angehakt - If SelectedValues.Count > 0 And MultiSelect Then + ' Wenn Vorbelegungen existieren, werden diese angehakt + If SelectedValues.Count > 0 Then For i = 0 To view.DataRowCount - 1 Dim rowHandle = view.GetRowHandle(i) Dim rowView As DataRowView = view.GetRow(rowHandle) If rowView IsNot Nothing Then Dim row As DataRow = rowView.Row - Dim value = row.Item(0) + Dim value = row.Item(dataColumn) If SelectedValues.Contains(value) Then - view.SelectRow(rowHandle) + If MultiSelect Then + row.Item(0) = True + Else + view.SelectRow(rowHandle) + End If End If End If Next @@ -86,48 +84,66 @@ Public Class frmLookupGrid End Sub Private Sub btnOK_Click(sender As Object, e As EventArgs) Handles btnOK.Click - Dim view As GridView = gridLookup.DefaultView - Dim selectedRows = view.GetSelectedRows() - - Dim values As New List(Of Object) - - For Each rowHandle In selectedRows - Dim value = view.GetDataRow(rowHandle) - values.Add(value.Item(0)) - Next + ' Filter vor dem Auslesen entfernen, damit alle Werte erfasst werden + view.FindFilterText = String.Empty If MultiSelect Then + Dim values As New List(Of Object) + + For index = 0 To viewLookup.DataRowCount - 1 + Dim row As DataRow = view.GetDataRow(index) + Dim selected As Boolean = row.Item(0) + Dim value As Object = row.Item(1) + + If selected Then + values.Add(value) + End If + Next + + ' Doppelte Werte entfernen, wenn konfiguriert + If PreventDuplicates Then + values = values.Distinct().ToList() + End If + SelectedValues = values Else - SelectedValues = New List(Of Object) From {values.First()} + Dim rowHandle As Integer = view.GetSelectedRows().ToList().First() + Dim row As DataRow = view.GetDataRow(rowHandle) + Dim value = row.Item(0) + + SelectedValues = New List(Of Object) From {value} End If End Sub Private Sub btnClear_Click(sender As Object, e As EventArgs) Handles btnClear.Click - SelectedValues = New List(Of Object) + SelectedValues.Clear() End Sub - Private Sub frmLookupGrid_KeyDown(sender As Object, e As KeyEventArgs) Handles Me.KeyDown + Private Sub gridLookup_KeyUp(sender As Object, e As KeyEventArgs) Handles gridLookup.KeyUp If e.KeyCode = Keys.Escape Then Close() End If End Sub - Private Sub viewLookup_SelectionChanged(sender As Object, e As DevExpress.Data.SelectionChangedEventArgs) Handles viewLookup.SelectionChanged - If e.Action = System.ComponentModel.CollectionChangeAction.Add Then - Dim row = viewLookup.GetRow(e.ControllerRow) - Dim value As Object = row.item(0) + Private Sub viewLookup_CellValueChanging(sender As Object, e As Views.Base.CellValueChangedEventArgs) Handles viewLookup.CellValueChanging - SelectedValues.Add(value) - ElseIf e.Action = System.ComponentModel.CollectionChangeAction.Remove Then - Dim row = viewLookup.GetRow(e.ControllerRow) - Dim value As Object = row.item(0) - - SelectedValues = (From v In SelectedValues - Where v <> value - Select v).ToList() + If e.RowHandle = GridControl.NewItemRowHandle Then + Exit Sub End If + + Dim rowHandle = e.RowHandle + Dim column = e.Column End Sub + Private Sub viewLookup_ShowingEditor(sender As Object, e As System.ComponentModel.CancelEventArgs) Handles viewLookup.ShowingEditor + Dim rowHandleIsNewItemRow = (view.FocusedRowHandle = GridControl.NewItemRowHandle) + Dim columnIsCheckboxColumn = view.FocusedColumn.FieldName = "SELECTED" + ' Prevent editing of Data Column/allow editing for Checkbox Column and NewValue Row + If rowHandleIsNewItemRow Or columnIsCheckboxColumn Then + e.Cancel = False + Else + e.Cancel = True + End If + End Sub End Class \ No newline at end of file