diff --git a/GUIs.Common/My Project/licenses.licx b/GUIs.Common/My Project/licenses.licx
index 2cf99fc3..4c23d9e3 100644
--- a/GUIs.Common/My Project/licenses.licx
+++ b/GUIs.Common/My Project/licenses.licx
@@ -1,4 +1,7 @@
-DevExpress.XtraEditors.Repository.RepositoryItemTextEdit, DevExpress.XtraEditors.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraGrid.GridControl, DevExpress.XtraGrid.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-DevExpress.XtraBars.Ribbon.RibbonControl, DevExpress.XtraBars.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+DevExpress.XtraEditors.ProgressBarControl, DevExpress.XtraEditors.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+DevExpress.XtraEditors.Repository.RepositoryItemTextEdit, DevExpress.XtraEditors.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraLayout.LayoutControl, DevExpress.XtraLayout.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+DevExpress.XtraEditors.Repository.RepositoryItemComboBox, DevExpress.XtraEditors.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+DevExpress.XtraEditors.TextEdit, DevExpress.XtraEditors.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+DevExpress.XtraBars.Ribbon.RibbonControl, DevExpress.XtraBars.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
diff --git a/GUIs.Common/frmDocumentResultList.Designer.vb b/GUIs.Common/frmDocumentResultList.Designer.vb
index 2398c636..4d9a79b8 100644
--- a/GUIs.Common/frmDocumentResultList.Designer.vb
+++ b/GUIs.Common/frmDocumentResultList.Designer.vb
@@ -113,7 +113,7 @@ Partial Class frmDocumentResultList
'
Me.SplitContainerControl1.Panel2.Controls.Add(Me.SplitContainerControl2)
resources.ApplyResources(Me.SplitContainerControl1.Panel2, "SplitContainerControl1.Panel2")
- Me.SplitContainerControl1.SplitterPosition = 382
+ Me.SplitContainerControl1.SplitterPosition = 389
'
'GridControl1
'
@@ -296,12 +296,12 @@ Partial Class frmDocumentResultList
Me.MenuItemPropertiesZooFlow.ImageOptions.SvgImage = Global.DigitalData.GUIs.Common.My.Resources.Resources.editcolors
Me.MenuItemPropertiesZooFlow.Name = "MenuItemPropertiesZooFlow"
'
- 'BarButtonItem1
+ 'ButtonRefresh
'
- resources.ApplyResources(Me.ButtonRefresh, "BarButtonItem1")
+ resources.ApplyResources(Me.ButtonRefresh, "ButtonRefresh")
Me.ButtonRefresh.Id = 29
Me.ButtonRefresh.ImageOptions.SvgImage = Global.DigitalData.GUIs.Common.My.Resources.Resources.refreshallpivottable
- Me.ButtonRefresh.Name = "BarButtonItem1"
+ Me.ButtonRefresh.Name = "ButtonRefresh"
'
'RibbonPage1
'
diff --git a/GUIs.Common/frmDocumentResultList.resx b/GUIs.Common/frmDocumentResultList.resx
index 03bc4f0f..4d9932fc 100644
--- a/GUIs.Common/frmDocumentResultList.resx
+++ b/GUIs.Common/frmDocumentResultList.resx
@@ -426,7 +426,7 @@
Eigenschaften
-
+
Ergebnisse aktualisieren
@@ -455,10 +455,10 @@
1189, 132
- 0, 647
+ 0, 649
- 1189, 24
+ 1189, 22
RibbonStatusBar
@@ -485,7 +485,7 @@
2
- 382, 511
+ 389, 513
0
@@ -539,7 +539,7 @@
GridBand2
- 370, 223
+ 363, 223
0
@@ -587,7 +587,7 @@
GridBand3
- 370, 278
+ 363, 280
0
@@ -620,7 +620,7 @@
1
- 370, 511
+ 363, 513
0
@@ -656,7 +656,7 @@
1
- 762, 511
+ 762, 513
2
@@ -704,7 +704,7 @@
0, 0
- 413, 511
+ 413, 513
0
@@ -737,7 +737,7 @@
1
- 1189, 515
+ 1189, 517
5
@@ -978,10 +978,10 @@
DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-
- BarButtonItem1
+
+ ButtonRefresh
-
+
DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
diff --git a/GUIs.Common/frmDocumentResultList.vb b/GUIs.Common/frmDocumentResultList.vb
index d9f588c4..a54c3d05 100644
--- a/GUIs.Common/frmDocumentResultList.vb
+++ b/GUIs.Common/frmDocumentResultList.vb
@@ -77,7 +77,8 @@ Public Class frmDocumentResultList
Public Event NeedsRefresh As EventHandler(Of Integer) Implements IResultForm.NeedsRefresh
Public Event ResultsRefreshed As EventHandler(Of List(Of DocumentResultList.DocumentResult))
- Public Delegate Sub SetDatasourceCallback(pDatatable As DataTable)
+ Private Delegate Sub DatasourceDelegate(View As GridView, Datasource As Object)
+ Private Delegate Function RefreshResultsDelegate(Results As IEnumerable(Of BaseResult)) As Boolean
Public Sub New(pLogConfig As LogConfig, pEnvironment As Environment, pParams As DocumentResultList.Params)
' Dieser Aufruf ist für den Designer erforderlich.
@@ -325,7 +326,7 @@ Public Class frmDocumentResultList
If IsNothing(oObjectId) Then
MsgBox($"Beim Speichern der Datei '{oDisplayName}' Fehler ist ein Fehler aufgetreten!", MsgBoxStyle.Critical, Text)
Else
- MsgBox($"Die Datei '{oDisplayName}' wurde erfolgreich gespeichert!", MsgBoxStyle.Information, Text)
+ 'MsgBox($"Die Datei '{oDisplayName}' wurde erfolgreich gespeichert!", MsgBoxStyle.Information, Text)
RaiseEvent NeedsRefresh(Me, Params.ProfileGuid)
End If
End Function
@@ -372,23 +373,32 @@ Public Class frmDocumentResultList
Public Function RefreshResults(pResults As IEnumerable(Of BaseResult)) As Boolean Implements IResultForm.RefreshResults
- _IsLoading = True
- Try
- UpdateTotalResults()
- UpdateGridData()
+ ' This is needed to update the grid from another form like frmMatch
+ ' Another form means another thread, so we need a delegate here
+ If InvokeRequired Then
+ Dim oDelegate As New RefreshResultsDelegate(AddressOf RefreshResults)
+ Return GridControl1.Invoke(oDelegate, pResults)
+ Else
+ _IsLoading = True
+ Try
+ _ResultLists = pResults
- Return True
- Catch ex As Exception
- Logger.Error(ex)
+ UpdateTotalResults()
+ UpdateGridData()
- MessageBox.Show("Error while loading results:" & vbNewLine & vbNewLine & ex.Message, Text, MessageBoxButtons.OK, MessageBoxIcon.Error)
- Return False
- Finally
- _IsLoading = False
- End Try
+ Return True
+ Catch ex As Exception
+ Logger.Error(ex)
+
+ MessageBox.Show("Error while refreshing results:" & vbNewLine & vbNewLine & ex.Message, Text, MessageBoxButtons.OK, MessageBoxIcon.Error)
+ Return False
+ Finally
+ _IsLoading = False
+ End Try
+ End If
End Function
- Private Sub LoadGridData(Result As DocumentResultList.DocumentResult)
+ Private Sub LoadGridData(View As GridView, Result As DocumentResultList.DocumentResult)
If Result.Datatable.Columns.Contains(COLUMN_DOCID) = False Then
Throw New ApplicationException($"Datatable is missing DocId Column [{COLUMN_DOCID}] for search {Result.Title}!")
End If
@@ -397,22 +407,26 @@ Public Class frmDocumentResultList
Throw New ApplicationException($"Datatable is missing Filepath Column [{COLUMN_FILEPATH}] for search {Result.Title}!")
End If
- ' This is needed to update the grid from another form like frmMatch
- ' Another form means another thread, so we need a delegate here
- If GridControl1.InvokeRequired Then
- Dim oCallback As New SetDatasourceCallback(AddressOf SetGridDataSource)
- Invoke(oCallback, Result.Datatable)
-
- Else
- SetGridDataSource(Result.Datatable)
- End If
+ SetGridDataSource(View, Result.Datatable)
End Sub
- Private Sub SetGridDataSource(pTable As DataTable)
- GridControl1.DataSource = Nothing
- GridControl1.DataSource = pTable
+
+ Private Sub SetGridDataSource(pView As GridView, pTable As DataTable)
+ Dim oSavedRowHandle As Integer = pView.FocusedRowHandle
+ pView.BeginDataUpdate()
+
+ Try
+ pView.FocusedRowHandle = GridControl.AutoFilterRowHandle
+ pView.GridControl.DataSource = Nothing
+ pView.GridControl.DataSource = pTable
+ pView.FocusedRowHandle = oSavedRowHandle
+ Finally
+ pView.EndDataUpdate()
+ End Try
End Sub
+
+
Private Sub UpdateGridData()
' Load Grids
For oIndex = 0 To _ResultLists.Count - 1
@@ -420,7 +434,7 @@ Public Class frmDocumentResultList
Case 0
Dim oResult As DocumentResultList.DocumentResult = _ResultLists.Item(0)
- LoadGridData(oResult)
+ LoadGridData(GridView1, oResult)
CreateDocumentGrid(GridView1, oResult)
RestoreLayout(GridView1)
UpdateGridHeader(_ResultLists, oIndex, oResult.Datatable.Rows.Count)
@@ -428,7 +442,7 @@ Public Class frmDocumentResultList
Case 1
Dim oResult As DocumentResultList.DocumentResult = _ResultLists.Item(1)
- LoadGridData(oResult)
+ LoadGridData(GridView2, oResult)
CreateDocumentGrid(GridView2, oResult)
RestoreLayout(GridView2)
UpdateGridHeader(_ResultLists, oIndex, oResult.Datatable.Rows.Count)
@@ -436,7 +450,7 @@ Public Class frmDocumentResultList
Case 2
Dim oResult As DocumentResultList.DocumentResult = _ResultLists.Item(2)
- LoadGridData(oResult)
+ LoadGridData(GridView3, oResult)
CreateDocumentGrid(GridView3, oResult)
RestoreLayout(GridView3)
UpdateGridHeader(_ResultLists, oIndex, oResult.Datatable.Rows.Count)