From a80486dad242abc3f6755c8fb200a6e7cee6c742 Mon Sep 17 00:00:00 2001 From: Developer02 Digital Data Date: Mon, 14 Oct 2019 15:18:45 +0200 Subject: [PATCH] add DataResultList --- Controls.DocumentViewer/DocumentViewer.vb | 4 +- GUIs.ClipboardWatcher/ProfileFilter.vb | 13 +- GUIs.ClipboardWatcher/ProfileMatch.vb | 10 +- GUIs.ClipboardWatcher/ProfileSearches.vb | 67 ++-- GUIs.ClipboardWatcher/frmMatch.Designer.vb | 2 + GUIs.ClipboardWatcher/frmMatch.vb | 89 ++--- GUIs.ClipboardWatcher/frmTreeView.Designer.vb | 19 +- GUIs.ClipboardWatcher/frmTreeView.resx | 135 +++++--- GUIs.Common/Common.vbproj | 13 +- GUIs.Common/Constants.vb | 3 + .../DataResultList/DataResultConfig.vb | 6 + .../DataResultParams.vb} | 4 +- .../frmDataResultList.Designer.vb | 322 ++++++++++++++++++ .../DataResultList/frmDataResultList.resx | 173 ++++++++++ .../DataResultList/frmDataResultList.vb | 223 ++++++++++++ .../frmDocumentResultList.Designer.vb | 72 +++- .../frmDocumentResultList.resx | 111 +++--- .../frmDocumentResultList.vb | 76 +++-- GUIs.Common/My Project/licenses.licx | 3 +- SERVICES/DDEDM_NetworkService/IDBService.vb | 4 +- .../DDEDM_NetworkService/IDBService.vbproj | 8 + 21 files changed, 1127 insertions(+), 230 deletions(-) create mode 100644 GUIs.Common/Constants.vb create mode 100644 GUIs.Common/DataResultList/DataResultConfig.vb rename GUIs.Common/{ResultListParams.vb => DataResultList/DataResultParams.vb} (84%) create mode 100644 GUIs.Common/DataResultList/frmDataResultList.Designer.vb create mode 100644 GUIs.Common/DataResultList/frmDataResultList.resx create mode 100644 GUIs.Common/DataResultList/frmDataResultList.vb diff --git a/Controls.DocumentViewer/DocumentViewer.vb b/Controls.DocumentViewer/DocumentViewer.vb index 19b5de50..d129ef9b 100644 --- a/Controls.DocumentViewer/DocumentViewer.vb +++ b/Controls.DocumentViewer/DocumentViewer.vb @@ -110,7 +110,7 @@ Public Class DocumentViewer Private Sub UpdateMainUi() If GdViewer.PageCount = 0 Then - btnOpen.Enabled = True + 'btnOpen.Enabled = True btnPrint.Enabled = False btnFirstPage.Enabled = False btnPreviousPage.Enabled = False @@ -131,7 +131,7 @@ Public Class DocumentViewer lblPageCount.Text = "/ 0" cbZoom.SelectedIndex = -1 Else - btnOpen.Enabled = False + 'btnOpen.Enabled = False btnPrint.Enabled = True btnFirstPage.Enabled = True btnPreviousPage.Enabled = True diff --git a/GUIs.ClipboardWatcher/ProfileFilter.vb b/GUIs.ClipboardWatcher/ProfileFilter.vb index c77fe448..0f07cf01 100644 --- a/GUIs.ClipboardWatcher/ProfileFilter.vb +++ b/GUIs.ClipboardWatcher/ProfileFilter.vb @@ -19,6 +19,15 @@ Public Class ProfileFilter Private _LogConfig As LogConfig Private _Logger As Logger + Enum ImageIndex + Root + Profile + Clipboard + Process + Window + Control + End Enum + Public ReadOnly Property Profiles As List(Of ProfileData) Get Return _Profiles @@ -51,8 +60,10 @@ Public Class ProfileFilter Dim oRootNode As TreeNode = New TreeNode() With { .Text = $"Suche nach '{ClipboardContents}'", - .Tag = "ROOT" + .Tag = "ROOT", + .ImageIndex = ImageIndex.Root } + _TreeView.Nodes.Clear() _TreeView.Nodes.Add(oRootNode) For Each oProfile In Profiles diff --git a/GUIs.ClipboardWatcher/ProfileMatch.vb b/GUIs.ClipboardWatcher/ProfileMatch.vb index 1b4a276e..52d68bd1 100644 --- a/GUIs.ClipboardWatcher/ProfileMatch.vb +++ b/GUIs.ClipboardWatcher/ProfileMatch.vb @@ -27,7 +27,7 @@ Public Class ProfileMatch Public Function NewProfileNode(Profile As ProfileData) As TreeNode Dim oNode As New TreeNode() With { .Text = $"Profile: {Profile.Name}", - .ImageIndex = 0, + .ImageIndex = ProfileFilter.ImageIndex.Profile, .Tag = Profile.Name & "-PROFILE" } @@ -39,7 +39,7 @@ Public Class ProfileMatch Dim oNode As New TreeNode() With { .Text = oText, - .ImageIndex = 1, + .ImageIndex = ProfileFilter.ImageIndex.Clipboard, .Tag = Profile.Name & "-REGEX", .BackColor = GetMatchColor(IsMatch) } @@ -52,7 +52,7 @@ Public Class ProfileMatch Dim oNode As New TreeNode() With { .Text = oText, - .ImageIndex = 4, + .ImageIndex = ProfileFilter.ImageIndex.Process, .Tag = Process.Guid & "-PROCESS", .BackColor = GetMatchColor(IsMatch) } @@ -66,7 +66,7 @@ Public Class ProfileMatch Dim oNode As New TreeNode() With { .Text = oText, - .ImageIndex = 3, + .ImageIndex = ProfileFilter.ImageIndex.Window, .Tag = Window.Guid & "-WINDOW", .BackColor = GetMatchColor(IsMatch) } @@ -80,7 +80,7 @@ Public Class ProfileMatch Dim oNode As New TreeNode() With { .Text = oText, - .ImageIndex = 2, + .ImageIndex = ProfileFilter.ImageIndex.Control, .Tag = Control.Guid & "-CONTROL", .BackColor = GetMatchColor(IsMatch) } diff --git a/GUIs.ClipboardWatcher/ProfileSearches.vb b/GUIs.ClipboardWatcher/ProfileSearches.vb index 7331c7e5..0223c6d1 100644 --- a/GUIs.ClipboardWatcher/ProfileSearches.vb +++ b/GUIs.ClipboardWatcher/ProfileSearches.vb @@ -67,34 +67,47 @@ Public Class ProfileSearches End Function Private Function DoLoadDataSearches() As List(Of Search) - Dim oMatchingIds = String.Join(",", _Params.MatchingProfiles.Select(Function(p) p.Guid).ToArray()) - Dim oSQL As String = $"SELECT * FROM TBCW_PROF_DATA_SEARCH WHERE ACTIVE = 1 AND PROFILE_ID in ({oMatchingIds}) ORDER BY TAB_INDEX" - Dim oSearchesDataTable = _Environment.Database.GetDatatable(oSQL) Dim oDataSearches As New List(Of Search) - Dim oCounter As Integer = 0 - Dim oPatterns As New Patterns.ClassPatterns(_LogConfig) - - For Each oRow As DataRow In oSearchesDataTable.Rows - Dim oProfileId As Integer = oRow.Item("PROFILE_ID") - Dim oTabTitle As String = oRow.Item("TAB_TITLE") - Dim oConnectionId As Integer = oRow.Item("CONN_ID") - - oSQL = oRow.Item("SQL_COMMAND") - oSQL = oPatterns.ReplaceUserValues(oSQL, _Environment.User) - oSQL = oPatterns.ReplaceInternalValues(oSQL) - - Dim oDatatable As DataTable = _Environment.Database.GetDatatable(oSQL, oConnectionId) - oDataSearches.Add(New Search() With { - .DataTable = oDatatable, - .ProfileId = oProfileId, - .TabCaption = oTabTitle, - .TabIndex = oCounter, - .SQLCommand = oSQL - }) - - oCounter += 1 - Next - Return oDataSearches + Try + Dim oMatchingIds = String.Join(",", _Params.MatchingProfiles.Select(Function(p) p.Guid).ToArray()) + Dim oSQL As String = $"SELECT * FROM TBCW_PROF_DATA_SEARCH WHERE ACTIVE = 1 AND PROFILE_ID in ({oMatchingIds}) ORDER BY TAB_INDEX" + Dim oSearchesDataTable = _Environment.Database.GetDatatable(oSQL) + + Dim oCounter As Integer = 0 + Dim oPatterns As New Patterns.ClassPatterns(_LogConfig) + + For Each oRow As DataRow In oSearchesDataTable.Rows + Try + Dim oProfileId As Integer = oRow.Item("PROFILE_ID") + Dim oTabTitle As String = oRow.Item("TAB_TITLE") + Dim oConnectionId As Integer = oRow.Item("CONN_ID") + + oSQL = oRow.Item("SQL_COMMAND") + oSQL = oPatterns.ReplaceUserValues(oSQL, _Environment.User) + oSQL = oPatterns.ReplaceInternalValues(oSQL) + + Dim oDatatable As DataTable = _Environment.Database.GetDatatable(oSQL, oConnectionId) + oDataSearches.Add(New Search() With { + .DataTable = oDatatable, + .ProfileId = oProfileId, + .TabCaption = oTabTitle, + .TabIndex = oCounter, + .SQLCommand = oSQL + }) + + oCounter += 1 + Catch ex As Exception + _Logger.Error(ex) + End Try + Next + + Return oDataSearches. + Where(Function(s) Not IsNothing(s.DataTable)). + ToList() + Catch ex As Exception + _Logger.Error(ex) + Return oDataSearches + End Try End Function End Class diff --git a/GUIs.ClipboardWatcher/frmMatch.Designer.vb b/GUIs.ClipboardWatcher/frmMatch.Designer.vb index eba45e4c..d32465c8 100644 --- a/GUIs.ClipboardWatcher/frmMatch.Designer.vb +++ b/GUIs.ClipboardWatcher/frmMatch.Designer.vb @@ -55,6 +55,7 @@ Partial Class frmMatch ' Me.TileGroupDocumentsData.Name = "TileGroupDocumentsData" Me.TileGroupDocumentsData.Text = "Kombiniert" + Me.TileGroupDocumentsData.Visible = False ' 'TileGroupDocuments ' @@ -100,6 +101,7 @@ Partial Class frmMatch Me.Controls.Add(Me.Label1) Me.Controls.Add(Me.TileControlMatch) Me.Name = "frmMatch" + Me.ShowIcon = False Me.Text = "Profile gefunden" Me.ResumeLayout(False) Me.PerformLayout() diff --git a/GUIs.ClipboardWatcher/frmMatch.vb b/GUIs.ClipboardWatcher/frmMatch.vb index 196ba6f1..d456f2ae 100644 --- a/GUIs.ClipboardWatcher/frmMatch.vb +++ b/GUIs.ClipboardWatcher/frmMatch.vb @@ -55,6 +55,13 @@ Public Class frmMatch _Params = Params End Sub + Public Sub ShowTreeView() + Dim oForm As New frmTreeView(_Params.MatchTreeView.Nodes) With { + .StartPosition = FormStartPosition.CenterScreen + } + oForm.ShowDialog() + End Sub + Private Sub frmMatch_Load(sender As Object, e As EventArgs) Handles MyBase.Load Dim oCreatedTiles = CreateTiles() @@ -172,10 +179,7 @@ Public Class frmMatch End Function Private Sub Label2_Click(sender As Object, e As EventArgs) Handles Label2.Click - Dim oForm As New frmTreeView(_Params.MatchTreeView.Nodes) With { - .StartPosition = FormStartPosition.CenterScreen - } - oForm.ShowDialog() + ShowTreeView() End Sub Private Async Sub TileControlMatch_ItemClick(sender As Object, e As TileItemEventArgs) Handles TileControlMatch.ItemClick @@ -190,13 +194,15 @@ Public Class frmMatch Select Case oItem.Group.Name Case TileGroupData.Name - 'OpenResultForms(oProfileId, ProfileType.DATA_ONLY) + Dim oSearches = Await oProfileSearch.LoadDataSearchesAsync() + OpenDataResults(oProfile, oSearches) Case TileGroupDocuments.Name Dim oSearches = Await oProfileSearch.LoadDocumentSearchesAsync() OpenDocumentResults(oProfile, oSearches) Case Else + ' TODO: Load combined results 'OpenResultForms(oProfileId, ProfileType.ANY) End Select @@ -219,51 +225,54 @@ Public Class frmMatch Next Dim oForm As New frmDocumentResultList(_LogConfig, _Environment, oParams) + AddHandler oForm.FormClosed, AddressOf ProfileResultForm_Closed + OpenForms.Add(oForm) oForm.Show() End Sub - Private Sub OpenResultForms(ProfileId As Integer, OpenType As ProfileType) - 'If OpenType = ProfileType.ANY Or OpenType = ProfileType.DOCS_ONLY Then - ' ' Show Result Document Form - ' Dim oForm As New frmResult(_LogConfig, _Environment, _Params, frmResult.ResultType.Document) - ' AddHandler oForm.FormClosed, AddressOf ProfileResultForm_Closed - ' OpenForms.Add(oForm) - - ' oForm.Show() - 'End If + Private Sub OpenDataResults(Profile As ProfileData, Searches As List(Of ProfileSearches.Search)) + Dim oNameSlug = Language.Utils.ConvertTextToSlug(Profile.Name) + Dim oSearchGuids = Searches.Select(Function(s) s.Guid).ToArray + Dim oWindowGuid = $"{Profile.Guid}-{oNameSlug}-{String.Join("-", oSearchGuids)}" + Dim oParams = New DataResultParams() With { + .WindowGuid = oWindowGuid + } - 'If OpenType = ProfileType.ANY Or OpenType = ProfileType.DATA_ONLY Then - ' ' Show Result Data Form - ' Dim oForm As New frmResult(_LogConfig, _Environment, _Params, frmResult.ResultType.Data) - ' AddHandler oForm.FormClosed, AddressOf ProfileResultForm_Closed - ' OpenForms.Add(oForm) + For Each oSearch In Searches + oParams.Results.Add(New DataResult() With { + .Title = oSearch.TabCaption, + .Datatable = oSearch.DataTable + }) + Next - ' oForm.Show() - 'End If + Dim oForm As New frmDataResultList(_LogConfig, _Environment, oParams) + AddHandler oForm.FormClosed, AddressOf ProfileResultForm_Closed + OpenForms.Add(oForm) + oForm.Show() End Sub Private Sub ProfileResultForm_Closed(sender As Object, e As FormClosedEventArgs) Dim oShouldOpenAgain As Boolean = False Dim oThisForm = New List(Of IResultForm) From {sender} - 'If TypeOf sender Is frmResult Then - ' For Each oForm As IResultForm In OpenForms - ' ' Determine if frmProfileMatch should be shown - ' If oForm.ShouldReturnToMatchForm Then - ' oShouldOpenAgain = True - ' End If - ' Next - 'End If - - '' If frmProfileMatch should be shown, close all windows of this profile - 'If oShouldOpenAgain Then - ' For Each oForm As Form In OpenForms.Except(oThisForm) - ' ' Remove the Handler to prevent a loop - ' RemoveHandler oForm.FormClosed, AddressOf ProfileResultForm_Closed - ' oForm.Close() - ' Next - - ' Show() - 'End If + If TypeOf sender Is frmDataResultList Or TypeOf sender Is frmDocumentResultList Then + For Each oForm As IResultForm In OpenForms + ' Determine if frmProfileMatch should be shown + If oForm.ShouldReturnToMatchForm Then + oShouldOpenAgain = True + End If + Next + End If + + ' If frmProfileMatch should be shown, close all windows of this profile + If oShouldOpenAgain Then + For Each oForm As Form In OpenForms.Except(oThisForm) + ' Remove the Handler to prevent a loop + RemoveHandler oForm.FormClosed, AddressOf ProfileResultForm_Closed + oForm.Close() + Next + + Show() + End If End Sub End Class diff --git a/GUIs.ClipboardWatcher/frmTreeView.Designer.vb b/GUIs.ClipboardWatcher/frmTreeView.Designer.vb index d12f50d5..bc94633a 100644 --- a/GUIs.ClipboardWatcher/frmTreeView.Designer.vb +++ b/GUIs.ClipboardWatcher/frmTreeView.Designer.vb @@ -22,16 +22,15 @@ Partial Class frmTreeView 'Das Bearbeiten mit dem Code-Editor ist nicht möglich. _ Private Sub InitializeComponent() - Me.components = New System.ComponentModel.Container() Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(frmTreeView)) Me.tvProfileMatch = New System.Windows.Forms.TreeView() - Me.ImageList1 = New System.Windows.Forms.ImageList(Me.components) + Me.ImageList1 = New System.Windows.Forms.ImageList() Me.SuspendLayout() ' 'tvProfileMatch ' Me.tvProfileMatch.Dock = System.Windows.Forms.DockStyle.Fill - Me.tvProfileMatch.Font = New System.Drawing.Font("Segoe UI", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.tvProfileMatch.Font = New System.Drawing.Font("Segoe UI", 9.75!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) Me.tvProfileMatch.ImageIndex = 0 Me.tvProfileMatch.ImageList = Me.ImageList1 Me.tvProfileMatch.Location = New System.Drawing.Point(0, 0) @@ -44,11 +43,12 @@ Partial Class frmTreeView ' Me.ImageList1.ImageStream = CType(resources.GetObject("ImageList1.ImageStream"), System.Windows.Forms.ImageListStreamer) Me.ImageList1.TransparentColor = System.Drawing.Color.Transparent - Me.ImageList1.Images.SetKeyName(0, "award_star_gold_1.png") - Me.ImageList1.Images.SetKeyName(1, "application_xp.png") - Me.ImageList1.Images.SetKeyName(2, "application_form.png") - Me.ImageList1.Images.SetKeyName(3, "brick.png") - Me.ImageList1.Images.SetKeyName(4, "application_view_tile.png") + Me.ImageList1.Images.SetKeyName(0, "root.png") + Me.ImageList1.Images.SetKeyName(1, "profile.png") + Me.ImageList1.Images.SetKeyName(2, "clipboard.png") + Me.ImageList1.Images.SetKeyName(3, "process.png") + Me.ImageList1.Images.SetKeyName(4, "window.png") + Me.ImageList1.Images.SetKeyName(5, "control.png") ' 'frmTreeView ' @@ -57,7 +57,8 @@ Partial Class frmTreeView Me.ClientSize = New System.Drawing.Size(800, 450) Me.Controls.Add(Me.tvProfileMatch) Me.Name = "frmTreeView" - Me.Text = "frmTreeView" + Me.ShowIcon = False + Me.Text = "Profilsuchen Algorithmus" Me.ResumeLayout(False) End Sub diff --git a/GUIs.ClipboardWatcher/frmTreeView.resx b/GUIs.ClipboardWatcher/frmTreeView.resx index a51aba27..8099743c 100644 --- a/GUIs.ClipboardWatcher/frmTreeView.resx +++ b/GUIs.ClipboardWatcher/frmTreeView.resx @@ -124,58 +124,89 @@ AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0 - ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAADm - CwAAAk1TRnQBSQFMAgEBBQEAARgBAAEYAQABEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo - AwABQAMAASADAAEBAQABCAYAAQgYAAGAAgABgAMAAoABAAGAAwABgAEAAYABAAKAAgADwAEAAcAB3AHA - AQAB8AHKAaYBAAEzBQABMwEAATMBAAEzAQACMwIAAxYBAAMcAQADIgEAAykBAANVAQADTQEAA0IBAAM5 - AQABgAF8Af8BAAJQAf8BAAGTAQAB1gEAAf8B7AHMAQABxgHWAe8BAAHWAucBAAGQAakBrQIAAf8BMwMA - AWYDAAGZAwABzAIAATMDAAIzAgABMwFmAgABMwGZAgABMwHMAgABMwH/AgABZgMAAWYBMwIAAmYCAAFm - AZkCAAFmAcwCAAFmAf8CAAGZAwABmQEzAgABmQFmAgACmQIAAZkBzAIAAZkB/wIAAcwDAAHMATMCAAHM - AWYCAAHMAZkCAALMAgABzAH/AgAB/wFmAgAB/wGZAgAB/wHMAQABMwH/AgAB/wEAATMBAAEzAQABZgEA - ATMBAAGZAQABMwEAAcwBAAEzAQAB/wEAAf8BMwIAAzMBAAIzAWYBAAIzAZkBAAIzAcwBAAIzAf8BAAEz - AWYCAAEzAWYBMwEAATMCZgEAATMBZgGZAQABMwFmAcwBAAEzAWYB/wEAATMBmQIAATMBmQEzAQABMwGZ - AWYBAAEzApkBAAEzAZkBzAEAATMBmQH/AQABMwHMAgABMwHMATMBAAEzAcwBZgEAATMBzAGZAQABMwLM - AQABMwHMAf8BAAEzAf8BMwEAATMB/wFmAQABMwH/AZkBAAEzAf8BzAEAATMC/wEAAWYDAAFmAQABMwEA - AWYBAAFmAQABZgEAAZkBAAFmAQABzAEAAWYBAAH/AQABZgEzAgABZgIzAQABZgEzAWYBAAFmATMBmQEA - AWYBMwHMAQABZgEzAf8BAAJmAgACZgEzAQADZgEAAmYBmQEAAmYBzAEAAWYBmQIAAWYBmQEzAQABZgGZ - AWYBAAFmApkBAAFmAZkBzAEAAWYBmQH/AQABZgHMAgABZgHMATMBAAFmAcwBmQEAAWYCzAEAAWYBzAH/ - AQABZgH/AgABZgH/ATMBAAFmAf8BmQEAAWYB/wHMAQABzAEAAf8BAAH/AQABzAEAApkCAAGZATMBmQEA - AZkBAAGZAQABmQEAAcwBAAGZAwABmQIzAQABmQEAAWYBAAGZATMBzAEAAZkBAAH/AQABmQFmAgABmQFm - ATMBAAGZATMBZgEAAZkBZgGZAQABmQFmAcwBAAGZATMB/wEAApkBMwEAApkBZgEAA5kBAAKZAcwBAAKZ - Af8BAAGZAcwCAAGZAcwBMwEAAWYBzAFmAQABmQHMAZkBAAGZAswBAAGZAcwB/wEAAZkB/wIAAZkB/wEz - AQABmQHMAWYBAAGZAf8BmQEAAZkB/wHMAQABmQL/AQABzAMAAZkBAAEzAQABzAEAAWYBAAHMAQABmQEA - AcwBAAHMAQABmQEzAgABzAIzAQABzAEzAWYBAAHMATMBmQEAAcwBMwHMAQABzAEzAf8BAAHMAWYCAAHM - AWYBMwEAAZkCZgEAAcwBZgGZAQABzAFmAcwBAAGZAWYB/wEAAcwBmQIAAcwBmQEzAQABzAGZAWYBAAHM - ApkBAAHMAZkBzAEAAcwBmQH/AQACzAIAAswBMwEAAswBZgEAAswBmQEAA8wBAALMAf8BAAHMAf8CAAHM - Af8BMwEAAZkB/wFmAQABzAH/AZkBAAHMAf8BzAEAAcwC/wEAAcwBAAEzAQAB/wEAAWYBAAH/AQABmQEA - AcwBMwIAAf8CMwEAAf8BMwFmAQAB/wEzAZkBAAH/ATMBzAEAAf8BMwH/AQAB/wFmAgAB/wFmATMBAAHM - AmYBAAH/AWYBmQEAAf8BZgHMAQABzAFmAf8BAAH/AZkCAAH/AZkBMwEAAf8BmQFmAQAB/wKZAQAB/wGZ - AcwBAAH/AZkB/wEAAf8BzAIAAf8BzAEzAQAB/wHMAWYBAAH/AcwBmQEAAf8CzAEAAf8BzAH/AQAC/wEz - AQABzAH/AWYBAAL/AZkBAAL/AcwBAAJmAf8BAAFmAf8BZgEAAWYC/wEAAf8CZgEAAf8BZgH/AQAC/wFm - AQABIQEAAaUBAANfAQADdwEAA4YBAAOWAQADywEAA7IBAAPXAQAD3QEAA+MBAAPqAQAD8QEAA/gBAAHw - AfsB/wEAAaQCoAEAA4ADAAH/AgAB/wMAAv8BAAH/AwAB/wEAAf8BAAL/AgAD/4EAAQcFtAPPBa4BBzEA - AbQN/wGuMQABtAH/A5cB/wN1Af8DegH/Aa4xAAG0Af8BlwGYAZcB/wN1Af8BegGgAXoB/wGuMQABtAH/ - A5cB/wN1Af8DegH/Ac8xAAG0Df8BzzEAAbQB/wPcAf8DlwH/A9wB/wHPMQABtAH/A9wB/wGXAZgBlwH/ - AdwBCQHcAf8BtDEAAbQB/wPcAf8DlwH/A9wB/wG0MQABtA3/AbQxAA+0MQABtQ0JAbQxAAHxAbsLtAG1 - AfF0AAEaAVIB8wQAAf8BmQFSNgAB8wFZAVIBmQH/AQAB8wJSAXQDAAG8BrQDzwWuAQcWAAHzAgcB8wkA - Af8BWQGaAVkBUgGZAVIBegFYARoDAAG0AbwE8AS8BAcB7wGuAQcFtAPPBa4BBwUAAfQBvAGSAbwBBwH3 - AQcB9AgAA5oEegFSAfQDAAG0Dv8BrgG0DfIBrgMAAf8B8QH3AQcC8wK8Ae8BkgHwAf8GAAEaAXoBmgR6 - AVIEAAG0Af8M9AH/Aa4BtAHyAfMD8gEHBv8B8gGuAQAB/wHyAe8BBwLzAfEB8AIHAbwBBwLvAfIB/wMA - Af8CegGaBHoBUgHzAwABtAP/CvQB/wGuAbQB8wO0AfMBBwb/AfMBrgEAAgcB8gH0AfIC8QHwBAcBvAEH - AfcBBwIAAfYBWQF6ApoFegErARoCAAG0Bf8I9AH/Ac8BtAXzBwcB8wHPAQAB7wL0AvIC8QHwBgcBvAGS - AQABGwEyAXoBwwOaA3oCmgFSAXkB/wG0B/8G9AH/Ac8BtA3zAc8BAAHvAvQC8wHyAvEGBwG8AfcBAAVZ - AXoCmgF6BFkBMQEbAbQJ/wT0Af8BzwG0BfQBBwb/AfQBzwEAAe8C9AHzAfIBBwG8AvABvAHvAwcBvAH3 - AQAC/wL2AZoBUwKaAVkBmgP0AfYBAAG0C/8C9AH/ArQB9AO0AfQBBwb/AfQBtAEAAe8B9AHzAvEBBwHx - Av8B8QEHAfACBwG8AfcEAAG9AeMBUwF6AZoBMgEXAb0EAAG0Dv8CtAX0BwcB9AG0AQAB7wHxArwB8AHv - BP8B7wHwAbwCBwGSAwABvQHjARYB4wE4AXoBUwEWARcBvQMAAbQO8AK0DfQBtAEAAfAB7wHwAv8BBwHv - AvcB7wEHAv8B8AHvAbwDAAHjARYB4wFHAVMBWQFHAeMBFgFHAwAftAIAAe8D/wHyAe8C8AHvAfID/wHv - BAAB4wGUAkcBTQFTAkcBFgFHAwABtQEZBwkBvAEJAbwBCQFNAQkBtAG1DQkBtAIAAfIBBwL3Ae8B8AL/ - AfAB7wL3AQcB8gQAAeMBlAZHARYBRwMAAQkBuwy0AbUBuwHxAbsLtAG1AfEFAAH/Ae8E/wHvAf8HAAHj - AZQGRwEWARcoAAHyAQcC9wEHAfIFAAFCAU0BPgcAAT4DAAEoAwABQAMAASADAAEBAQABAQYAAQEWAAP/ - AQAC/wYAAv8HAAEBBwABAQcAAQEHAAEBBwABAQcAAQEHAAEBBwABAQcAAQEHAAEBBwABAQcAAQEHAAEB - BgAC/wYAAeMBxwb/AeABhwIAAv8B/AE/AeABBwMAAQEB8AEPAfABBwMAAQEBwAEDAfABDwMAAQECAAHg - AQcDAAEBAgABwAEDAwABAQIAAYAEAAEBAgABgAQAAQECAAGAAQEDAAEBAgAB8AEPAwABAQIAAeABBwMA - AQECAAHgAQcDAAEBAYABAQHgAQcDAAEBAYABAQHgAQcDAAEBAfABDwHgAQcE/wH4AR8L + ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAAD8 + EgAAAk1TRnQBSQFMAgEBBgEAAQgBAAEIAQABEAEAARABAAT/ASEBAAj/AUIBTQE2BwABNgMAASgDAAFA + AwABIAMAAQEBAAEgBgABIDYABP8DmQH/A+oF/wPMAf8DwAH/xAADhgH/A4YB/wOGAf8DhgH/A4YB/wOG + Af8DhgH/A4YF/wPXAf8D+AH/AcwBmQEyAf8BzAGZATIB/wHMApkF/wOWAf8EAAOGAf8DhgH/A4YB/wOG + Af8DhgH/A4YB/wOGAf8DhgH/A4YB/wOGAf8DhgH/A4YB/wOGAf8DhgH/hAADhgH/HAADhgX/AcwBmQFl + Af8BzAGZATIB/wHMAZkBMgH/AcwBmQEyCf8QAAOGAf8YAAOGAf+QAAOGAf8cAAOyBf8B8AHKAaYB/wHM + AZkBMg3/A8wB/xAAA4YB/xgAA4YB/5AAA4YB/yAAA5YF/wHwAcoBpgn/A8AB/wPqAf8EAAOGAf8DhgH/ + A4YB/wOGAf8DhgH/A4YB/wOGAf8DhgH/A4YB/wOGAf8DhgH/A4YB/wOGAf8DhgH/hAADhgH/JAAD8QH/ + A5YB/wOGAf8DwAH/BAADmQH/EAADhgH/GAADhgH/kAADhgH/OAADhgH/EAADhgH/GAADhgH/kAADhgH/ + OAADhgH/BAADhgH/A4YB/wOGAf8DhgH/A4YB/wOGAf8DhgH/A4YB/wOGAf8DhgH/A4YB/wOGAf8DhgH/ + A4YB/4QAA4YB/zgAA4YB/xAAA4YB/xgAA4YB/5AAA4YB/zgAA4YB/xAAA4YB/xgAA4YB/5AAAcwBmQEy + Af8BzAGZATIB/wHMAZkBMgH/AcwBmQEyAf8BzAGZATIB/wHMAZkBMgH/AcwBmQEyAf8BzAGZATIB/wHM + AZkBMgH/AcwBmQEyAf8BzAGZATIB/wHMAZkBMgH/AcwBmQEyAf8BzAGZATIB/wQAA4YB/wQAA4YB/wOG + Af8DhgH/A4YB/wOGAf8DhgH/A4YB/wOGAf8DhgH/A4YB/wOGAf8DhgH/A4YB/wOGAf+EAAHMAZkBMgH/ + AcwBmQEyAf8BzAGZATIB/wHMAZkBMgH/AcwBmQEyAf8BzAGZATIB/wHMAZkBMgH/AcwBmQEyAf8BzAGZ + ATIB/wHMAZkBMgH/AcwBmQEyAf8BzAGZATIB/wHMAZkBMgH/AcwBmQEyAf8EAAOGAf8EAAPXAf8D1wH/ + A9cB/wOGAf8D1wH/A9cB/wPXAf8D1wH/A9cB/wPXAf8DhgH/A9cB/wPXAf8D1wH/hAABzAGZATIB/wHM + AZkBMgH/AcwBmQEyAf8BzAGZATIB/wHMAZkBMgH/AcwBmQEyAf8BzAGZATIB/wHMAZkBMgH/AcwBmQEy + Af8BzAGZATIB/wHMAZkBMgH/AcwBmQEyAf8BzAGZATIB/wHMAZkBMgH/BAADhgH/BAAD1wH/A9cB/wPX + Af8DhgH/A9cB/wPXAf8D1wH/A9cB/wPXAf8D1wH/A4YB/wPXAf8D1wH/A9cB/4wAAcwBmQEyAf8BzAGZ + ATIB/wHMAZkBMgH/AcwBmQEyAf8BzAGZATIB/wHMAZkBMgH/AcwBmQEyAf8BzAGZATIB/wHMAZkBMgH/ + AcwBmQEyAf8BzAGZATIB/wHMAZkBMgH/AcwBmQEyAf8BzAGZATIB/wQAA4YB/wOGAf8DhgH/A4YB/wOG + Af8DhgH/A4YB/wOGAf8DhgH/A4YB/wOGAf8DhgH/A4YB/wOGAf+MAAHMAZkBMgH/AcwBmQEyAf8BzAGZ + ATIB/wHMAZkBMgH/AcwBmQEyAf8BzAGZATIB/wHMAZkBMgH/AcwBmQEyAf8BzAGZATIB/wHMAZkBMgH/ + AcwBmQEyAf8BzAGZATIB/wHMAZkBMgH/AcwBmQEyAf/IAAHMAZkBMgH/AcwBmQEyAf8BzAGZATIB/wHM + AZkBMgH/AcwBmQEyAf8BzAGZATIB/wHMAZkBMgH/AcwBmQEyAf8BzAGZATIB/wHMAZkBMgH/AcwBmQEy + Af8BzAGZATIB/wHMAZkBMgH/AcwBmQEyAf//AF0AA4Yh/xwAAcwBmQFlAf8BzAGZATIB/wPqAf8kAAOG + Af8DhgH/A4YB/wOGAf8DhgH/A4YB/wOGAf8DhgH/A4YB/wOGAf8DhgH/ZAADhiH/HAABzAGZATIB/wHM + AZkBMgH/AcwBmQEyAf9MAAOGAf8QAAHMAZkBMgH/AcwBmQEyAf8BzAGZATIB/wHMAZkBMgH/AcwBmQEy + Af8BzAGZATIB/wHMAZkBMgH/AcwBmQEyAf8BzAGZATIB/wHMAZkBMgH/AcwBmQEyAf8BzAGZATIB/wHM + AZkBMgH/EAABMgHMAv8BZQHMAv8BZQHMAv8BZQHMAv8DhiH/CAAE/wHMAZkBMgH/AcwBmQEyBf8D3QH/ + AcwBmQEyAf8BzAGZATIB/wHMAZkBMgX/AswBmQH/AcwBmQEyAf8CzAGZAf8gAAOGAf8DhgH/A4YB/wOG + Af8DhgH/CAADhgH/EAABzAGZATIB/wHMAZkBMgH/AcwBmQEyAf8BzAGZATIB/wHMAZkBMgH/AcwBmQEy + Af8BzAGZATIB/wHMAZkBMgH/AcwBmQEyAf8BzAGZATIB/wHMAZkBMgH/AcwBmQEyAf8BzAGZATIB/xAA + ATIBzAL/AWUBzAL/AWUBzAL/AWUBzAL/A4Yh/wgAAcwBmQFlAf8BzAGZATIB/wHMAZkBMgH/AcwBmQEy + Af8BzAGZATIB/wHMAZkBMgH/AcwBmQEyAf8BzAGZATIB/wHMAZkBMgH/AcwBmQEyAf8BzAGZATIB/wHM + AZkBMgH/IAABZQHMAv8BZQHMAv8BZQHMAv8BZQHMAv8DhgH/CAADhgH/EAABzAGZATIB/wHMAZkBMgH/ + AcwBmQEyAf8BzAGZATIB/wHMAZkBMgH/AcwBmQEyAf8BzAGZATIB/wHMAZkBMgH/AcwBmQEyAf8BzAGZ + ATIB/wHMAZkBMgH/AcwBmQEyAf8BzAGZATIB/xAAATIBzAL/AWUBzAL/AWUBzAL/AWUBzAL/A4Yh/wgA + BP8BzAGZATIB/wHMAZkBMgH/AcwBmQEyAf8BzAGZATIB/wHMAZkBMgH/AcwBmQEyAf8BzAGZATIB/wHM + AZkBMgH/AcwBmQEyAf8BzAGZATIB/wLMAZkB/yAAAWUBzAL/AWUBzAL/AWUBzAL/AWUBzAL/A4YB/wgA + A4YB/xAAAcwBmQEyAf8BzAGZATIB/wHMAZkBMgH/AcwBmQEyAf8BzAGZATIB/wHMAZkBMgH/AcwBmQEy + Af8BzAGZATIB/wHMAZkBMgH/AcwBmQEyAf8BzAGZATIB/wHMAZkBMgH/AcwBmQEyAf8QAAEyAcwC/wFl + AcwC/wFlAcwC/wFlAcwC/wOGIf8MAAHMAZkBZQH/AcwBmQEyAf8BzAGZATIB/wHMAZkBMgH/A/EF/wLM + AZkB/wHMAZkBMgH/AcwBmQEyAf8BzAGZATIF/yAAAWUBzAL/AWUBzAL/AWUBzAL/AWUBzAL/A4YB/wgA + A4YB/xAAAcwBmQEyAf8BzAGZATIB/wHMAZkBMgH/AcwBmQEyAf8BzAGZATIB/wHMAZkBMgH/AcwBmQEy + Af8BzAGZATIB/wHMAZkBMgH/AcwBmQEyAf8BzAGZATIB/wHMAZkBMgH/AcwBmQEyAf8QAAEyAcwC/wFl + AcwC/wFlAcwC/wFlAcwC/wOGIf8EAAHMAZkBZQH/AcwBmQEyAf8BzAGZATIB/wHMAZkBMgH/AcwBmQEy + Af8QAALMAZkB/wHMAZkBMgH/AcwBmQEyAf8BzAGZATIB/wHMAZkBMgH/A+oB/wQAA+MB/wOGBf8kAAOG + Af8DhgH/DAABzAGZATIB/wHMAZkBMgH/AcwBmQEyAf8BzAGZATIB/wHMAZkBMgH/CAABzAGZATIB/wHM + AZkBMgH/AcwBmQEyAf8BzAGZATIB/wHMAZkBMgH/AcwBmQEyAf8QAAEyAcwC/wFlAcwC/wFlAcwC/wFl + AcwC/wOGIf8EAAHMAZkBMgH/AcwBmQEyAf8BzAGZATIB/wHMAZkBMgH/AcwBmQEyAf8QAAT/AcwBmQEy + Af8BzAGZATIB/wHMAZkBMgH/AcwBmQEyAf8BzAGZATIB/wQABP8DhgH/A4YF/xwAA8AB/wOGAf8DzAH/ + DAABzAGZATIB/wHMAZkBMgH/AcwBmQEyAf8BzAGZATIB/wHMAZkBMgH/CAABzAGZATIB/wHMAZkBMgH/ + AcwBmQEyAf8BzAGZATIB/wHMAZkBMgH/AcwBmQEyAf8QAAEyAcwC/wFlAcwC/wFlAcwC/wFlAcwC/wOG + If8EAAHMAZkBMgH/AcwBmQEyAf8BzAGZATIB/wHMAZkBMgH/AcwBmQEyAf8QAAPxAf8BzAGZATIB/wHM + AZkBMgH/AcwBmQEyAf8BzAGZATIB/wHMAZkBZQH/CAAE/wOGAf8DhgX/FAADwAH/A4YB/wPMAf8QAAHM + AZkBMgH/AcwBmQEyAf8BzAGZATIB/wHMAZkBMgH/AcwBmQEyAf8BzAGZATIB/wHMAZkBMgH/AcwBmQEy + Af8BzAGZATIB/wHMAZkBMgH/AcwBmQEyAf8BzAGZATIB/wHMAZkBMgH/EAABMgHMAv8BZQHMAv8BZQHM + Av8BZQHMAv8DhiH/DAABzAGZATIB/wHMAZkBMgH/AcwBmQEyAf8D1wH/DAABzAGZATIB/wHMAZkBMgH/ + AcwBmQEyAf8D3QH/FAAE/wOGAf8DhgX/DAADwAH/A4YB/wPMAf8UAAHMAZkBMgH/AcwBmQEyAf8BzAGZ + ATIB/wHMAZkBMgH/AcwBmQEyAf8BzAGZATIB/wHMAZkBMgH/AcwBmQEyAf8BzAGZATIB/wHMAZkBMgH/ + AcwBmQEyAf8BzAGZATIB/wHMAZkBMgH/EAABMgHMAv8BZQHMAv8BZQHMAv8BZQHMAv8DhgH/A4YB/wOG + Af8DhgH/A4YB/wOGAf8DhgH/A4YB/wOGAf8MAAHMApkB/wHMAZkBMgH/AcwBmQEyAf8BzAGZATIB/wHM + AZkBMgH/AcwBmQEyAf8BzAGZATIB/wHMAZkBMgH/AcwBmQEyAf8BzAGZATIF/xgABP8DhgH/A4YF/wQA + A8AB/wOGAf8DzAH/AcwBmQFlAf8UAAHMAZkBMgH/AcwBmQEyAf8BzAGZATIB/wHMAZkBMgH/AcwBmQEy + Af8BzAGZATIB/wHMAZkBMgH/AcwBmQEyAf8BzAGZATIB/wHMAZkBMgH/AcwBmQEyAf8BzAGZATIB/wPq + Af8QAAEyAcwC/yAAAWUBzAL/FAAB8AHKAaYB/wHMAZkBMgH/AcwBmQEyAf8BzAGZATIB/wHMAZkBMgH/ + AcwBmQEyAf8BzAGZATIB/wHMAZkBMgH/AcwBmQEyAf8BzAGZATIB/wHMAZkBMgH/AcwBmQEyAf8cAAT/ + A4YB/wOGAf8DwAH/A4YB/wPMAf8BzAGZAWUB/wHMAZkBMgH/IAABzAGZATIB/xAAAcwBmQEyAf8gAAEy + AcwC/wQAA4YB/wOGAf8DhgH/A4YB/wOGAf8DhgH/A4YB/wFlAcwC/xQAA8wB/wHMAZkBMgH/AcwBmQEy + Af8BzAKZAf8BzAGZATIB/wHMAZkBMgH/AcwBmQEyAf8BzAGZATIB/wHMAZkBZQH/AcwBmQEyAf8BzAGZ + ATIB/wHMAZkBMgH/IAAE/wOGAf8DhgH/A8wB/wQAAcwBmQEyAf8BzAGZATIB/yAAAcwBmQEyAf8BzAGZ + ATIB/wHMAZkBMgH/AcwBmQEyAf8BzAGZATIB/wHMAZkBMgH/MAADhgH/BAADhgH/JAADzAH/A8wB/wgA + AcwBmQEyAf8BzAGZATIB/wHMAZkBMgH/BAAE/wHMAZkBZQX/JAAE/wPMAf+4AAHMAZkBMgH/AcwBmQEy + Af8BzAGZAWUB//8AGQABQgFNAT4HAAE+AwABKAMAAUADAAEgAwABAQEAAQEGAAEBFgAD/wEAAf8BgQL/ + BgABgAEBBAABfwEAAfcB7wQAAX8BAAH3Ae8EAAF/AoABAQQAAX8BwgH3Ae8EAAF/Af4B9wHvBAABfwH+ + AYABAQQAAX8B/gH3Ae8EAAF/Af4B9wHvBQABAgGAAQEFAAECAYABAQUAAQIBgAEBBAABwAEAAYABAQQA + AcABAAL/BAABwAEAAv8EAAT/Af4BAAH+AT8B4AEDAv8B/gEAAf4BPwH/AfsBwAEBAeABAAHAAQMB/AEb + AcABAQHgAQABwAEDAfwBGwHAAQEB4AEAAcABAwH8ARsBwAEBAeABAAHgAQMB/AEbAcABAQHgAQABgwHA + AY8B+QHBAYEB4AEAAYMBwAGHAfEBwQGBAeABAAGDAcABwwHjAcABAQHgAQAB4QHDAeEBxwHAAQEB4AEA + AeABAwHwAYcBwAEBAe8B9wHAAQMB+AEHAfsB3wHoAQcBwAEDAfwBJwH4AR8B/gG/AeYBIwH+AX8E/wH+ + AT8I/ws= \ No newline at end of file diff --git a/GUIs.Common/Common.vbproj b/GUIs.Common/Common.vbproj index a9798af3..57312abb 100644 --- a/GUIs.Common/Common.vbproj +++ b/GUIs.Common/Common.vbproj @@ -89,6 +89,15 @@ + + + + + frmDataResultList.vb + + + Form + @@ -113,9 +122,11 @@ Settings.settings True - + + frmDataResultList.vb + frmDocumentResultList.vb diff --git a/GUIs.Common/Constants.vb b/GUIs.Common/Constants.vb new file mode 100644 index 00000000..268c2f34 --- /dev/null +++ b/GUIs.Common/Constants.vb @@ -0,0 +1,3 @@ +Public Class Constants + Public Const NO_ROW_HANDLE = -1 +End Class diff --git a/GUIs.Common/DataResultList/DataResultConfig.vb b/GUIs.Common/DataResultList/DataResultConfig.vb new file mode 100644 index 00000000..b059f79e --- /dev/null +++ b/GUIs.Common/DataResultList/DataResultConfig.vb @@ -0,0 +1,6 @@ +Public Class DataResultConfig + Public Property SplitContainer1Distance As Integer = 500 + Public Property SplitContainer1Horizontal As Boolean = True + Public Property SplitContainer2Distance As Integer = 250 + Public Property SplitContainer2Horizontal As Boolean = False +End Class \ No newline at end of file diff --git a/GUIs.Common/ResultListParams.vb b/GUIs.Common/DataResultList/DataResultParams.vb similarity index 84% rename from GUIs.Common/ResultListParams.vb rename to GUIs.Common/DataResultList/DataResultParams.vb index 8d945c1e..e80a9762 100644 --- a/GUIs.Common/ResultListParams.vb +++ b/GUIs.Common/DataResultList/DataResultParams.vb @@ -1,4 +1,4 @@ -Public Class DataResultListParams +Public Class DataResultParams ''' ''' WindowGuid is used to save layout data ''' @@ -9,4 +9,4 @@ End Class Public Class DataResult Public Title As String Public Datatable As DataTable -End Class \ No newline at end of file +End Class diff --git a/GUIs.Common/DataResultList/frmDataResultList.Designer.vb b/GUIs.Common/DataResultList/frmDataResultList.Designer.vb new file mode 100644 index 00000000..48d53e9f --- /dev/null +++ b/GUIs.Common/DataResultList/frmDataResultList.Designer.vb @@ -0,0 +1,322 @@ + _ +Partial Class frmDataResultList + Inherits DevExpress.XtraBars.Ribbon.RibbonForm + + '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 + components.Dispose() + End If + Finally + MyBase.Dispose(disposing) + End Try + End Sub + + 'Wird vom Windows Form-Designer benötigt. + Private components As System.ComponentModel.IContainer + + '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.components = New System.ComponentModel.Container() + Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(frmDataResultList)) + Me.RibbonControl1 = New DevExpress.XtraBars.Ribbon.RibbonControl() + Me.SwitchMainContainerHorizontal = New DevExpress.XtraBars.BarToggleSwitchItem() + Me.SwitchDetailContainerHorizontal = New DevExpress.XtraBars.BarToggleSwitchItem() + Me.labelResultCount = New DevExpress.XtraBars.BarStaticItem() + Me.BarButtonItem1 = New DevExpress.XtraBars.BarButtonItem() + Me.RibbonPage1 = New DevExpress.XtraBars.Ribbon.RibbonPage() + Me.RibbonPageGroup2 = New DevExpress.XtraBars.Ribbon.RibbonPageGroup() + Me.RibbonPageGroup3 = New DevExpress.XtraBars.Ribbon.RibbonPageGroup() + Me.RibbonStatusBar1 = New DevExpress.XtraBars.Ribbon.RibbonStatusBar() + Me.RibbonPage2 = New DevExpress.XtraBars.Ribbon.RibbonPage() + Me.SplitContainerControl1 = New DevExpress.XtraEditors.SplitContainerControl() + Me.GridControl1 = New DevExpress.XtraGrid.GridControl() + Me.GridView1 = New DevExpress.XtraGrid.Views.BandedGrid.BandedGridView() + Me.GridBand1 = New DevExpress.XtraGrid.Views.BandedGrid.GridBand() + Me.SplitContainerControl2 = New DevExpress.XtraEditors.SplitContainerControl() + Me.GridControl2 = New DevExpress.XtraGrid.GridControl() + Me.GridView2 = New DevExpress.XtraGrid.Views.BandedGrid.BandedGridView() + Me.GridBand2 = New DevExpress.XtraGrid.Views.BandedGrid.GridBand() + Me.GridControl3 = New DevExpress.XtraGrid.GridControl() + Me.GridView3 = New DevExpress.XtraGrid.Views.BandedGrid.BandedGridView() + Me.GridBand3 = New DevExpress.XtraGrid.Views.BandedGrid.GridBand() + Me.RibbonPageGroup1 = New DevExpress.XtraBars.Ribbon.RibbonPageGroup() + Me.XtraSaveFileDialog = New DevExpress.XtraEditors.XtraSaveFileDialog(Me.components) + Me.RibbonPageGroup4 = New DevExpress.XtraBars.Ribbon.RibbonPageGroup() + Me.BarButtonItem2 = New DevExpress.XtraBars.BarButtonItem() + CType(Me.RibbonControl1, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.SplitContainerControl1, System.ComponentModel.ISupportInitialize).BeginInit() + Me.SplitContainerControl1.SuspendLayout() + CType(Me.GridControl1, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.GridView1, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.SplitContainerControl2, System.ComponentModel.ISupportInitialize).BeginInit() + Me.SplitContainerControl2.SuspendLayout() + CType(Me.GridControl2, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.GridView2, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.GridControl3, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.GridView3, System.ComponentModel.ISupportInitialize).BeginInit() + Me.SuspendLayout() + ' + 'RibbonControl1 + ' + Me.RibbonControl1.ExpandCollapseItem.Id = 0 + Me.RibbonControl1.Items.AddRange(New DevExpress.XtraBars.BarItem() {Me.RibbonControl1.ExpandCollapseItem, Me.SwitchMainContainerHorizontal, Me.SwitchDetailContainerHorizontal, Me.labelResultCount, Me.BarButtonItem1, Me.BarButtonItem2}) + Me.RibbonControl1.Location = New System.Drawing.Point(0, 0) + Me.RibbonControl1.MaxItemId = 6 + Me.RibbonControl1.Name = "RibbonControl1" + Me.RibbonControl1.Pages.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPage() {Me.RibbonPage1}) + Me.RibbonControl1.ShowApplicationButton = DevExpress.Utils.DefaultBoolean.[False] + Me.RibbonControl1.Size = New System.Drawing.Size(995, 143) + Me.RibbonControl1.StatusBar = Me.RibbonStatusBar1 + ' + 'SwitchMainContainerHorizontal + ' + Me.SwitchMainContainerHorizontal.Caption = "Hauptgrid Horizontal" + Me.SwitchMainContainerHorizontal.Id = 1 + Me.SwitchMainContainerHorizontal.Name = "SwitchMainContainerHorizontal" + ' + 'SwitchDetailContainerHorizontal + ' + Me.SwitchDetailContainerHorizontal.Caption = "Detailgrid Horizontal" + Me.SwitchDetailContainerHorizontal.Id = 2 + Me.SwitchDetailContainerHorizontal.Name = "SwitchDetailContainerHorizontal" + ' + 'labelResultCount + ' + Me.labelResultCount.Caption = "{0} Ergebnisse" + Me.labelResultCount.Id = 3 + Me.labelResultCount.Name = "labelResultCount" + ' + 'BarButtonItem1 + ' + Me.BarButtonItem1.Caption = "Als XLSX exportieren" + Me.BarButtonItem1.Id = 4 + Me.BarButtonItem1.ImageOptions.Image = CType(resources.GetObject("BarButtonItem1.ImageOptions.Image"), System.Drawing.Image) + Me.BarButtonItem1.ImageOptions.LargeImage = CType(resources.GetObject("BarButtonItem1.ImageOptions.LargeImage"), System.Drawing.Image) + Me.BarButtonItem1.Name = "BarButtonItem1" + ' + 'RibbonPage1 + ' + Me.RibbonPage1.Groups.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPageGroup() {Me.RibbonPageGroup4, Me.RibbonPageGroup2, Me.RibbonPageGroup3}) + Me.RibbonPage1.Name = "RibbonPage1" + Me.RibbonPage1.Text = "Ergebnisse" + ' + 'RibbonPageGroup2 + ' + Me.RibbonPageGroup2.ItemLinks.Add(Me.SwitchMainContainerHorizontal) + Me.RibbonPageGroup2.ItemLinks.Add(Me.SwitchDetailContainerHorizontal) + Me.RibbonPageGroup2.Name = "RibbonPageGroup2" + Me.RibbonPageGroup2.Text = "Layout" + ' + 'RibbonPageGroup3 + ' + Me.RibbonPageGroup3.ItemLinks.Add(Me.BarButtonItem1) + Me.RibbonPageGroup3.Name = "RibbonPageGroup3" + Me.RibbonPageGroup3.Text = "Export" + ' + 'RibbonStatusBar1 + ' + Me.RibbonStatusBar1.ItemLinks.Add(Me.labelResultCount) + Me.RibbonStatusBar1.Location = New System.Drawing.Point(0, 633) + Me.RibbonStatusBar1.Name = "RibbonStatusBar1" + Me.RibbonStatusBar1.Ribbon = Me.RibbonControl1 + Me.RibbonStatusBar1.Size = New System.Drawing.Size(995, 31) + ' + 'RibbonPage2 + ' + Me.RibbonPage2.Name = "RibbonPage2" + Me.RibbonPage2.Text = "RibbonPage2" + ' + 'SplitContainerControl1 + ' + Me.SplitContainerControl1.CollapsePanel = DevExpress.XtraEditors.SplitCollapsePanel.Panel2 + Me.SplitContainerControl1.Dock = System.Windows.Forms.DockStyle.Fill + Me.SplitContainerControl1.Location = New System.Drawing.Point(0, 143) + Me.SplitContainerControl1.Name = "SplitContainerControl1" + Me.SplitContainerControl1.Panel1.Controls.Add(Me.GridControl1) + Me.SplitContainerControl1.Panel1.Text = "Panel1" + Me.SplitContainerControl1.Panel2.Controls.Add(Me.SplitContainerControl2) + Me.SplitContainerControl1.Panel2.Text = "Panel2" + Me.SplitContainerControl1.Size = New System.Drawing.Size(995, 490) + Me.SplitContainerControl1.SplitterPosition = 401 + Me.SplitContainerControl1.TabIndex = 2 + Me.SplitContainerControl1.Text = "SplitContainerControl1" + ' + 'GridControl1 + ' + Me.GridControl1.Dock = System.Windows.Forms.DockStyle.Fill + Me.GridControl1.Location = New System.Drawing.Point(0, 0) + Me.GridControl1.MainView = Me.GridView1 + Me.GridControl1.MenuManager = Me.RibbonControl1 + Me.GridControl1.Name = "GridControl1" + Me.GridControl1.Size = New System.Drawing.Size(401, 490) + Me.GridControl1.TabIndex = 0 + Me.GridControl1.ViewCollection.AddRange(New DevExpress.XtraGrid.Views.Base.BaseView() {Me.GridView1}) + ' + 'GridView1 + ' + Me.GridView1.Bands.AddRange(New DevExpress.XtraGrid.Views.BandedGrid.GridBand() {Me.GridBand1}) + Me.GridView1.GridControl = Me.GridControl1 + Me.GridView1.Name = "GridView1" + Me.GridView1.OptionsView.ShowGroupPanel = False + ' + 'GridBand1 + ' + Me.GridBand1.AppearanceHeader.Font = New System.Drawing.Font("Tahoma", 9.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.GridBand1.AppearanceHeader.Options.UseFont = True + Me.GridBand1.Caption = "GridBand1" + Me.GridBand1.Name = "GridBand1" + Me.GridBand1.VisibleIndex = 0 + ' + 'SplitContainerControl2 + ' + Me.SplitContainerControl2.CollapsePanel = DevExpress.XtraEditors.SplitCollapsePanel.Panel2 + Me.SplitContainerControl2.Dock = System.Windows.Forms.DockStyle.Fill + Me.SplitContainerControl2.Horizontal = False + Me.SplitContainerControl2.Location = New System.Drawing.Point(0, 0) + Me.SplitContainerControl2.Name = "SplitContainerControl2" + Me.SplitContainerControl2.Panel1.Controls.Add(Me.GridControl2) + Me.SplitContainerControl2.Panel1.Text = "Panel1" + Me.SplitContainerControl2.Panel2.Controls.Add(Me.GridControl3) + Me.SplitContainerControl2.Panel2.Text = "Panel2" + Me.SplitContainerControl2.Size = New System.Drawing.Size(589, 490) + Me.SplitContainerControl2.SplitterPosition = 264 + Me.SplitContainerControl2.TabIndex = 0 + Me.SplitContainerControl2.Text = "SplitContainerControl2" + ' + 'GridControl2 + ' + Me.GridControl2.Dock = System.Windows.Forms.DockStyle.Fill + Me.GridControl2.Location = New System.Drawing.Point(0, 0) + Me.GridControl2.MainView = Me.GridView2 + Me.GridControl2.MenuManager = Me.RibbonControl1 + Me.GridControl2.Name = "GridControl2" + Me.GridControl2.Size = New System.Drawing.Size(589, 264) + Me.GridControl2.TabIndex = 0 + Me.GridControl2.ViewCollection.AddRange(New DevExpress.XtraGrid.Views.Base.BaseView() {Me.GridView2}) + ' + 'GridView2 + ' + Me.GridView2.Bands.AddRange(New DevExpress.XtraGrid.Views.BandedGrid.GridBand() {Me.GridBand2}) + Me.GridView2.GridControl = Me.GridControl2 + Me.GridView2.Name = "GridView2" + Me.GridView2.OptionsView.ShowGroupPanel = False + ' + 'GridBand2 + ' + Me.GridBand2.AppearanceHeader.Font = New System.Drawing.Font("Tahoma", 9.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.GridBand2.AppearanceHeader.Options.UseFont = True + Me.GridBand2.Caption = "GridBand2" + Me.GridBand2.Name = "GridBand2" + Me.GridBand2.VisibleIndex = 0 + ' + 'GridControl3 + ' + Me.GridControl3.Dock = System.Windows.Forms.DockStyle.Fill + Me.GridControl3.Location = New System.Drawing.Point(0, 0) + Me.GridControl3.MainView = Me.GridView3 + Me.GridControl3.MenuManager = Me.RibbonControl1 + Me.GridControl3.Name = "GridControl3" + Me.GridControl3.Size = New System.Drawing.Size(589, 221) + Me.GridControl3.TabIndex = 0 + Me.GridControl3.ViewCollection.AddRange(New DevExpress.XtraGrid.Views.Base.BaseView() {Me.GridView3}) + ' + 'GridView3 + ' + Me.GridView3.Bands.AddRange(New DevExpress.XtraGrid.Views.BandedGrid.GridBand() {Me.GridBand3}) + Me.GridView3.GridControl = Me.GridControl3 + Me.GridView3.Name = "GridView3" + Me.GridView3.OptionsView.ShowGroupPanel = False + ' + 'GridBand3 + ' + Me.GridBand3.AppearanceHeader.Font = New System.Drawing.Font("Tahoma", 9.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.GridBand3.AppearanceHeader.Options.UseFont = True + Me.GridBand3.Caption = "GridBand3" + Me.GridBand3.Name = "GridBand3" + Me.GridBand3.VisibleIndex = 0 + ' + 'RibbonPageGroup1 + ' + Me.RibbonPageGroup1.Name = "RibbonPageGroup1" + Me.RibbonPageGroup1.Text = "Layout" + ' + 'XtraSaveFileDialog + ' + Me.XtraSaveFileDialog.FileName = "XtraSaveFileDialog1" + ' + 'RibbonPageGroup4 + ' + Me.RibbonPageGroup4.AllowTextClipping = False + Me.RibbonPageGroup4.ItemLinks.Add(Me.BarButtonItem2) + Me.RibbonPageGroup4.Name = "RibbonPageGroup4" + Me.RibbonPageGroup4.Text = "Navigation" + ' + 'BarButtonItem2 + ' + Me.BarButtonItem2.Caption = "Zurück" + Me.BarButtonItem2.Id = 5 + Me.BarButtonItem2.ImageOptions.Image = CType(resources.GetObject("BarButtonItem2.ImageOptions.Image"), System.Drawing.Image) + Me.BarButtonItem2.ImageOptions.LargeImage = CType(resources.GetObject("BarButtonItem2.ImageOptions.LargeImage"), System.Drawing.Image) + Me.BarButtonItem2.Name = "BarButtonItem2" + ' + 'frmDataResultList + ' + Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) + Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font + Me.ClientSize = New System.Drawing.Size(995, 664) + Me.Controls.Add(Me.SplitContainerControl1) + Me.Controls.Add(Me.RibbonStatusBar1) + Me.Controls.Add(Me.RibbonControl1) + Me.Name = "frmDataResultList" + Me.Ribbon = Me.RibbonControl1 + Me.ShowIcon = False + Me.StatusBar = Me.RibbonStatusBar1 + Me.Text = "Daten Suche" + CType(Me.RibbonControl1, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.SplitContainerControl1, System.ComponentModel.ISupportInitialize).EndInit() + Me.SplitContainerControl1.ResumeLayout(False) + CType(Me.GridControl1, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.GridView1, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.SplitContainerControl2, System.ComponentModel.ISupportInitialize).EndInit() + Me.SplitContainerControl2.ResumeLayout(False) + CType(Me.GridControl2, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.GridView2, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.GridControl3, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.GridView3, System.ComponentModel.ISupportInitialize).EndInit() + Me.ResumeLayout(False) + Me.PerformLayout() + + End Sub + + Friend WithEvents RibbonControl1 As DevExpress.XtraBars.Ribbon.RibbonControl + Friend WithEvents RibbonPage1 As DevExpress.XtraBars.Ribbon.RibbonPage + Friend WithEvents RibbonStatusBar1 As DevExpress.XtraBars.Ribbon.RibbonStatusBar + Friend WithEvents RibbonPage2 As DevExpress.XtraBars.Ribbon.RibbonPage + Friend WithEvents SplitContainerControl1 As DevExpress.XtraEditors.SplitContainerControl + Friend WithEvents GridControl1 As DevExpress.XtraGrid.GridControl + Friend WithEvents GridView1 As DevExpress.XtraGrid.Views.BandedGrid.BandedGridView + Friend WithEvents GridBand1 As DevExpress.XtraGrid.Views.BandedGrid.GridBand + Friend WithEvents SplitContainerControl2 As DevExpress.XtraEditors.SplitContainerControl + Friend WithEvents GridControl2 As DevExpress.XtraGrid.GridControl + Friend WithEvents GridView2 As DevExpress.XtraGrid.Views.BandedGrid.BandedGridView + Friend WithEvents GridBand2 As DevExpress.XtraGrid.Views.BandedGrid.GridBand + Friend WithEvents GridControl3 As DevExpress.XtraGrid.GridControl + Friend WithEvents GridView3 As DevExpress.XtraGrid.Views.BandedGrid.BandedGridView + Friend WithEvents GridBand3 As DevExpress.XtraGrid.Views.BandedGrid.GridBand + Friend WithEvents RibbonPageGroup2 As DevExpress.XtraBars.Ribbon.RibbonPageGroup + Friend WithEvents RibbonPageGroup1 As DevExpress.XtraBars.Ribbon.RibbonPageGroup + Friend WithEvents SwitchMainContainerHorizontal As DevExpress.XtraBars.BarToggleSwitchItem + Friend WithEvents SwitchDetailContainerHorizontal As DevExpress.XtraBars.BarToggleSwitchItem + Friend WithEvents labelResultCount As DevExpress.XtraBars.BarStaticItem + Friend WithEvents BarButtonItem1 As DevExpress.XtraBars.BarButtonItem + Friend WithEvents RibbonPageGroup3 As DevExpress.XtraBars.Ribbon.RibbonPageGroup + Friend WithEvents XtraSaveFileDialog As DevExpress.XtraEditors.XtraSaveFileDialog + Friend WithEvents BarButtonItem2 As DevExpress.XtraBars.BarButtonItem + Friend WithEvents RibbonPageGroup4 As DevExpress.XtraBars.Ribbon.RibbonPageGroup +End Class diff --git a/GUIs.Common/DataResultList/frmDataResultList.resx b/GUIs.Common/DataResultList/frmDataResultList.resx new file mode 100644 index 00000000..5c3aeabd --- /dev/null +++ b/GUIs.Common/DataResultList/frmDataResultList.resx @@ -0,0 +1,173 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m + dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAAfdEVYdFRpdGxlAEV4cG9ydDtYc2x0O0V4cG9ydFRv + WHNsdDsT1nubAAAAd0lEQVQ4T91S2wmAMAzs1E6QHRzBHVzBTweKXMpJDBUN8cuDI6/LtZQ2VTWKiGbI + vYvBW/zVAJ0kusG0zFqhGQCjCK77ZjUw0pwGFPphzFl7rRmwgUgRF+Is1o83INkDvPb2DQCf80TARzOo + sP4PmHzylTPse9oOhn1G54TA0vAAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m + dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAAfdEVYdFRpdGxlAEV4cG9ydDtYc2x0O0V4cG9ydFRv + WHNsdDsT1nubAAABNUlEQVRYR+WQPQ7CMAyFOV+PwgE4QdcOiIGpMxNiZGJAYuIOnZA4BAzhPYRRcJ02 + paH8PemTa9dpPhg5596KORwSczgk5nBIzCHJ89x15AAywLM1rDuIOSQ4hBIf7hdFcS7LMkOrv/XQ+5jD + G51CgaqqTIlWgcli7vrAyD9mSVAAezX4LrkAoyWiBBirkuV+e+2Z0K4vwNwkTpSIFpCLpGfVz9LrXS3A + iATeZdhrFpAPsrJnWK131i4FGjhir1mAkQ9Lz+ojM0bvNoUS2GsX0JXxn/1fbO2GEiXQh7Z8hYD1Mlla + BWbjVQ0eShnrDozTCaymO15yhZFnHzXfoE0ngDN3Qr1Ub/4nAqE58jqBUNTeawRiQX5QICbe7ocLxMLg + TFqBJ/gMgS6kFlgD86IA67vA+3CjC4yA0LudSp2BAAAAAElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAAAD3RFWHRUaXRsZQBCYWNrO1By + ZXY9XJfJAAABCUlEQVQ4T6WToQoCQRCGr2uyCApiMfgGckXTNV9BEHyPA7N2u9EXuGoSk29gU7CIUdP6 + f8eezB5rEMMHu/PP/Lczu5dMl0WdTKzFQTw8rImhBfl20xcrsRe5GIuWhzUxNHLIDQwIbMVGDJxzSQw0 + n0NuaVIZ4IrQiBVayPG51JQG9MXRgi9r3xZH4cRTzI3GSajJ2DCcvFY8FGdB8UWMrO5zmMmaBRMeG2Ei + 7oJitI4tNHkM9sCCa2r54Ey8BMVRjAG384gZ0G+0GGIG9RZScRMUMMRupVkU/7QQG2JPnAQmV5Fa3ed8 + hvjtGptiJzChrYXRgmuEvx4S/P2UKxNcOdrPP5Plh9+5SN7FJ0JTtG4WuwAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAAAD3RFWHRUaXRsZQBCYWNrO1By + ZXY9XJfJAAACcElEQVRYR8WXv0odQRTGTSW3lCiIYGeXzjKdrXgbEZGkSJWQNAGfQLEWa1/BNxDufQPR + /IEQCATsUqQJBCKGmM33W+aTuePs3vEa3eIn7jnfOXN298yZvVNVVXVK/ae/d1zCgtgSB2IozsVFgP+x + 4UODNpdjhNICnohd8UFUhaAlhthczppxBTwSr8WpIOlfMRA7Yk0siV6A/7HhQ4OWGGLJQa4ba7QVMC/2 + he/oSKyjLQFtiHE8ucg5sg5aB8QgPBQEfhXbYjpeoARiQiw5yEXOkSLQWWx4VL7zd2IjTjoJ5Ai5/CSu + Xwd+iwzvy3d+58UNuUJOcrNGtgA61g23HSdIkb8vLoPWfBGLOT3Ix+tAxxr17sBuJ7BtENA8je9cPhos + XfyzWMjpjfz0hBuTtWq7nQwO9i7bp7Hb5dsUv0W8+Ccxn9OnSEfxrMFadcF2ML1INogDYuR7Jv4EnSHR + XE7fhPTMCWK3uLaREYpxJxYb2V+IdPEz8Tinb0MxDCviD7i2kTmOcS0WB99LcRX85kTMpNoSFMfEJMeQ + axs5TDAuJeI3wmN1YpKcjG3s51zbyImGsRcJ34o7Lw7OGfJydmC/4LqtgFciffQT4Zwhb7aAplfwXKTN + d2uSnNlX0NaEucEz0Q4AxWWbcNw2XBW/gsZwwPy3bVgyiFbEz6CLi5jN6ZuQPjuISkfxU/FDxEW8F0XT + ULrGUQylh9Gy+B60xUXI33oYwW2OY7TfgtZ8FI1FyDf2OIZOP0ig808y6PSj1CD0kwCa58E+yw2Pivfl + xmT7PNgPkxg6lm3D3vUdjQMtMXW3N1FagLm/H6fdUU39A2dK1oqEumnbAAAAAElFTkSuQmCC + + + + 17, 17 + + \ No newline at end of file diff --git a/GUIs.Common/DataResultList/frmDataResultList.vb b/GUIs.Common/DataResultList/frmDataResultList.vb new file mode 100644 index 00000000..6393bf3b --- /dev/null +++ b/GUIs.Common/DataResultList/frmDataResultList.vb @@ -0,0 +1,223 @@ +Imports System.IO +Imports System.Windows.Forms +Imports DevExpress.XtraGrid +Imports DevExpress.XtraGrid.Views.BandedGrid +Imports DevExpress.XtraGrid.Views.Base +Imports DevExpress.XtraGrid.Views.Grid +Imports DigitalData.Modules.Config +Imports DigitalData.Modules.Logging +Imports DigitalData.Modules.ZooFlow +Imports DigitalData.Modules.Language +Imports DevExpress.XtraPrinting +Imports DigitalData.GUIs.Common + +Public Class frmDataResultList + Implements IResultForm + + Private _LogConfig As LogConfig + Private _Logger As Logger + Private _Config As Object + Private _Environment As Environment + Private _Params As DataResultParams + Private _ResultLists As List(Of DataResult) + Private _IsLoading As Boolean + + Private _ActiveGrid As GridControl = Nothing + Private _ActiveGridBand As GridBand = Nothing + Private _ActiveRowHandle As Integer = Constants.NO_ROW_HANDLE + + Public Property ShouldReturnToMatchForm As Boolean Implements IResultForm.ShouldReturnToMatchForm + + Public Sub New(LogConfig As LogConfig, Environment As Environment, Params As DataResultParams) + ' Dieser Aufruf ist für den Designer erforderlich. + InitializeComponent() + + ' Fügen Sie Initialisierungen nach dem InitializeComponent()-Aufruf hinzu. + Dim oConfigPath As String = Path.Combine(Application.UserAppDataPath, "DocumentResultList", Params.WindowGuid) + + _LogConfig = LogConfig + _Logger = LogConfig.GetLogger() + _Config = New ConfigManager(Of DocumentResultConfig)(LogConfig, oConfigPath) + _Environment = Environment + _Params = Params + _ResultLists = Params.Results + + ShouldReturnToMatchForm = False + End Sub + + Private Sub frmDataResultList_Load(sender As Object, e As EventArgs) Handles MyBase.Load + Try + ' Load config + SplitContainerControl1.SplitterPosition = _Config.Config.SplitContainer1Distance + SwitchMainContainerHorizontal.Checked = _Config.Config.SplitContainer1Horizontal + SplitContainerControl2.SplitterPosition = _Config.Config.SplitContainer2Distance + SwitchDetailContainerHorizontal.Checked = _Config.Config.SplitContainer2Horizontal + + AddHandler GridView1.FocusedRowChanged, AddressOf GridView_FocusedRowChanged + AddHandler GridView2.FocusedRowChanged, AddressOf GridView_FocusedRowChanged + AddHandler GridView3.FocusedRowChanged, AddressOf GridView_FocusedRowChanged + + Dim oTotalResults = 0 + + For Each oList In _ResultLists + oTotalResults += oList.Datatable.Rows.Count + Next + + labelResultCount.Caption = String.Format(labelResultCount.Caption, oTotalResults) + + ' Load Grids + For index = 0 To _ResultLists.Count - 1 + Select Case index + Case 0 + Dim oResult As DataResult = _ResultLists.Item(0) + GridBand1.Caption = $"{oResult.Title} ({oResult.Datatable.Rows.Count})" + CreateDataGrid(GridView1, oResult.Datatable) + + Case 1 + Dim oResult As DataResult = _ResultLists.Item(1) + GridBand2.Caption = $"{oResult.Title} ({oResult.Datatable.Rows.Count})" + CreateDataGrid(GridView2, oResult.Datatable) + + Case 2 + Dim oResult As DataResult = _ResultLists.Item(2) + GridBand3.Caption = $"{oResult.Title} ({oResult.Datatable.Rows.Count})" + CreateDataGrid(GridView3, oResult.Datatable) + + Case Else + MessageBox.Show("You have more than three searches configured. This Window will only show the first three result lists!") + Exit For + End Select + Next + + ' Hide Grids depending on Result count + Select Case _ResultLists.Count + Case 1 + SplitContainerControl1.SetPanelCollapsed(True) + SplitContainerControl2.SetPanelCollapsed(True) + Case 2 + SplitContainerControl2.SetPanelCollapsed(True) + End Select + Catch ex As Exception + _Logger.Error(ex) + Finally + _IsLoading = False + End Try + End Sub + + Private Sub GridView_FocusedRowChanged(sender As Object, e As FocusedRowChangedEventArgs) + _ActiveRowHandle = e.FocusedRowHandle + End Sub + + Private Sub SplitContainerControl1_SplitterPositionChanged(sender As Object, e As EventArgs) Handles SplitContainerControl1.SplitterPositionChanged + If _IsLoading = False Then + _Config.Config.SplitContainer1Distance = SplitContainerControl1.SplitterPosition + _Config.Save() + End If + End Sub + + Private Sub SplitContainerControl2_SplitterPositionChanged(sender As Object, e As EventArgs) Handles SplitContainerControl2.SplitterPositionChanged + If _IsLoading = False Then + _Config.Config.SplitContainer2Distance = SplitContainerControl2.SplitterPosition + _Config.Save() + End If + End Sub + + Public Sub CreateDataGrid(GridView As GridView, Datatable As DataTable) + GridView.GridControl.DataSource = Datatable + End Sub + + Private Sub GridView1_ColumnFilterChanged(sender As GridView, e As EventArgs) Handles GridView1.ColumnFilterChanged + Dim oRowCount = sender.RowCount + UpdateGridHeader(0, oRowCount) + End Sub + + Private Sub GridView2_ColumnFilterChanged(sender As GridView, e As EventArgs) Handles GridView2.ColumnFilterChanged + Dim oRowCount = sender.RowCount + UpdateGridHeader(1, oRowCount) + End Sub + + Private Sub GridView3_ColumnFilterChanged(sender As GridView, e As EventArgs) Handles GridView3.ColumnFilterChanged + Dim oRowCount = sender.RowCount + UpdateGridHeader(2, oRowCount) + End Sub + + Private Sub UpdateGridHeader(Index As Integer, Count As Integer) + Select Case Index + Case 0 + Dim oResult = _ResultLists.Item(0) + GridBand1.Caption = $"{oResult.Title} ({Count})" + + Case 1 + Dim oResult = _ResultLists.Item(1) + GridBand2.Caption = $"{oResult.Title} ({Count})" + + Case 2 + Dim oResult = _ResultLists.Item(2) + GridBand3.Caption = $"{oResult.Title} ({Count})" + End Select + End Sub + + Private Sub SetActiveGridBand() + If _ActiveGrid.Equals(GridControl1) Then + _ActiveGridBand = GridBand1 + ElseIf _ActiveGrid.Equals(GridControl2) Then + _ActiveGridBand = GridBand2 + ElseIf _ActiveGrid.Equals(GridControl3) Then + _ActiveGridBand = GridBand3 + Else + _ActiveGridBand = Nothing + End If + End Sub + + Private Function GetActiveRow() As DataRow + Dim oActiveGrid = GetActiveGridControl() + Dim oActiveRowhandle = GetActiveRowHandle() + + If oActiveGrid IsNot Nothing And oActiveRowhandle <> Constants.NO_ROW_HANDLE Then + Dim oView = DirectCast(oActiveGrid.DefaultView, GridView) + Dim oRow = oView.GetDataRow(oActiveRowhandle) + Return oRow + Else + Return Nothing + End If + End Function + + Private Function GetActiveGridControl() As GridControl + If _ActiveGrid Is Nothing Then + Return Nothing + End If + + Return _ActiveGrid + End Function + + Private Function GetActiveRowHandle() As Integer + If _ActiveRowHandle = Constants.NO_ROW_HANDLE Then + Return Constants.NO_ROW_HANDLE + End If + + Return _ActiveRowHandle + End Function + + Private Sub BarButtonItem1_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonItem1.ItemClick + Dim oActiveGrid = GetActiveGridControl() + + If oActiveGrid IsNot Nothing Then + Dim oGridBand = _ActiveGridBand + + XtraSaveFileDialog.FileName = Utils.ConvertTextToSlug(oGridBand.Caption) & ".xlsx" + XtraSaveFileDialog.DefaultExt = ".xlsx" + + If XtraSaveFileDialog.ShowDialog() = Windows.Forms.DialogResult.OK Then + Dim oOptions As New XlsxExportOptions() With { + .ExportMode = XlsxExportMode.SingleFile + } + oActiveGrid.ExportToXlsx(XtraSaveFileDialog.FileName, oOptions) + End If + End If + End Sub + + Private Sub BarButtonItem2_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonItem2.ItemClick + ShouldReturnToMatchForm = True + Close() + End Sub +End Class \ No newline at end of file diff --git a/GUIs.Common/DocumentResultList/frmDocumentResultList.Designer.vb b/GUIs.Common/DocumentResultList/frmDocumentResultList.Designer.vb index 6c91a97b..1aae72a2 100644 --- a/GUIs.Common/DocumentResultList/frmDocumentResultList.Designer.vb +++ b/GUIs.Common/DocumentResultList/frmDocumentResultList.Designer.vb @@ -28,9 +28,13 @@ Partial Class frmDocumentResultList Me.BarButtonItem1 = New DevExpress.XtraBars.BarButtonItem() Me.BarButtonItem2 = New DevExpress.XtraBars.BarButtonItem() Me.BarButtonItem3 = New DevExpress.XtraBars.BarButtonItem() + Me.BarStaticItem1 = New DevExpress.XtraBars.BarStaticItem() + Me.labelResultCount = New DevExpress.XtraBars.BarStaticItem() + Me.BarButtonItem4 = New DevExpress.XtraBars.BarButtonItem() Me.RibbonPage1 = New DevExpress.XtraBars.Ribbon.RibbonPage() - Me.RibbonPageGroup1 = New DevExpress.XtraBars.Ribbon.RibbonPageGroup() + Me.RibbonPageGroup4 = New DevExpress.XtraBars.Ribbon.RibbonPageGroup() Me.RibbonPageGroup3 = New DevExpress.XtraBars.Ribbon.RibbonPageGroup() + Me.RibbonPageGroup1 = New DevExpress.XtraBars.Ribbon.RibbonPageGroup() Me.RibbonPageGroup2 = New DevExpress.XtraBars.Ribbon.RibbonPageGroup() Me.RibbonStatusBar = New DevExpress.XtraBars.Ribbon.RibbonStatusBar() Me.SplitContainerControl1 = New DevExpress.XtraEditors.SplitContainerControl() @@ -48,9 +52,9 @@ Partial Class frmDocumentResultList Me.GridControl3 = New DevExpress.XtraGrid.GridControl() Me.GridView3 = New DevExpress.XtraGrid.Views.BandedGrid.BandedGridView() Me.GridBand3 = New DevExpress.XtraGrid.Views.BandedGrid.GridBand() - Me.XtraSaveFileDialog = New DevExpress.XtraEditors.XtraSaveFileDialog(Me.components) Me.SplitContainerControl3 = New DevExpress.XtraEditors.SplitContainerControl() Me.DocumentViewer1 = New DocumentViewer.DocumentViewer() + Me.XtraSaveFileDialog = New DevExpress.XtraEditors.XtraSaveFileDialog(Me.components) CType(Me.RibbonControl, System.ComponentModel.ISupportInitialize).BeginInit() CType(Me.SplitContainerControl1, System.ComponentModel.ISupportInitialize).BeginInit() Me.SplitContainerControl1.SuspendLayout() @@ -70,9 +74,9 @@ Partial Class frmDocumentResultList 'RibbonControl ' Me.RibbonControl.ExpandCollapseItem.Id = 0 - Me.RibbonControl.Items.AddRange(New DevExpress.XtraBars.BarItem() {Me.RibbonControl.ExpandCollapseItem, Me.SwitchMainContainerHorizontal, Me.SwitchDetailContainerHorizontal, Me.BarButtonItemExportGrid1, Me.BarButtonItem1, Me.BarButtonItem2, Me.BarButtonItem3}) + Me.RibbonControl.Items.AddRange(New DevExpress.XtraBars.BarItem() {Me.RibbonControl.ExpandCollapseItem, Me.SwitchMainContainerHorizontal, Me.SwitchDetailContainerHorizontal, Me.BarButtonItemExportGrid1, Me.BarButtonItem1, Me.BarButtonItem2, Me.BarButtonItem3, Me.BarStaticItem1, Me.labelResultCount, Me.BarButtonItem4}) Me.RibbonControl.Location = New System.Drawing.Point(0, 0) - Me.RibbonControl.MaxItemId = 7 + Me.RibbonControl.MaxItemId = 10 Me.RibbonControl.Name = "RibbonControl" Me.RibbonControl.Pages.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPage() {Me.RibbonPage1}) Me.RibbonControl.ShowApplicationButton = DevExpress.Utils.DefaultBoolean.[False] @@ -95,7 +99,7 @@ Partial Class frmDocumentResultList ' 'BarButtonItemExportGrid1 ' - Me.BarButtonItemExportGrid1.Caption = "Haupttabelle exportieren" + Me.BarButtonItemExportGrid1.Caption = "Als XLSX exportieren" Me.BarButtonItemExportGrid1.Id = 3 Me.BarButtonItemExportGrid1.ImageOptions.Image = CType(resources.GetObject("BarButtonItemExportGrid1.ImageOptions.Image"), System.Drawing.Image) Me.BarButtonItemExportGrid1.ImageOptions.LargeImage = CType(resources.GetObject("BarButtonItemExportGrid1.ImageOptions.LargeImage"), System.Drawing.Image) @@ -125,18 +129,39 @@ Partial Class frmDocumentResultList Me.BarButtonItem3.ImageOptions.LargeImage = CType(resources.GetObject("BarButtonItem3.ImageOptions.LargeImage"), System.Drawing.Image) Me.BarButtonItem3.Name = "BarButtonItem3" ' + 'BarStaticItem1 + ' + Me.BarStaticItem1.Caption = "{0} Ergebnisse" + Me.BarStaticItem1.Id = 7 + Me.BarStaticItem1.Name = "BarStaticItem1" + Me.BarStaticItem1.Tag = "{0} Ergebnisse" + ' + 'labelResultCount + ' + Me.labelResultCount.Caption = "{0} Ergebnisse" + Me.labelResultCount.Id = 8 + Me.labelResultCount.Name = "labelResultCount" + ' + 'BarButtonItem4 + ' + Me.BarButtonItem4.Caption = "Zurück" + Me.BarButtonItem4.Id = 9 + Me.BarButtonItem4.ImageOptions.Image = CType(resources.GetObject("BarButtonItem4.ImageOptions.Image"), System.Drawing.Image) + Me.BarButtonItem4.ImageOptions.LargeImage = CType(resources.GetObject("BarButtonItem4.ImageOptions.LargeImage"), System.Drawing.Image) + Me.BarButtonItem4.Name = "BarButtonItem4" + ' 'RibbonPage1 ' - Me.RibbonPage1.Groups.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPageGroup() {Me.RibbonPageGroup1, Me.RibbonPageGroup3, Me.RibbonPageGroup2}) + Me.RibbonPage1.Groups.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPageGroup() {Me.RibbonPageGroup4, Me.RibbonPageGroup3, Me.RibbonPageGroup1, Me.RibbonPageGroup2}) Me.RibbonPage1.Name = "RibbonPage1" Me.RibbonPage1.Text = "Ergebnisse" ' - 'RibbonPageGroup1 + 'RibbonPageGroup4 ' - Me.RibbonPageGroup1.ItemLinks.Add(Me.SwitchMainContainerHorizontal) - Me.RibbonPageGroup1.ItemLinks.Add(Me.SwitchDetailContainerHorizontal) - Me.RibbonPageGroup1.Name = "RibbonPageGroup1" - Me.RibbonPageGroup1.Text = "Layout" + Me.RibbonPageGroup4.AllowTextClipping = False + Me.RibbonPageGroup4.ItemLinks.Add(Me.BarButtonItem4) + Me.RibbonPageGroup4.Name = "RibbonPageGroup4" + Me.RibbonPageGroup4.Text = "Navigation" ' 'RibbonPageGroup3 ' @@ -146,6 +171,13 @@ Partial Class frmDocumentResultList Me.RibbonPageGroup3.Name = "RibbonPageGroup3" Me.RibbonPageGroup3.Text = "Dateiaktionen" ' + 'RibbonPageGroup1 + ' + Me.RibbonPageGroup1.ItemLinks.Add(Me.SwitchMainContainerHorizontal) + Me.RibbonPageGroup1.ItemLinks.Add(Me.SwitchDetailContainerHorizontal) + Me.RibbonPageGroup1.Name = "RibbonPageGroup1" + Me.RibbonPageGroup1.Text = "Layout" + ' 'RibbonPageGroup2 ' Me.RibbonPageGroup2.ItemLinks.Add(Me.BarButtonItemExportGrid1) @@ -154,6 +186,7 @@ Partial Class frmDocumentResultList ' 'RibbonStatusBar ' + Me.RibbonStatusBar.ItemLinks.Add(Me.labelResultCount) Me.RibbonStatusBar.Location = New System.Drawing.Point(0, 640) Me.RibbonStatusBar.Name = "RibbonStatusBar" Me.RibbonStatusBar.Ribbon = Me.RibbonControl @@ -311,10 +344,6 @@ Partial Class frmDocumentResultList Me.GridBand3.OptionsBand.AllowSize = False Me.GridBand3.VisibleIndex = 0 ' - 'XtraSaveFileDialog - ' - Me.XtraSaveFileDialog.FileName = "XtraSaveFileDialog1" - ' 'SplitContainerControl3 ' Me.SplitContainerControl3.Dock = System.Windows.Forms.DockStyle.Fill @@ -337,6 +366,10 @@ Partial Class frmDocumentResultList Me.DocumentViewer1.Size = New System.Drawing.Size(422, 497) Me.DocumentViewer1.TabIndex = 0 ' + 'XtraSaveFileDialog + ' + Me.XtraSaveFileDialog.FileName = "XtraSaveFileDialog1" + ' 'frmDocumentResultList ' Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) @@ -348,8 +381,9 @@ Partial Class frmDocumentResultList Me.Icon = CType(resources.GetObject("$this.Icon"), System.Drawing.Icon) Me.Name = "frmDocumentResultList" Me.Ribbon = Me.RibbonControl + Me.ShowIcon = False Me.StatusBar = Me.RibbonStatusBar - Me.Text = "Dokumenten Suche ({0} Ergebnisse)" + Me.Text = "Dokumenten Suche" CType(Me.RibbonControl, System.ComponentModel.ISupportInitialize).EndInit() CType(Me.SplitContainerControl1, System.ComponentModel.ISupportInitialize).EndInit() Me.SplitContainerControl1.ResumeLayout(False) @@ -388,7 +422,6 @@ Partial Class frmDocumentResultList Friend WithEvents GridBand3 As DevExpress.XtraGrid.Views.BandedGrid.GridBand Friend WithEvents BarButtonItemExportGrid1 As DevExpress.XtraBars.BarButtonItem Friend WithEvents RibbonPageGroup2 As DevExpress.XtraBars.Ribbon.RibbonPageGroup - Friend WithEvents XtraSaveFileDialog As DevExpress.XtraEditors.XtraSaveFileDialog Friend WithEvents SplitContainerControl3 As DevExpress.XtraEditors.SplitContainerControl Friend WithEvents DocumentViewer1 As DocumentViewer.DocumentViewer Friend WithEvents BarButtonItem1 As DevExpress.XtraBars.BarButtonItem @@ -399,4 +432,9 @@ Partial Class frmDocumentResultList Friend WithEvents DateiÖffnenToolStripMenuItem As Windows.Forms.ToolStripMenuItem Friend WithEvents OrdnerÖffnenToolStripMenuItem As Windows.Forms.ToolStripMenuItem Friend WithEvents PfadInZwischenablageKopierenToolStripMenuItem As Windows.Forms.ToolStripMenuItem + Friend WithEvents BarStaticItem1 As DevExpress.XtraBars.BarStaticItem + Friend WithEvents labelResultCount As DevExpress.XtraBars.BarStaticItem + Friend WithEvents XtraSaveFileDialog As DevExpress.XtraEditors.XtraSaveFileDialog + Friend WithEvents BarButtonItem4 As DevExpress.XtraBars.BarButtonItem + Friend WithEvents RibbonPageGroup4 As DevExpress.XtraBars.Ribbon.RibbonPageGroup End Class diff --git a/GUIs.Common/DocumentResultList/frmDocumentResultList.resx b/GUIs.Common/DocumentResultList/frmDocumentResultList.resx index 4dc17f69..224c4534 100644 --- a/GUIs.Common/DocumentResultList/frmDocumentResultList.resx +++ b/GUIs.Common/DocumentResultList/frmDocumentResultList.resx @@ -198,47 +198,56 @@ ogIgldgUwOCReO9pmiYeleBsTZS4QoLPxDtFkQ6+Avf7vqcQQuw80PYsEnwmvomPBbA4lUB/Ixe+kk8A aBIWcSavANgrcZoA2CNxqgBYJLS/A2QXsDIMQ7wlwRmTR2ALa1cVqAJVoAr8l4AVpowAI/ZrEUUV+AmB nFnvtqI2y4WaO7s+m1CnlB8XAAAAAElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m + dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAAPdEVYdFRpdGxlAEJhY2s7UHJldj1cl8kAAAEJSURB + VDhPpZOhCgJBEIava7IICmIx+AZyRdM1X0EQfI8Ds3a70Re4ahKTb2BTsIhR0/p/x57MHmsQwwe788/8 + tzO7l0yXRZ1MrMVBPDysiaEF+XbTFyuxF7kYi5aHNTE0csgNDAhsxUYMnHNJDDSfQ25pUhngitCIFVrI + 8bnUlAb0xdGCL2vfFkfhxFPMjcZJqMnYMJy8VjwUZ0HxRYys7nOYyZoFEx4bYSLugmK0ji00eQz2wIJr + avngTLwExVGMAbfziBnQb7QYYgb1FlJxExQwxG6lWRT/tBAbYk+cBCZXkVrd53yG+O0am2InMKGthdGC + a4S/HhL8/ZQrE1w52s8/k+WH37lI3sUnQlO0bha7AAAAAElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m + dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAAPdEVYdFRpdGxlAEJhY2s7UHJldj1cl8kAAAJwSURB + VFhHxZe/Sh1BFMZNJbeUKIhgZ5fOMp2teBsRkaRIlZA0AZ9AsRZrX8E3EO59A9H8gRAIBOxSpAkEIoaY + zfdb5pO54+ze8Rrd4ifuOd85c3b3zJm9U1VVdUr9p793XMKC2BIHYijOxUWA/7HhQ4M2l2OE0gKeiF3x + QVSFoCWG2FzOmnEFPBKvxakg6V8xEDtiTSyJXoD/seFDg5YYYslBrhtrtBUwL/aF7+hIrKMtAW2IcTy5 + yDmyDloHxCA8FAR+FdtiOl6gBGJCLDnIRc6RItBZbHhUvvN3YiNOOgnkCLn8JK5fB36LDO/Ld37nxQ25 + Qk5ys0a2ADrWDbcdJ0iRvy8ug9Z8EYs5PcjH60DHGvXuwG4nsG0Q0DyN71w+Gixd/LNYyOmN/PSEG5O1 + arudDA72Ltunsdvl2xS/Rbz4JzGf06dIR/GswVp1wXYwvUg2iANi5Hsm/gSdIdFcTt+E9MwJYre4tpER + inEnFhvZX4h08TPxOKdvQzEMK+IPuLaROY5xLRYH30txFfzmRMyk2hIUx8Qkx5BrGzlMMC4l4jfCY3Vi + kpyMbeznXNvIiYaxFwnfijsvDs4Z8nJ2YL/guq2AVyJ99BPhnCFvtoCmV/BcpM13a5Kc2VfQ1oS5wTPR + DgDFZZtw3DZcFb+CxnDA/LdtWDKIVsTPoIuLmM3pm5A+O4hKR/FT8UPERbwXRdNQusZRDKWH0bL4HrTF + RcjfehjBbY5jtN+C1nwUjUXIN/Y4hk4/SKDzTzLo9KPUIPSTAJrnwT7LDY+K9+XGZPs82A+TGDqWbcPe + 9R2NAy0xdbc3UVqAub8fp91RTf0DZ0rWioS6adsAAAAASUVORK5CYII= - 170, 17 + 15, 13 - 17, 17 + 164, 13 - AAABAAIAEBAAAAEACABoBQAAJgAAACAgAAABAAgAqAgAAI4FAAAoAAAAEAAAACAAAAABAAgAAAAAAEAB - AAAAAAAAAAAAAAABAAAAAAAA3ufvAM7n7wDG1tYAwMDAAL21tQCkoKAAraWUAISEhADvpUoAzpRKAPeM - MQC1lHsA72sAAMZrKQDOYwAArXNKAJRzYwCtezEAtUIAAGtrYwBrY1IAWlpSAHNaGABaUjkAUikQAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAABAAMAEBAQAAEABAAoAQAANgAAABAQAAABAAgAaAUAAF4BAAAQEAAAAQAgAGgEAADGBgAAKAAAABAA + AAAgAAAAAQAEAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAIAAAACAgACAAAAAgACAAICA + AACAgIAAwMDAAAAA/wAA/wAAAP//AP8AAAD/AP8A//8AAP///wAAAAAAAAAAAAAP8AAAAAAAAPd/AAAA + AAAPd3fwAAAAAA93d38AAAAAAPd3d///8AAAD3d3d3d/8AAA93d3d3fwAAAPd3//d38AAA93///3fwAA + D3f///d/AAAPd///938AAA93f/93fwAAAPd3d3fwAAAA/3d3f/AAAAAA///wAP//AADn/wAAw/8AAIH/ + AACA/wAAwAcAAOABAADwAQAA+AAAAPgAAAD4AAAA+AAAAPgAAAD8AQAA/AEAAP8HAAAoAAAAEAAAACAA + AAABAAgAAAAAAAABAAAAAAAAAAAAAAABAAAAAQAAAAAAAEJCQgBNTU0AWFhYAGRkZABubW4AeXl5AIaG + hgDg4OAA5uTlAOvr6wDx7/AA9vb2APr6+gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAA////AP7+/v7+/v7+/v7+/v7+/v7+BxAQExMTExMTExMTExAHBBYYGBgY - GBgYGBgYGBgYFAsAAAAADwAAAAAAAAAACxULAAAAAA8BBAQEBAMCAQsXCwAAAAAPAQYGBQUEAwELFwsA - AAAADwIEBAQEAwIBCxcLAAAAAA8AAAAAAAAAAAsXCwAAAAAPAQQEBAQDAgELFwsAAAAADwIFBgUFBAMB - CxcLAAAAAA8BAgICAgIBAQsXCwAAAAAPAAICAgICAQELFQsMDAwMDgwMDAwKCggRERMLDQ0NDQ0NDQ0N - CQkJDxIE/gQGBgYGBgYGBgYGBgYDAv7+/v7+/v7+/v7+/v7+/v7/////gAD//wAA//8AAP//AAD//wAA - //8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//4AA////////KAAAACAAAABAAAAAAQAIAAAA - AACABAAAAAAAAAAAAAAAAQAAAAAAAN7r7wDW6+8A1ufvANbj5wDW3+cA3tvWAN7X1gDW3t4A1s/OANbL - xgDO294AztfeAM7V1gDOz84AzsvGAM7HxgDGzc4AxsXGAMbDvQDGvr0AxrKlAL28vQC9urUAvbS1AL2y - rQC9rK0Ava6lALWqpQC1pqUAtaScAL2ijAC9loQArZ6cAK2blACtlpQArZqMAK2UjACtjpQArYuMAKWM - hAClhIQA78NzAPe6ewD3qkoA755SAOeSSgDeqmMA55I5AO+WIQDvjhAA74oIAO+CAADeghAApYJ7AJSG - ewD/AP8AznEpANZ1EADedQAAzmUAAKV9ewCleWMAtXlaAK1tSgCceXMAnHFzAJR5ewCcbWsAhHFjAIxp - awCEbVoAlF1CAL19OQC1ZSEAvWUYAKVVMQCtSQgAnEkhAIRFIQClPAAAnDAAAEpt1gB7ZVoAe2FSAHNh - UgBzXVIAa1lSAGtVSgBjUUoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA @@ -249,26 +258,32 @@ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wD+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+ - /v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+ - /v43CAkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQgFNzdGU1VVVVVVVVVVVVVVVVVVVVVVVVVVVVVV - VVVVUjYFPk1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NVAlLFA4ODg4ODg4OUA4ODg4ODg4ODg4O - Dg4ODg4ODlBXD0sOAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAUFgPSw4AAAAAAAAAAFAAACUoKCYk - IiEgHR0YEQwDAABQWA9LDgAAAAAAAAAAUAAACwsLCwoKCgoHBwQDAgEAAFBYD0sOAAAAAAAAAABQAAAA - AAAAAAAAAAAAAAAAAAAAUFgPSw4AAAAAAAAAAFAAADxDQUA8NScnJCMcFhAEAABQWA9LDgAAAAAAAAAA - UAAAAAAAAAAAAAAAAAAAAAAAAFBYD0sOAAAAAAAAAABQAAALCwsLCgoKCgcHBAMCAQAAUFgPSw4AAAAA - AAAAAFAAACUoKCYmIiEhHR0YEw0EAABQWA9LDgAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAFBYD0sO - AAAAAAAAAABQAAAXGRkXFxcVFRMSEAwKAgAAUFgPSw4AAAAAAAAAAFAAABcZGRcXFxUVExIRDAoDAABQ - WA9LDgAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAFBYD0sOAAAAAAAAAABQAAA8Q0FAPDUnJyQhGxYQ - BwEAUFgPSw4AAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAABQWA9LDgAAAAAAAAAAUAAACgsKCgoHBwQE - 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 \ No newline at end of file diff --git a/GUIs.Common/DocumentResultList/frmDocumentResultList.vb b/GUIs.Common/DocumentResultList/frmDocumentResultList.vb index df280524..4e1283ec 100644 --- a/GUIs.Common/DocumentResultList/frmDocumentResultList.vb +++ b/GUIs.Common/DocumentResultList/frmDocumentResultList.vb @@ -11,8 +11,12 @@ Imports DigitalData.Modules.Logging Imports DigitalData.Modules.ZooFlow Imports DigitalData.Modules.Language Imports DevExpress.XtraGrid.Views.Base +Imports DevExpress.XtraGrid.Views.BandedGrid +Imports DigitalData.GUIs.Common Public Class frmDocumentResultList + Implements IResultForm + Private _LogConfig As LogConfig Private _Logger As Logger Private _Config As ConfigManager(Of DocumentResultConfig) @@ -21,9 +25,8 @@ Public Class frmDocumentResultList Private _ResultLists As List(Of DocumentResult) Private _ActiveGrid As GridControl = Nothing - Private _ActiveRowHandle As Integer = NO_ROW_HANDLE - - Private Const NO_ROW_HANDLE = -1 + Private _ActiveGridBand As GridBand = Nothing + Private _ActiveRowHandle As Integer = Constants.NO_ROW_HANDLE Private Const COLUMN_ICON = "ICON" Private Const COLUMN_FILEPATH = "FULL_FILENAME" @@ -32,6 +35,8 @@ Public Class frmDocumentResultList Private _IsLoading As Boolean = True + Public Property ShouldReturnToMatchForm As Boolean Implements IResultForm.ShouldReturnToMatchForm + Public Sub New(LogConfig As LogConfig, Environment As Environment, Params As DocumentResultParams) ' Dieser Aufruf ist für den Designer erforderlich. InitializeComponent() @@ -45,6 +50,8 @@ Public Class frmDocumentResultList _Environment = Environment _Params = Params _ResultLists = Params.Results + + ShouldReturnToMatchForm = False End Sub Private Sub frmDocumentResultList_Load(sender As Object, e As EventArgs) Handles MyBase.Load @@ -68,25 +75,24 @@ Public Class frmDocumentResultList oTotalResults += oList.Datatable.Rows.Count Next - Text = String.Format(Text, oTotalResults) + labelResultCount.Caption = String.Format(labelResultCount.Caption, oTotalResults) ' Load Grids For index = 0 To _ResultLists.Count - 1 Select Case index Case 0 Dim oResult As DocumentResult = _ResultLists.Item(0) - GridBand1.Caption = $"{oResult.Title} ({oResult.Datatable.Rows.Count})" CreateDocumentGrid(GridView1, oResult.Datatable) - + UpdateGridHeader(index, oResult.Datatable.Rows.Count) Case 1 Dim oResult As DocumentResult = _ResultLists.Item(1) - GridBand2.Caption = $"{oResult.Title} ({oResult.Datatable.Rows.Count})" CreateDocumentGrid(GridView2, oResult.Datatable) + UpdateGridHeader(index, oResult.Datatable.Rows.Count) Case 2 Dim oResult As DocumentResult = _ResultLists.Item(2) - GridBand3.Caption = $"{oResult.Title} ({oResult.Datatable.Rows.Count})" CreateDocumentGrid(GridView3, oResult.Datatable) + UpdateGridHeader(index, oResult.Datatable.Rows.Count) Case Else MessageBox.Show("You have more than three searches configured. This Window will only show the first three result lists!") @@ -113,15 +119,15 @@ Public Class frmDocumentResultList Private Sub UpdateGridHeader(Index As Integer, Count As Integer) Select Case Index Case 0 - Dim oResult As DocumentResult = _ResultLists.Item(0) + Dim oResult = _ResultLists.Item(0) GridBand1.Caption = $"{oResult.Title} ({Count})" Case 1 - Dim oResult As DocumentResult = _ResultLists.Item(1) + Dim oResult = _ResultLists.Item(1) GridBand2.Caption = $"{oResult.Title} ({Count})" Case 2 - Dim oResult As DocumentResult = _ResultLists.Item(2) + Dim oResult = _ResultLists.Item(2) GridBand3.Caption = $"{oResult.Title} ({Count})" End Select End Sub @@ -283,7 +289,7 @@ Public Class frmDocumentResultList End Sub Private Sub SwitchMainContainerHorizontal_CheckedChanged(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles SwitchMainContainerHorizontal.CheckedChanged - SplitContainerControl1.Horizontal = SwitchMainContainerHorizontal.Checked + SplitContainerControl1.Horizontal = SwitchMainContainerHorizontal.Checked If _Config IsNot Nothing And _IsLoading = False Then _Config.Config.SplitContainer1Horizontal = SwitchMainContainerHorizontal.Checked @@ -301,14 +307,20 @@ Public Class frmDocumentResultList End Sub Private Sub BarButtonItemExportGrid1_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonItemExportGrid1.ItemClick - XtraSaveFileDialog.FileName = Utils.ConvertTextToSlug(GridBand1.Caption) & ".xlsx" - XtraSaveFileDialog.DefaultExt = ".xlsx" - - If XtraSaveFileDialog.ShowDialog() = Windows.Forms.DialogResult.OK Then - Dim oOptions As New XlsxExportOptions() With { - .ExportMode = XlsxExportMode.SingleFile - } - GridControl1.ExportToXlsx(XtraSaveFileDialog.FileName, oOptions) + Dim oActiveGrid = GetActiveGridControl() + + If oActiveGrid IsNot Nothing Then + Dim oGridBand = _ActiveGridBand + + XtraSaveFileDialog.FileName = Utils.ConvertTextToSlug(oGridBand.Caption) & ".xlsx" + XtraSaveFileDialog.DefaultExt = ".xlsx" + + If XtraSaveFileDialog.ShowDialog() = Windows.Forms.DialogResult.OK Then + Dim oOptions As New XlsxExportOptions() With { + .ExportMode = XlsxExportMode.SingleFile + } + oActiveGrid.ExportToXlsx(XtraSaveFileDialog.FileName, oOptions) + End If End If End Sub @@ -330,7 +342,7 @@ Public Class frmDocumentResultList Dim oActiveGrid = GetActiveGridControl() Dim oActiveRowhandle = GetActiveRowHandle() - If oActiveGrid IsNot Nothing And oActiveRowhandle <> NO_ROW_HANDLE Then + If oActiveGrid IsNot Nothing And oActiveRowhandle <> Constants.NO_ROW_HANDLE Then Dim oView = DirectCast(oActiveGrid.DefaultView, GridView) Dim oRow = oView.GetDataRow(oActiveRowhandle) Return oRow @@ -348,8 +360,8 @@ Public Class frmDocumentResultList End Function Private Function GetActiveRowHandle() As Integer - If _ActiveRowHandle = NO_ROW_HANDLE Then - Return NO_ROW_HANDLE + If _ActiveRowHandle = Constants.NO_ROW_HANDLE Then + Return Constants.NO_ROW_HANDLE End If Return _ActiveRowHandle @@ -357,6 +369,19 @@ Public Class frmDocumentResultList Private Sub GridControl_Enter(sender As GridControl, e As EventArgs) Handles GridControl1.Enter, GridControl2.Enter, GridControl3.Enter _ActiveGrid = sender + SetActiveGridBand() + End Sub + + Private Sub SetActiveGridBand() + If _ActiveGrid.Equals(GridControl1) Then + _ActiveGridBand = GridBand1 + ElseIf _ActiveGrid.Equals(GridControl2) Then + _ActiveGridBand = GridBand2 + ElseIf _ActiveGrid.Equals(GridControl3) Then + _ActiveGridBand = GridBand3 + Else + _ActiveGridBand = Nothing + End If End Sub Private Sub OpenFolderPath() @@ -437,4 +462,9 @@ Public Class frmDocumentResultList Dim oRowCount = sender.RowCount UpdateGridHeader(2, oRowCount) End Sub + + Private Sub BarButtonItem4_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonItem4.ItemClick + ShouldReturnToMatchForm = True + Close() + End Sub End Class \ No newline at end of file diff --git a/GUIs.Common/My Project/licenses.licx b/GUIs.Common/My Project/licenses.licx index b98ddda4..c2085548 100644 --- a/GUIs.Common/My Project/licenses.licx +++ b/GUIs.Common/My Project/licenses.licx @@ -1,3 +1,4 @@ DevExpress.XtraBars.BarManager, DevExpress.XtraBars.v18.1, Version=18.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a -DevExpress.XtraBars.Ribbon.RibbonControl, DevExpress.XtraBars.v18.1, Version=18.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a +DevExpress.XtraLayout.LayoutControl, DevExpress.XtraLayout.v18.1, Version=18.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a DevExpress.XtraGrid.GridControl, DevExpress.XtraGrid.v18.1, Version=18.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a +DevExpress.XtraBars.Ribbon.RibbonControl, DevExpress.XtraBars.v18.1, Version=18.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a diff --git a/SERVICES/DDEDM_NetworkService/IDBService.vb b/SERVICES/DDEDM_NetworkService/IDBService.vb index 46828878..35a9031f 100644 --- a/SERVICES/DDEDM_NetworkService/IDBService.vb +++ b/SERVICES/DDEDM_NetworkService/IDBService.vb @@ -1,8 +1,8 @@ Imports System.ServiceModel Imports DigitalData.Modules.Database Imports DigitalData.Modules.Logging -Imports DigitalData.Modules.Filesystem Imports System.IO +Imports DigitalData.Modules.Filesystem Public Class IDBService @@ -168,7 +168,7 @@ Public Class IDBService End Try End Function - Public Function UpdateFile(DocObject As DocumentObject, Contents() As Byte) As DocumentResult Implements IIDBService.UpdateFile + Public Function UpdateFile(DocObject As Modules.EDMIAPI.IDBServiceReference.DocumentObject, Contents() As Byte) As DocumentResult Implements IIDBService.UpdateFile Try TestFileExists(DocObject.ContainerId) diff --git a/SERVICES/DDEDM_NetworkService/IDBService.vbproj b/SERVICES/DDEDM_NetworkService/IDBService.vbproj index 3d342642..dacb4825 100644 --- a/SERVICES/DDEDM_NetworkService/IDBService.vbproj +++ b/SERVICES/DDEDM_NetworkService/IDBService.vbproj @@ -148,6 +148,14 @@ {EAF0EA75-5FA7-485D-89C7-B2D843B03A96} Database + + {5B1171DC-FFFE-4813-A20D-786AAE47B320} + EDMIAPI + + + {991D0231-4623-496D-8BD0-9CA906029CBC} + Filesystem + {903B2D7D-3B80-4BE9-8713-7447B704E1B0} Logging