diff --git a/app/DD-Record-Organiser/ClassControlBuilder.vb b/app/DD-Record-Organiser/ClassControlBuilder.vb
index 1f11a72..0f7ec3b 100644
--- a/app/DD-Record-Organiser/ClassControlBuilder.vb
+++ b/app/DD-Record-Organiser/ClassControlBuilder.vb
@@ -103,6 +103,20 @@ Public Class ClassControlBuilder
End If
End Sub
+ Public Sub RecordChanged(sender As Object, e As DevExpress.Data.SelectionChangedEventArgs)
+ Dim onRecordChangedHandler As EventHandler = CType(Me.Events(_onRecordChangedName), EventHandler)
+ Dim ctrl As DevExpress.XtraGrid.Views.Grid.GridView = sender
+
+ Dim controlId As Integer = DirectCast(ctrl.GridControl.Tag, ClassControlMetadata).Id
+ If Not ControlsChanged.Contains(controlId) Then
+ ControlsChanged.Add(controlId)
+ End If
+
+ If (onRecordChangedHandler IsNot Nothing And WatchRecordChanges) Then
+ onRecordChangedHandler.Invoke(sender, e)
+ End If
+ End Sub
+
Public Sub MouseHover(sender As Object, e As EventArgs)
Dim onMouseHoverHandler As EventHandler = CType(Me.Events(_onMouseHoverName), EventHandler)
@@ -448,7 +462,7 @@ Public Class ClassControlBuilder
'SQL für enable control
Dim SQLenable As String = String.Format("SELECT GUID, SQL_COMMAND_2,CONTROL_TYPE_ID,FORMAT_TYPE FROM TBPMO_CONTROL WHERE SQL_COMMAND_2 LIKE '%@{0}@%'", controlId)
-
+
value = DirectCast(control, DevExpress.XtraEditors.DateEdit).DateTime
If String.IsNullOrEmpty(value) Then
@@ -586,10 +600,10 @@ Public Class ClassControlBuilder
Dim GridView As DevExpress.XtraGrid.Views.Grid.GridView = sender
Dim control As Control = DirectCast(GridView.GridControl, Control)
Dim controlId As Integer = DirectCast(GridView.GridControl.Tag, ClassControlMetadata).Id
-
+
CONTROL_ID = controlId
control.Update()
-
+
'SQL für abhängige Auswahllisten
Dim SQL As String = String.Format("SELECT GUID, SQL_COMMAND_1,CONTROL_TYPE_ID,FORMAT_TYPE FROM TBPMO_CONTROL WHERE SQL_COMMAND_1 LIKE '%@{0}@%'", controlId)
'SQL für enable control
@@ -651,7 +665,7 @@ Public Class ClassControlBuilder
Catch ex As Exception
Exit Sub
End Try
-
+
If CURRENT_RECORD_ID = 0 And CtrlCommandUI.IsInsert = True Then
Exit Sub
End If
@@ -782,11 +796,18 @@ Public Class ClassControlBuilder
Case "GridControl"
Dim gridcontrol As DevExpress.XtraGrid.GridControl = CType(control, DevExpress.XtraGrid.GridControl)
Dim gridview As DevExpress.XtraGrid.Views.Grid.GridView = gridcontrol.MainView
- AddHandler gridview.CellValueChanged, AddressOf RecordChanged
- AddHandler gridview.CellValueChanged, AddressOf OnCheckedChanged
+
+ AddHandler gridview.SelectionChanged, AddressOf RecordChanged
+ AddHandler gridview.SelectionChanged, AddressOf OnCheckedChanged
+ AddHandler gridview.CustomDrawColumnHeader, AddressOf OnDrawColumnHeader
End Select
End Sub
+ Private Sub OnDrawColumnHeader(sender As Object, e As DevExpress.XtraGrid.Views.Grid.ColumnHeaderCustomDrawEventArgs)
+ Console.WriteLine()
+ End Sub
+
+
Private Sub SetDragDropHandler(groupbox As GroupBox)
If Not IsNothing(_group_box_drag_drop_handler) Then
AddHandler groupbox.DragDrop, Me._group_box_drag_drop_handler
@@ -1738,6 +1759,9 @@ Public Class ClassControlBuilder
gridview.OptionsView.EnableAppearanceEvenRow = True
gridview.Appearance.EvenRow.BackColor = Color.Aqua
+ gridview.OptionsSelection.MultiSelect = True
+ gridview.OptionsSelection.MultiSelectMode = DevExpress.XtraGrid.Views.Grid.GridMultiSelectMode.CheckBoxRowSelect
+
If _designMode Then
Dim CheckEdit As New DevExpress.XtraEditors.Repository.RepositoryItemCheckEdit()
@@ -2171,12 +2195,12 @@ Public Class ClassControlBuilder
control.DisplayMember = DT_ListBox.Columns(0).ColumnName
End Try
End If
-
+
End If
End If
End If
End If
-
+
' Wenn statische liste vorhanden, werte splitten und einfügen
If static_list.Length > 0 Then
diff --git a/app/DD-Record-Organiser/ClassControlCommandsUI.vb b/app/DD-Record-Organiser/ClassControlCommandsUI.vb
index 14831e4..58ae351 100644
--- a/app/DD-Record-Organiser/ClassControlCommandsUI.vb
+++ b/app/DD-Record-Organiser/ClassControlCommandsUI.vb
@@ -531,15 +531,14 @@ Public Class ClassControlCommandsUI
Continue For
End If
- If TypeOf ctrl Is DevExpress.XtraEditors.CheckedListBoxControl Then
- Dim id As Integer = DirectCast(ctrl.Tag, ClassControlMetadata).Id
- UpdateMultipleValues(id, RecordID, CONTROL_VALUE)
+ If TypeOf ctrl Is Windows.Forms.DataGridView Then
+ 'Dim id As Integer = DirectCast(ctrl.Tag, ClassControlMetadata).Id
+ 'UpdateMultipleValues(id, RecordID, CONTROL_VALUE)
Continue For
End If
- If TypeOf ctrl Is Windows.Forms.DataGridView Then
- Dim id As Integer = DirectCast(ctrl.Tag, ClassControlMetadata).Id
- UpdateMultipleValues(id, RecordID, CONTROL_VALUE)
+ ' UpdateMultipleValues wird für diese Controls bereits beim CheckedChanged-Event ausgeführt
+ If TypeOf ctrl Is DevExpress.XtraGrid.GridControl Or TypeOf ctrl Is DevExpress.XtraEditors.CheckedListBoxControl Then
Continue For
End If
@@ -758,46 +757,63 @@ Public Class ClassControlCommandsUI
Dim gridview As DevExpress.XtraGrid.Views.Grid.GridView = chk_grid.MainView
Dim SQL_COMAMND = ClassDatabase.Execute_Scalar("SELECT UPPER(SQL_COMMAND_1) FROM TBPMO_CONTROL WHERE GUID = " & CONTROL_ID)
- ''TODO: Wenn keine Datasource vorhanden, angecheckte einträge als string speichern
- If IsNothing(chk_grid.DataSource) Then
- Dim result As New List(Of String)
- Dim result_string As String
+ Dim result As New List(Of String)
+ Dim result_string As String
- For i As Integer = 0 To gridview.DataRowCount
- Dim res = gridview.GetRowCellValue(i, 0)
- If CBool(gridview.GetRowCellValue(i, "CHECKED")) = True Then
- Dim value = gridview.GetRowCellValue(i, 1).ToString.Trim
- result.Add(value)
- End If
- Next
- ' Hier wird ein String zurückgegeben, der als VALUE gespeichert werden soll
- ' Überspringt den Rest der funktion
- result_string = String.Join(";", result)
- If Not IsNothing(result_string) Then
- Return result_string
- Else
- Return Nothing
- End If
+ For Each index As Integer In gridview.GetSelectedRows()
+ Dim fieldName As String = gridview.Columns(0).FieldName
+ Dim value As String = gridview.GetRowCellValue(index, fieldName)
+ result.Add(value)
+ Next
+
+ result_string = String.Join(";", result)
+
+ If Not IsNothing(result_string) Then
+ Return result_string
Else
- Dim result As New List(Of String)
- Dim result_string As String
- Dim DT As DataTable = chk_grid.DataSource
- For Each row As DataRow In DT.Rows
- If CBool(row.Item(0)) = True Then
- Dim value = row.Item(1).ToString.Trim
- result.Add(value)
- End If
- Next
- ' Hier wird ein String zurückgegeben, der als VALUE gespeichert werden soll
- ' Überspringt den Rest der funktion
- result_string = String.Join(";", result)
- If Not IsNothing(result_string) Then
- Return result_string
- Else
- Return Nothing
- End If
+ Return Nothing
End If
+ ''TODO: Wenn keine Datasource vorhanden, angecheckte einträge als string speichern
+ 'If IsNothing(chk_grid.DataSource) Then
+ ' Dim result As New List(Of String)
+ ' Dim result_string As String
+
+ ' For i As Integer = 0 To gridview.DataRowCount
+ ' Dim res = gridview.GetRowCellValue(i, 0)
+ ' If CBool(gridview.GetRowCellValue(i, "CHECKED")) = True Then
+ ' Dim value = gridview.GetRowCellValue(i, 1).ToString.Trim
+ ' result.Add(value)
+ ' End If
+ ' Next
+ ' ' Hier wird ein String zurückgegeben, der als VALUE gespeichert werden soll
+ ' ' Überspringt den Rest der funktion
+ ' result_string = String.Join(";", result)
+ ' If Not IsNothing(result_string) Then
+ ' Return result_string
+ ' Else
+ ' Return Nothing
+ ' End If
+ 'Else
+ ' Dim result As New List(Of String)
+ ' Dim result_string As String
+ ' Dim DT As DataTable = chk_grid.DataSource
+ ' For Each row As DataRow In DT.Rows
+ ' If CBool(row.Item(0)) = True Then
+ ' Dim value = row.Item(1).ToString.Trim
+ ' result.Add(value)
+ ' End If
+ ' Next
+ ' ' Hier wird ein String zurückgegeben, der als VALUE gespeichert werden soll
+ ' ' Überspringt den Rest der funktion
+ ' result_string = String.Join(";", result)
+ ' If Not IsNothing(result_string) Then
+ ' Return result_string
+ ' Else
+ ' Return Nothing
+ ' End If
+ 'End If
+
'If SQL_COMAMND.ToString.StartsWith("SELECT [RECORD_ID]") Or SQL_COMAMND.ToString.StartsWith("SELECT [RECORD-ID]") Then
' 'Alle Recorddatensätze durchlaufen und überprüfen ob nicht angehakt
' 'Wenn nicht angehakt dann Record löschen
diff --git a/app/DD-Record-Organiser/ClassControlLoader.vb b/app/DD-Record-Organiser/ClassControlLoader.vb
index 6875639..6c318a2 100644
--- a/app/DD-Record-Organiser/ClassControlLoader.vb
+++ b/app/DD-Record-Organiser/ClassControlLoader.vb
@@ -114,27 +114,12 @@
control.BeginUpdate()
- Dim DT_Check As New DataTable
- Dim col_chk As New DataColumn(" ", GetType(Boolean))
- Dim col_str As New DataColumn("String_Value", GetType(String))
- col_str.Caption = dt.Columns(0).Caption
- col_str.ReadOnly = True
-
- DT_Check.Columns.Add(col_chk)
- DT_Check.Columns.Add(col_str)
-
- ' Daten füllen
- For Each row As DataRow In dt.Rows
- DT_Check.Rows.Add(False, row.Item(0))
- Next
-
' Damit beim Setzen von DisplayMember und ValueMember kein Fehler auftritt,
' muss die Datasource zunächst geleert werden und der selected index auf -1 gesetzt werden.
control.DataSource = Nothing
' Als letztes setzen wir die DataSource
- control.DataSource = DT_Check
- DirectCast(control.MainView, DevExpress.XtraGrid.Views.Grid.GridView).Columns(0).Width = 10
+ control.DataSource = dt
control.EndUpdate()
sw.Stop()
@@ -350,7 +335,7 @@
End If
End If
-
+
Catch ex As Exception
MsgBox("Unexpected Error in LoadValue3:" & vbNewLine & ex.Message)
ClassLogger.Add("Unexpected Error in LoadValue3: " & ex.Message, True)
@@ -531,6 +516,19 @@
End Sub
+ Public Shared Sub LoadValue(control As DevExpress.XtraGrid.GridControl, values As List(Of Object))
+ Dim gridview As DevExpress.XtraGrid.Views.Grid.GridView = control.MainView
+ For i As Integer = 0 To gridview.RowCount - 1
+ Dim fieldName As String = gridview.Columns(0).FieldName
+ Dim rowhandle As Integer = gridview.GetRowHandle(i)
+ Dim rowvalue As String = gridview.GetRowCellValue(rowhandle, fieldName)
+
+ If values.Contains(rowvalue) Then
+ gridview.SelectRow(rowhandle)
+ End If
+ Next
+ End Sub
+
End Class
End Namespace
diff --git a/app/DD-Record-Organiser/ClassControlValues.vb b/app/DD-Record-Organiser/ClassControlValues.vb
index d357b3a..c23cf37 100644
--- a/app/DD-Record-Organiser/ClassControlValues.vb
+++ b/app/DD-Record-Organiser/ClassControlValues.vb
@@ -291,6 +291,10 @@ Public Class ClassControlValues
Dim gridview = DirectCast(control, DataGridView)
ControlLoader.DataGridView.LoadValue(gridview, values)
+ Case GetType(DevExpress.XtraGrid.GridControl)
+ Dim gridcontrol As DevExpress.XtraGrid.GridControl = DirectCast(control, DevExpress.XtraGrid.GridControl)
+ ControlLoader.DataGridViewCheckable.LoadValue(gridcontrol, values)
+
Case Else
ClassLogger.Add(" >> Sub LoadControlValue - Control-Type nicht berücksichtigt: " & GetType(Control).ToString(), False)
End Select
@@ -582,6 +586,20 @@ Public Class ClassControlValues
dgv.Refresh()
End If
+ Case GetType(DevExpress.XtraGrid.GridControl)
+ Dim gc = DirectCast(control, DevExpress.XtraGrid.GridControl)
+ Dim gridview As DevExpress.XtraGrid.Views.Grid.GridView = gc.MainView
+
+ If gridview.RowCount = 0 Then
+ Exit Select
+ End If
+
+ For i As Integer = 0 To gridview.RowCount - 1
+ Dim fieldName As String = gridview.Columns(0).FieldName
+ Dim rowhandle As Integer = gridview.GetRowHandle(i)
+ Dim rowvalue As String = gridview.GetRowCellValue(rowhandle, fieldName)
+ gridview.UnselectRow(rowhandle)
+ Next
End Select
End Sub
#End Region
diff --git a/app/DD-Record-Organiser/frmConstructor_Main.Designer.vb b/app/DD-Record-Organiser/frmConstructor_Main.Designer.vb
index ae68fb5..24fce40 100644
--- a/app/DD-Record-Organiser/frmConstructor_Main.Designer.vb
+++ b/app/DD-Record-Organiser/frmConstructor_Main.Designer.vb
@@ -152,6 +152,7 @@ Partial Class frmConstructor_Main
Me.VWPMO_WF_ACTIVETableAdapter = New DD_Record_Organiser.DD_DMSDataSetTableAdapters.VWPMO_WF_ACTIVETableAdapter()
Me.TBPMO_FILES_USERBindingSource = New System.Windows.Forms.BindingSource(Me.components)
Me.ToolTipController = New DevExpress.Utils.ToolTipController(Me.components)
+ Me.SucheAnzeigenToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
CType(Me.SplitContainerMain, System.ComponentModel.ISupportInitialize).BeginInit()
Me.SplitContainerMain.SuspendLayout()
CType(Me.SplitContainerTop, System.ComponentModel.ISupportInitialize).BeginInit()
@@ -266,7 +267,7 @@ Partial Class frmConstructor_Main
'
'ContextMenuGrid
'
- Me.ContextMenuGrid.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.FunktionenDataGridToolStripMenuItem, Me.ToolStripSeparator1, Me.AnsichtUmschaltenToolStripMenuItem, Me.ButtonSetViewAsDefault, Me.ButtonResetView, Me.ToolStripSeparator2, Me.ButtonResetFilter, Me.ButtonExportToExcel, Me.DatenNeuLadenToolStripMenuItem, Me.ToolStripSeparator6, Me.tsmi_RecordDelete})
+ Me.ContextMenuGrid.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.FunktionenDataGridToolStripMenuItem, Me.ToolStripSeparator1, Me.AnsichtUmschaltenToolStripMenuItem, Me.ButtonSetViewAsDefault, Me.ButtonResetView, Me.ToolStripSeparator2, Me.SucheAnzeigenToolStripMenuItem, Me.ButtonResetFilter, Me.ButtonExportToExcel, Me.DatenNeuLadenToolStripMenuItem, Me.ToolStripSeparator6, Me.tsmi_RecordDelete})
Me.ContextMenuGrid.Name = "ContextMenuGrid"
resources.ApplyResources(Me.ContextMenuGrid, "ContextMenuGrid")
'
@@ -363,6 +364,7 @@ Partial Class frmConstructor_Main
Me.grvwGrid.OptionsBehavior.Editable = False
Me.grvwGrid.OptionsBehavior.ReadOnly = True
Me.grvwGrid.OptionsClipboard.CopyColumnHeaders = DevExpress.Utils.DefaultBoolean.[False]
+ Me.grvwGrid.OptionsFind.AllowFindPanel = False
Me.grvwGrid.OptionsSelection.EnableAppearanceFocusedCell = False
Me.grvwGrid.OptionsSelection.EnableAppearanceFocusedRow = False
Me.grvwGrid.OptionsSelection.EnableAppearanceHideSelection = False
@@ -1051,6 +1053,11 @@ Partial Class frmConstructor_Main
Me.TBPMO_FILES_USERBindingSource.DataMember = "TBPMO_FILES_USER"
Me.TBPMO_FILES_USERBindingSource.DataSource = Me.DD_DMSDataSet
'
+ 'SucheAnzeigenToolStripMenuItem
+ '
+ Me.SucheAnzeigenToolStripMenuItem.Name = "SucheAnzeigenToolStripMenuItem"
+ resources.ApplyResources(Me.SucheAnzeigenToolStripMenuItem, "SucheAnzeigenToolStripMenuItem")
+ '
'frmConstructor_Main
'
resources.ApplyResources(Me, "$this")
@@ -1238,4 +1245,5 @@ Partial Class frmConstructor_Main
Friend WithEvents tslblFileslocked As System.Windows.Forms.ToolStripLabel
Friend WithEvents tsButtonCancel As System.Windows.Forms.ToolStripButton
Friend WithEvents tsbtnRedo As System.Windows.Forms.ToolStripButton
+ Friend WithEvents SucheAnzeigenToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem
End Class
diff --git a/app/DD-Record-Organiser/frmConstructor_Main.resx b/app/DD-Record-Organiser/frmConstructor_Main.resx
index 6877b1a..5076ff7 100644
--- a/app/DD-Record-Organiser/frmConstructor_Main.resx
+++ b/app/DD-Record-Organiser/frmConstructor_Main.resx
@@ -246,6 +246,12 @@
229, 6
+
+ 232, 22
+
+
+ Suche anzeigen (CTRL+F)
+
232, 22
@@ -2754,6 +2760,12 @@
DevExpress.Utils.ToolTipController, DevExpress.Utils.v15.2, Version=15.2.9.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+ SucheAnzeigenToolStripMenuItem
+
+
+ System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
frmConstructor_Main
diff --git a/app/DD-Record-Organiser/frmConstructor_Main.vb b/app/DD-Record-Organiser/frmConstructor_Main.vb
index a68a657..bf04d13 100644
--- a/app/DD-Record-Organiser/frmConstructor_Main.vb
+++ b/app/DD-Record-Organiser/frmConstructor_Main.vb
@@ -1101,7 +1101,9 @@ Public Class frmConstructor_Main
elapsed = sw.Elapsed.TotalSeconds
If LogErrorsOnly = False Then ClassLogger.Add(" >> Load_Tree_View_Data1 took " & Format(elapsed, "0.000000000") & " seconds", False)
Get_RecordCounts_Nodes()
+
Load_Entity_Data(ACT_EBENE)
+
sw.Stop()
sw.Reset()
elapsed = elapsed - sw.Elapsed.TotalSeconds
@@ -1445,7 +1447,7 @@ Public Class frmConstructor_Main
Me.Cursor = Cursors.Default
Return False
End If
- If EditState.Insert = 1 Then
+ If EDIT_STATE = EditState.Insert Then
Select Case ACT_EBENE
Case 1
EBENE1_RECID = recid
@@ -2165,8 +2167,6 @@ Public Class frmConstructor_Main
ENTITY_LOADED = True
End If
-
-
sw.Done()
If ENTITY_RELOAD_AFT_CONTROL_LOAD = True Then
@@ -5242,7 +5242,7 @@ Public Class frmConstructor_Main
'''
Public Function TrySave_User() As Boolean
Try
- EDIT_STATE = EditState.None
+ 'EDIT_STATE = EditState.None
'Update_Status_Label(False)
If RECORD_CHANGED = False Then
@@ -5340,4 +5340,8 @@ Public Class frmConstructor_Main
Private Sub grvwGrid_CellValueChanged(sender As Object, e As CellValueChangedEventArgs) Handles grvwGrid.CellValueChanged
End Sub
+
+ Private Sub SucheAnzeigenToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles SucheAnzeigenToolStripMenuItem.Click
+ grvwGrid.ShowFindPanel()
+ End Sub
End Class
\ No newline at end of file
diff --git a/app/SetupWiX/Product.wxs b/app/SetupWiX/Product.wxs
index 77e5421..c3eeef2 100644
--- a/app/SetupWiX/Product.wxs
+++ b/app/SetupWiX/Product.wxs
@@ -105,27 +105,27 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -133,26 +133,26 @@
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+