ZooFlow: Support opening a new search in an existing window, clean up SearchStart
This commit is contained in:
@@ -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
|
||||
Reference in New Issue
Block a user