ZooFlow: Support opening a new search in an existing window, clean up SearchStart
This commit is contained in:
4
GUIs.Common/Base/BaseResult.vb
Normal file
4
GUIs.Common/Base/BaseResult.vb
Normal file
@@ -0,0 +1,4 @@
|
||||
Public Class BaseResult
|
||||
Property Title As String
|
||||
Property Datatable As DataTable
|
||||
End Class
|
||||
@@ -54,9 +54,6 @@
|
||||
<Reference Include="DevExpress.XtraLayout.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
|
||||
<Reference Include="DevExpress.XtraPrinting.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
|
||||
<Reference Include="DevExpress.XtraTreeList.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
|
||||
<Reference Include="DigitalData.Controls.DocumentViewer">
|
||||
<HintPath>..\Controls.DocumentViewer\bin\Debug\DigitalData.Controls.DocumentViewer.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="GdPicture.NET.14">
|
||||
<HintPath>D:\ProgramFiles\GdPicture.NET 14\Redist\GdPicture.NET (.NET Framework 4.5)\GdPicture.NET.14.dll</HintPath>
|
||||
</Reference>
|
||||
@@ -92,6 +89,7 @@
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="Base\BaseErrorHandler.vb" />
|
||||
<Compile Include="Base\BaseResult.vb" />
|
||||
<Compile Include="Base\BaseRibbonForm.vb">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
@@ -167,6 +165,10 @@
|
||||
</None>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\Controls.DocumentViewer\DocumentViewer.vbproj">
|
||||
<Project>{0958cddf-4a16-41f6-8837-8335f71d599c}</Project>
|
||||
<Name>DocumentViewer</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\Controls.LookupGrid\LookupControl.vbproj">
|
||||
<Project>{3DCD6D1A-C830-4241-B7E4-27430E7EA483}</Project>
|
||||
<Name>LookupControl</Name>
|
||||
|
||||
@@ -7,6 +7,5 @@
|
||||
End Class
|
||||
|
||||
Public Class DataResult
|
||||
Public Title As String
|
||||
Public Datatable As DataTable
|
||||
Inherits BaseResult
|
||||
End Class
|
||||
|
||||
@@ -283,4 +283,8 @@ Public Class frmDataResultList
|
||||
_Logger.Error(ex)
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
Public Function RefreshResults(pResults As IEnumerable(Of BaseResult)) As Boolean Implements IResultForm.RefreshResults
|
||||
'TODO: Implement
|
||||
End Function
|
||||
End Class
|
||||
@@ -8,6 +8,5 @@
|
||||
End Class
|
||||
|
||||
Public Class DocumentResult
|
||||
Public Title As String
|
||||
Public Datatable As DataTable
|
||||
Inherits BaseResult
|
||||
End Class
|
||||
|
||||
@@ -90,65 +90,8 @@ Public Class frmDocumentResultList
|
||||
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 DocumentResult = _ResultLists.Item(0)
|
||||
CreateDocumentGrid(GridView1, oResult.Datatable)
|
||||
UpdateGridHeader(index, oResult.Datatable.Rows.Count)
|
||||
Case 1
|
||||
Dim oResult As DocumentResult = _ResultLists.Item(1)
|
||||
CreateDocumentGrid(GridView2, oResult.Datatable)
|
||||
UpdateGridHeader(index, oResult.Datatable.Rows.Count)
|
||||
|
||||
Case 2
|
||||
Dim oResult As DocumentResult = _ResultLists.Item(2)
|
||||
CreateDocumentGrid(GridView3, oResult.Datatable)
|
||||
UpdateGridHeader(index, oResult.Datatable.Rows.Count)
|
||||
|
||||
Case Else
|
||||
MessageBox.Show(Constants.MESSAGE_TOO_MANY_SEARCHES, Text, MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
|
||||
Exit For
|
||||
End Select
|
||||
Next
|
||||
|
||||
' Hide Grids depending on Result count
|
||||
Select Case _ResultLists.Count
|
||||
Case 0
|
||||
|
||||
SplitContainerControl1.SetPanelCollapsed(True)
|
||||
SplitContainerControl2.SetPanelCollapsed(True)
|
||||
|
||||
SwitchMainContainerHorizontal.Enabled = False
|
||||
SwitchDetailContainerHorizontal.Enabled = False
|
||||
|
||||
MessageBox.Show(Constants.MESSAGE_ERROR_IN_SEARCHES, Text, MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
|
||||
Case 1
|
||||
SplitContainerControl1.PanelVisibility = DevExpress.XtraEditors.SplitPanelVisibility.Panel1
|
||||
SplitContainerControl2.PanelVisibility = DevExpress.XtraEditors.SplitPanelVisibility.Panel1
|
||||
|
||||
SplitContainerControl1.SetPanelCollapsed(True)
|
||||
SplitContainerControl2.SetPanelCollapsed(True)
|
||||
|
||||
SwitchMainContainerHorizontal.Enabled = False
|
||||
SwitchDetailContainerHorizontal.Enabled = False
|
||||
Case 2
|
||||
SplitContainerControl1.PanelVisibility = DevExpress.XtraEditors.SplitPanelVisibility.Both
|
||||
SplitContainerControl2.PanelVisibility = DevExpress.XtraEditors.SplitPanelVisibility.Panel1
|
||||
|
||||
SplitContainerControl2.SetPanelCollapsed(True)
|
||||
|
||||
SwitchDetailContainerHorizontal.Enabled = False
|
||||
End Select
|
||||
UpdateTotalResults(_ResultLists)
|
||||
UpdateGridData(_ResultLists)
|
||||
Catch ex As Exception
|
||||
_Logger.Error(ex)
|
||||
MessageBox.Show("Error while loading results:" & vbNewLine & vbNewLine & ex.Message, Text)
|
||||
@@ -157,19 +100,99 @@ Public Class frmDocumentResultList
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
Private Sub UpdateGridHeader(Index As Integer, Count As Integer)
|
||||
Select Case Index
|
||||
Public Function RefreshResults(pResults As IEnumerable(Of BaseResult)) As Boolean Implements IResultForm.RefreshResults
|
||||
_IsLoading = True
|
||||
Try
|
||||
UpdateTotalResults(_ResultLists)
|
||||
UpdateGridData(_ResultLists)
|
||||
|
||||
Return True
|
||||
Catch ex As Exception
|
||||
_Logger.Error(ex)
|
||||
MessageBox.Show("Error while loading results:" & vbNewLine & vbNewLine & ex.Message, Text)
|
||||
Return False
|
||||
Finally
|
||||
_IsLoading = False
|
||||
End Try
|
||||
End Function
|
||||
|
||||
Private Sub UpdateGridData(pResultList As List(Of DocumentResult))
|
||||
' Load Grids
|
||||
For index = 0 To _ResultLists.Count - 1
|
||||
Select Case index
|
||||
Case 0
|
||||
Dim oResult As DocumentResult = _ResultLists.Item(0)
|
||||
CreateDocumentGrid(GridView1, oResult.Datatable)
|
||||
UpdateGridHeader(_ResultLists, index, oResult.Datatable.Rows.Count)
|
||||
Case 1
|
||||
Dim oResult As DocumentResult = _ResultLists.Item(1)
|
||||
CreateDocumentGrid(GridView2, oResult.Datatable)
|
||||
UpdateGridHeader(_ResultLists, index, oResult.Datatable.Rows.Count)
|
||||
|
||||
Case 2
|
||||
Dim oResult As DocumentResult = _ResultLists.Item(2)
|
||||
CreateDocumentGrid(GridView3, oResult.Datatable)
|
||||
UpdateGridHeader(_ResultLists, index, oResult.Datatable.Rows.Count)
|
||||
|
||||
Case Else
|
||||
MessageBox.Show(Constants.MESSAGE_TOO_MANY_SEARCHES, Text, MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
|
||||
Exit For
|
||||
End Select
|
||||
Next
|
||||
|
||||
' Hide Grids depending on Result count
|
||||
Select Case _ResultLists.Count
|
||||
Case 0
|
||||
Dim oResult = _ResultLists.Item(0)
|
||||
GridBand1.Caption = $"{oResult.Title} ({Count})"
|
||||
|
||||
SplitContainerControl1.SetPanelCollapsed(True)
|
||||
SplitContainerControl2.SetPanelCollapsed(True)
|
||||
|
||||
SwitchMainContainerHorizontal.Enabled = False
|
||||
SwitchDetailContainerHorizontal.Enabled = False
|
||||
|
||||
MessageBox.Show(Constants.MESSAGE_ERROR_IN_SEARCHES, Text, MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
|
||||
Case 1
|
||||
SplitContainerControl1.PanelVisibility = DevExpress.XtraEditors.SplitPanelVisibility.Panel1
|
||||
SplitContainerControl2.PanelVisibility = DevExpress.XtraEditors.SplitPanelVisibility.Panel1
|
||||
|
||||
SplitContainerControl1.SetPanelCollapsed(True)
|
||||
SplitContainerControl2.SetPanelCollapsed(True)
|
||||
|
||||
SwitchMainContainerHorizontal.Enabled = False
|
||||
SwitchDetailContainerHorizontal.Enabled = False
|
||||
Case 2
|
||||
SplitContainerControl1.PanelVisibility = DevExpress.XtraEditors.SplitPanelVisibility.Both
|
||||
SplitContainerControl2.PanelVisibility = DevExpress.XtraEditors.SplitPanelVisibility.Panel1
|
||||
|
||||
SplitContainerControl2.SetPanelCollapsed(True)
|
||||
|
||||
SwitchDetailContainerHorizontal.Enabled = False
|
||||
End Select
|
||||
End Sub
|
||||
|
||||
Private Sub UpdateTotalResults(pResultList As List(Of DocumentResult))
|
||||
Dim oTotalResults = 0
|
||||
|
||||
For Each oList In pResultList
|
||||
oTotalResults += oList.Datatable.Rows.Count
|
||||
Next
|
||||
|
||||
labelResultCount.Caption = String.Format(labelResultCount.Caption, oTotalResults)
|
||||
End Sub
|
||||
|
||||
Private Sub UpdateGridHeader(pResultList As List(Of DocumentResult), pIndex As Integer, pCount As Integer)
|
||||
Select Case pIndex
|
||||
Case 0
|
||||
Dim oResult = pResultList.Item(0)
|
||||
GridBand1.Caption = $"{oResult.Title} ({pCount})"
|
||||
|
||||
Case 1
|
||||
Dim oResult = _ResultLists.Item(1)
|
||||
GridBand2.Caption = $"{oResult.Title} ({Count})"
|
||||
Dim oResult = pResultList.Item(1)
|
||||
GridBand2.Caption = $"{oResult.Title} ({pCount})"
|
||||
|
||||
Case 2
|
||||
Dim oResult = _ResultLists.Item(2)
|
||||
GridBand3.Caption = $"{oResult.Title} ({Count})"
|
||||
Dim oResult = pResultList.Item(2)
|
||||
GridBand3.Caption = $"{oResult.Title} ({pCount})"
|
||||
End Select
|
||||
End Sub
|
||||
|
||||
@@ -533,17 +556,17 @@ Public Class frmDocumentResultList
|
||||
|
||||
Private Sub GridView1_ColumnFilterChanged(sender As GridView, e As EventArgs) Handles GridView1.ColumnFilterChanged
|
||||
Dim oRowCount = sender.RowCount
|
||||
UpdateGridHeader(0, oRowCount)
|
||||
UpdateGridHeader(_ResultLists, 0, oRowCount)
|
||||
End Sub
|
||||
|
||||
Private Sub GridView2_ColumnFilterChanged(sender As GridView, e As EventArgs) Handles GridView2.ColumnFilterChanged
|
||||
Dim oRowCount = sender.RowCount
|
||||
UpdateGridHeader(1, oRowCount)
|
||||
UpdateGridHeader(_ResultLists, 1, oRowCount)
|
||||
End Sub
|
||||
|
||||
Private Sub GridView3_ColumnFilterChanged(sender As GridView, e As EventArgs) Handles GridView3.ColumnFilterChanged
|
||||
Dim oRowCount = sender.RowCount
|
||||
UpdateGridHeader(2, oRowCount)
|
||||
UpdateGridHeader(_ResultLists, 2, oRowCount)
|
||||
End Sub
|
||||
|
||||
Private Sub BarButtonItem4_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonItem4.ItemClick
|
||||
@@ -584,4 +607,6 @@ Public Class frmDocumentResultList
|
||||
Next
|
||||
End If
|
||||
End Sub
|
||||
|
||||
|
||||
End Class
|
||||
@@ -1,3 +1,4 @@
|
||||
Public Interface IResultForm
|
||||
Property ShouldReturnToPreviousForm As Boolean
|
||||
Function RefreshResults(pResults As IEnumerable(Of BaseResult)) As Boolean
|
||||
End Interface
|
||||
|
||||
Reference in New Issue
Block a user