frmDocumentResultList
This commit is contained in:
parent
d78254fc9c
commit
9f270d93c9
@ -8,6 +8,7 @@ Public Class ProfileSearches
|
||||
Private _Params As ClipboardWatcherParams
|
||||
|
||||
Public Class Search
|
||||
Public Guid As Integer
|
||||
Public DataTable As DataTable
|
||||
Public TabIndex As Integer
|
||||
Public TabCaption As String
|
||||
@ -38,6 +39,7 @@ Public Class ProfileSearches
|
||||
Dim oProfileId As Integer = oRow.Item("PROFILE_ID")
|
||||
Dim oTabTitle As String = oRow.Item("TAB_TITLE")
|
||||
Dim oConnectionId As Integer = oRow.Item("CONN_ID")
|
||||
Dim oGuid As Integer = oRow.Item("GUID")
|
||||
|
||||
oSQL = oRow.Item("SQL_COMMAND")
|
||||
oSQL = oPatterns.ReplaceUserValues(oSQL, _Environment.User)
|
||||
@ -46,6 +48,7 @@ Public Class ProfileSearches
|
||||
|
||||
Dim oDatatable As DataTable = _Environment.Database.GetDatatable(oSQL, oConnectionId)
|
||||
oDocSearches.Add(New Search() With {
|
||||
.Guid = oGuid,
|
||||
.DataTable = oDatatable,
|
||||
.ProfileId = oProfileId,
|
||||
.TabCaption = oTabTitle,
|
||||
|
||||
@ -4,6 +4,7 @@ Imports DevExpress.XtraEditors
|
||||
Imports DigitalData.GUIs.Common
|
||||
Imports DigitalData.Modules.Logging
|
||||
Imports DigitalData.Modules.Windows
|
||||
Imports DigitalData.Modules.Language
|
||||
Imports DigitalData.Modules.ZooFlow
|
||||
Imports DigitalData.Modules.ZooFlow.Params
|
||||
|
||||
@ -182,6 +183,10 @@ Public Class frmMatch
|
||||
Dim oProfileId As Integer = oItem.Tag
|
||||
|
||||
Dim oProfileSearch As New ProfileSearches(_LogConfig, _Environment, _Params)
|
||||
Dim oProfile As ProfileData = _Params.MatchingProfiles.
|
||||
Where(Function(p) p.Guid = oProfileId).
|
||||
ToList().
|
||||
First()
|
||||
|
||||
Select Case oItem.Group.Name
|
||||
Case TileGroupData.Name
|
||||
@ -189,7 +194,7 @@ Public Class frmMatch
|
||||
|
||||
Case TileGroupDocuments.Name
|
||||
Dim oSearches = Await oProfileSearch.LoadDocumentSearchesAsync()
|
||||
OpenDocumentResults(oProfileId, oSearches)
|
||||
OpenDocumentResults(oProfile, oSearches)
|
||||
|
||||
Case Else
|
||||
'OpenResultForms(oProfileId, ProfileType.ANY)
|
||||
@ -198,12 +203,18 @@ Public Class frmMatch
|
||||
Hide()
|
||||
End Sub
|
||||
|
||||
Private Sub OpenDocumentResults(ProfileId As Integer, Searches As List(Of ProfileSearches.Search))
|
||||
Dim oParams = New ResultListParams()
|
||||
Private Sub OpenDocumentResults(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 ResultListParams() With {
|
||||
.WindowGuid = oWindowGuid
|
||||
}
|
||||
|
||||
For Each oSearch In Searches
|
||||
oParams.Results.Add(New DocumentResult() With {
|
||||
.Datatable = oSearch.DataTable
|
||||
.Title = oSearch.TabCaption,
|
||||
.Datatable = oSearch.DataTable
|
||||
})
|
||||
Next
|
||||
|
||||
|
||||
@ -44,13 +44,16 @@
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="DevExpress.Data.v18.1, Version=18.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
|
||||
<Reference Include="DevExpress.Dialogs.v18.1.Core, Version=18.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
|
||||
<Reference Include="DevExpress.Printing.v18.1.Core, Version=18.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
|
||||
<Reference Include="DevExpress.Utils.v18.1, Version=18.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
|
||||
<Reference Include="DevExpress.XtraBars.v18.1, Version=18.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
|
||||
<Reference Include="DevExpress.XtraDialogs.v18.1, Version=18.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
|
||||
<Reference Include="DevExpress.XtraEditors.v18.1, Version=18.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
|
||||
<Reference Include="DevExpress.XtraGrid.v18.1, Version=18.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
|
||||
<Reference Include="DevExpress.XtraLayout.v18.1, Version=18.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
|
||||
<Reference Include="DevExpress.XtraPrinting.v18.1, Version=18.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
|
||||
<Reference Include="DevExpress.XtraTreeList.v18.1, Version=18.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
|
||||
<Reference Include="Microsoft.CSharp" />
|
||||
<Reference Include="NLog, Version=4.0.0.0, Culture=neutral, PublicKeyToken=5120e14c03d0593c, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\NLog.4.6.7\lib\net45\NLog.dll</HintPath>
|
||||
@ -82,6 +85,7 @@
|
||||
<Import Include="System.Threading.Tasks" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="DocumentResultConfig.vb" />
|
||||
<Compile Include="frmDocumentResultList.Designer.vb">
|
||||
<DependentUpon>frmDocumentResultList.vb</DependentUpon>
|
||||
</Compile>
|
||||
@ -140,10 +144,18 @@
|
||||
<None Include="packages.config" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\Modules.Config\Config.vbproj">
|
||||
<Project>{44982f9b-6116-44e2-85d0-f39650b1ef99}</Project>
|
||||
<Name>Config</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\Modules.Database\Database.vbproj">
|
||||
<Project>{EAF0EA75-5FA7-485D-89C7-B2D843B03A96}</Project>
|
||||
<Name>Database</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\Modules.Language\Language.vbproj">
|
||||
<Project>{d3c8cfed-d6f6-43a8-9bdf-454145d0352f}</Project>
|
||||
<Name>Language</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\Modules.Logging\Logging.vbproj">
|
||||
<Project>{903B2D7D-3B80-4BE9-8713-7447B704E1B0}</Project>
|
||||
<Name>Logging</Name>
|
||||
|
||||
6
Common/DocumentResultConfig.vb
Normal file
6
Common/DocumentResultConfig.vb
Normal file
@ -0,0 +1,6 @@
|
||||
Public Class DocumentResultConfig
|
||||
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
|
||||
@ -1,7 +1,12 @@
|
||||
Public Class ResultListParams
|
||||
''' <summary>
|
||||
''' WindowGuid is used to save layout data
|
||||
''' </summary>
|
||||
Public WindowGuid As String
|
||||
Public Results As New List(Of DocumentResult)
|
||||
End Class
|
||||
|
||||
Public Class DocumentResult
|
||||
Public Title As String
|
||||
Public Datatable As DataTable
|
||||
End Class
|
||||
|
||||
132
Common/frmDocumentResultList.Designer.vb
generated
132
Common/frmDocumentResultList.Designer.vb
generated
@ -19,20 +19,28 @@ Partial Class frmDocumentResultList
|
||||
'Do not modify it using the code editor.
|
||||
<System.Diagnostics.DebuggerStepThrough()> _
|
||||
Private Sub InitializeComponent()
|
||||
Me.components = New System.ComponentModel.Container()
|
||||
Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(frmDocumentResultList))
|
||||
Me.RibbonControl = New DevExpress.XtraBars.Ribbon.RibbonControl()
|
||||
Me.BarToggleSwitchItem1 = New DevExpress.XtraBars.BarToggleSwitchItem()
|
||||
Me.BarToggleSwitchItem2 = New DevExpress.XtraBars.BarToggleSwitchItem()
|
||||
Me.SwitchMainContainerHorizontal = New DevExpress.XtraBars.BarToggleSwitchItem()
|
||||
Me.SwitchDetailContainerHorizontal = New DevExpress.XtraBars.BarToggleSwitchItem()
|
||||
Me.BarButtonItemExportGrid1 = New DevExpress.XtraBars.BarButtonItem()
|
||||
Me.RibbonPage1 = New DevExpress.XtraBars.Ribbon.RibbonPage()
|
||||
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()
|
||||
Me.GridControl1 = New DevExpress.XtraGrid.GridControl()
|
||||
Me.GridView1 = New DevExpress.XtraGrid.Views.Grid.GridView()
|
||||
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.Grid.GridView()
|
||||
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.Grid.GridView()
|
||||
Me.GridView3 = New DevExpress.XtraGrid.Views.BandedGrid.BandedGridView()
|
||||
Me.GridBand3 = New DevExpress.XtraGrid.Views.BandedGrid.GridBand()
|
||||
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()
|
||||
@ -49,39 +57,56 @@ Partial Class frmDocumentResultList
|
||||
'RibbonControl
|
||||
'
|
||||
Me.RibbonControl.ExpandCollapseItem.Id = 0
|
||||
Me.RibbonControl.Items.AddRange(New DevExpress.XtraBars.BarItem() {Me.RibbonControl.ExpandCollapseItem, Me.BarToggleSwitchItem1, Me.BarToggleSwitchItem2})
|
||||
Me.RibbonControl.Items.AddRange(New DevExpress.XtraBars.BarItem() {Me.RibbonControl.ExpandCollapseItem, Me.SwitchMainContainerHorizontal, Me.SwitchDetailContainerHorizontal, Me.BarButtonItemExportGrid1})
|
||||
Me.RibbonControl.Location = New System.Drawing.Point(0, 0)
|
||||
Me.RibbonControl.MaxItemId = 3
|
||||
Me.RibbonControl.MaxItemId = 4
|
||||
Me.RibbonControl.Name = "RibbonControl"
|
||||
Me.RibbonControl.Pages.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPage() {Me.RibbonPage1})
|
||||
Me.RibbonControl.ShowApplicationButton = DevExpress.Utils.DefaultBoolean.[False]
|
||||
Me.RibbonControl.Size = New System.Drawing.Size(1189, 143)
|
||||
Me.RibbonControl.StatusBar = Me.RibbonStatusBar
|
||||
'
|
||||
'BarToggleSwitchItem1
|
||||
'SwitchMainContainerHorizontal
|
||||
'
|
||||
Me.BarToggleSwitchItem1.Caption = "BarToggleSwitchItem1"
|
||||
Me.BarToggleSwitchItem1.Id = 1
|
||||
Me.BarToggleSwitchItem1.Name = "BarToggleSwitchItem1"
|
||||
Me.SwitchMainContainerHorizontal.BindableChecked = True
|
||||
Me.SwitchMainContainerHorizontal.Caption = "Hauptgrid Horizontal"
|
||||
Me.SwitchMainContainerHorizontal.Checked = True
|
||||
Me.SwitchMainContainerHorizontal.Id = 1
|
||||
Me.SwitchMainContainerHorizontal.Name = "SwitchMainContainerHorizontal"
|
||||
'
|
||||
'BarToggleSwitchItem2
|
||||
'SwitchDetailContainerHorizontal
|
||||
'
|
||||
Me.BarToggleSwitchItem2.Caption = "BarToggleSwitchItem2"
|
||||
Me.BarToggleSwitchItem2.Id = 2
|
||||
Me.BarToggleSwitchItem2.Name = "BarToggleSwitchItem2"
|
||||
Me.SwitchDetailContainerHorizontal.Caption = "Detailgrid Horizontal"
|
||||
Me.SwitchDetailContainerHorizontal.Id = 2
|
||||
Me.SwitchDetailContainerHorizontal.Name = "SwitchDetailContainerHorizontal"
|
||||
'
|
||||
'BarButtonItemExportGrid1
|
||||
'
|
||||
Me.BarButtonItemExportGrid1.Caption = "Haupttabelle 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)
|
||||
Me.BarButtonItemExportGrid1.Name = "BarButtonItemExportGrid1"
|
||||
'
|
||||
'RibbonPage1
|
||||
'
|
||||
Me.RibbonPage1.Groups.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPageGroup() {Me.RibbonPageGroup1})
|
||||
Me.RibbonPage1.Groups.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPageGroup() {Me.RibbonPageGroup1, Me.RibbonPageGroup2})
|
||||
Me.RibbonPage1.Name = "RibbonPage1"
|
||||
Me.RibbonPage1.Text = "RibbonPage1"
|
||||
Me.RibbonPage1.Text = "Ergebnisse"
|
||||
'
|
||||
'RibbonPageGroup1
|
||||
'
|
||||
Me.RibbonPageGroup1.ItemLinks.Add(Me.BarToggleSwitchItem1)
|
||||
Me.RibbonPageGroup1.ItemLinks.Add(Me.BarToggleSwitchItem2)
|
||||
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)
|
||||
Me.RibbonPageGroup2.Name = "RibbonPageGroup2"
|
||||
Me.RibbonPageGroup2.Text = "Export"
|
||||
'
|
||||
'RibbonStatusBar
|
||||
'
|
||||
Me.RibbonStatusBar.Location = New System.Drawing.Point(0, 640)
|
||||
@ -91,6 +116,7 @@ Partial Class frmDocumentResultList
|
||||
'
|
||||
'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"
|
||||
@ -116,12 +142,28 @@ Partial Class frmDocumentResultList
|
||||
'
|
||||
'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.ShowAutoFilterRow = True
|
||||
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.OptionsBand.AllowHotTrack = False
|
||||
Me.GridBand1.OptionsBand.AllowMove = False
|
||||
Me.GridBand1.OptionsBand.AllowPress = False
|
||||
Me.GridBand1.OptionsBand.AllowSize = False
|
||||
Me.GridBand1.VisibleIndex = 0
|
||||
Me.GridBand1.Width = 513
|
||||
'
|
||||
'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)
|
||||
@ -148,9 +190,23 @@ Partial Class frmDocumentResultList
|
||||
'
|
||||
'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.ShowAutoFilterRow = True
|
||||
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.OptionsBand.AllowHotTrack = False
|
||||
Me.GridBand2.OptionsBand.AllowMove = False
|
||||
Me.GridBand2.OptionsBand.AllowPress = False
|
||||
Me.GridBand2.OptionsBand.AllowSize = False
|
||||
Me.GridBand2.VisibleIndex = 0
|
||||
'
|
||||
'GridControl3
|
||||
'
|
||||
@ -165,9 +221,27 @@ Partial Class frmDocumentResultList
|
||||
'
|
||||
'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.ShowAutoFilterRow = True
|
||||
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.OptionsBand.AllowHotTrack = False
|
||||
Me.GridBand3.OptionsBand.AllowMove = False
|
||||
Me.GridBand3.OptionsBand.AllowPress = False
|
||||
Me.GridBand3.OptionsBand.AllowSize = False
|
||||
Me.GridBand3.VisibleIndex = 0
|
||||
'
|
||||
'XtraSaveFileDialog
|
||||
'
|
||||
Me.XtraSaveFileDialog.FileName = "XtraSaveFileDialog1"
|
||||
'
|
||||
'frmDocumentResultList
|
||||
'
|
||||
@ -177,10 +251,11 @@ Partial Class frmDocumentResultList
|
||||
Me.Controls.Add(Me.SplitContainerControl1)
|
||||
Me.Controls.Add(Me.RibbonStatusBar)
|
||||
Me.Controls.Add(Me.RibbonControl)
|
||||
Me.Icon = CType(resources.GetObject("$this.Icon"), System.Drawing.Icon)
|
||||
Me.Name = "frmDocumentResultList"
|
||||
Me.Ribbon = Me.RibbonControl
|
||||
Me.StatusBar = Me.RibbonStatusBar
|
||||
Me.Text = "frmDocumentResultList"
|
||||
Me.Text = "Dokumenten Suche ({0} Ergebnisse)"
|
||||
CType(Me.RibbonControl, System.ComponentModel.ISupportInitialize).EndInit()
|
||||
CType(Me.SplitContainerControl1, System.ComponentModel.ISupportInitialize).EndInit()
|
||||
Me.SplitContainerControl1.ResumeLayout(False)
|
||||
@ -201,15 +276,20 @@ Partial Class frmDocumentResultList
|
||||
Friend WithEvents RibbonPage1 As DevExpress.XtraBars.Ribbon.RibbonPage
|
||||
Friend WithEvents RibbonPageGroup1 As DevExpress.XtraBars.Ribbon.RibbonPageGroup
|
||||
Friend WithEvents RibbonStatusBar As DevExpress.XtraBars.Ribbon.RibbonStatusBar
|
||||
Friend WithEvents BarToggleSwitchItem1 As DevExpress.XtraBars.BarToggleSwitchItem
|
||||
Friend WithEvents BarToggleSwitchItem2 As DevExpress.XtraBars.BarToggleSwitchItem
|
||||
Friend WithEvents SwitchMainContainerHorizontal As DevExpress.XtraBars.BarToggleSwitchItem
|
||||
Friend WithEvents SwitchDetailContainerHorizontal As DevExpress.XtraBars.BarToggleSwitchItem
|
||||
Friend WithEvents SplitContainerControl1 As DevExpress.XtraEditors.SplitContainerControl
|
||||
Friend WithEvents GridControl1 As DevExpress.XtraGrid.GridControl
|
||||
Friend WithEvents GridView1 As DevExpress.XtraGrid.Views.Grid.GridView
|
||||
Friend WithEvents SplitContainerControl2 As DevExpress.XtraEditors.SplitContainerControl
|
||||
Friend WithEvents GridControl2 As DevExpress.XtraGrid.GridControl
|
||||
Friend WithEvents GridView2 As DevExpress.XtraGrid.Views.Grid.GridView
|
||||
Friend WithEvents GridControl3 As DevExpress.XtraGrid.GridControl
|
||||
Friend WithEvents GridView3 As DevExpress.XtraGrid.Views.Grid.GridView
|
||||
|
||||
Friend WithEvents GridView1 As DevExpress.XtraGrid.Views.BandedGrid.BandedGridView
|
||||
Friend WithEvents GridBand1 As DevExpress.XtraGrid.Views.BandedGrid.GridBand
|
||||
Friend WithEvents GridView2 As DevExpress.XtraGrid.Views.BandedGrid.BandedGridView
|
||||
Friend WithEvents GridBand2 As DevExpress.XtraGrid.Views.BandedGrid.GridBand
|
||||
Friend WithEvents GridView3 As DevExpress.XtraGrid.Views.BandedGrid.BandedGridView
|
||||
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
|
||||
End Class
|
||||
|
||||
@ -117,4 +117,94 @@
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
||||
<data name="BarButtonItemExportGrid1.ImageOptions.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m
|
||||
dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAAfdEVYdFRpdGxlAEV4cG9ydDtYc2x0O0V4cG9ydFRv
|
||||
WHNsdDsT1nubAAAAd0lEQVQ4T91S2wmAMAzs1E6QHRzBHVzBTweKXMpJDBUN8cuDI6/LtZQ2VTWKiGbI
|
||||
vYvBW/zVAJ0kusG0zFqhGQCjCK77ZjUw0pwGFPphzFl7rRmwgUgRF+Is1o83INkDvPb2DQCf80TARzOo
|
||||
sP4PmHzylTPse9oOhn1G54TA0vAAAAAASUVORK5CYII=
|
||||
</value>
|
||||
</data>
|
||||
<data name="BarButtonItemExportGrid1.ImageOptions.LargeImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m
|
||||
dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAAfdEVYdFRpdGxlAEV4cG9ydDtYc2x0O0V4cG9ydFRv
|
||||
WHNsdDsT1nubAAABNUlEQVRYR+WQPQ7CMAyFOV+PwgE4QdcOiIGpMxNiZGJAYuIOnZA4BAzhPYRRcJ02
|
||||
paH8PemTa9dpPhg5596KORwSczgk5nBIzCHJ89x15AAywLM1rDuIOSQ4hBIf7hdFcS7LMkOrv/XQ+5jD
|
||||
G51CgaqqTIlWgcli7vrAyD9mSVAAezX4LrkAoyWiBBirkuV+e+2Z0K4vwNwkTpSIFpCLpGfVz9LrXS3A
|
||||
iATeZdhrFpAPsrJnWK131i4FGjhir1mAkQ9Lz+ojM0bvNoUS2GsX0JXxn/1fbO2GEiXQh7Z8hYD1Mlla
|
||||
BWbjVQ0eShnrDozTCaymO15yhZFnHzXfoE0ngDN3Qr1Ub/4nAqE58jqBUNTeawRiQX5QICbe7ocLxMLg
|
||||
TFqBJ/gMgS6kFlgD86IA67vA+3CjC4yA0LudSp2BAAAAAElFTkSuQmCC
|
||||
</value>
|
||||
</data>
|
||||
<metadata name="XtraSaveFileDialog.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>17, 17</value>
|
||||
</metadata>
|
||||
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
AAABAAIAEBAAAAEACABoBQAAJgAAACAgAAABAAgAqAgAAI4FAAAoAAAAEAAAACAAAAABAAgAAAAAAEAB
|
||||
AAAAAAAAAAAAAAABAAAAAAAA3ufvAM7n7wDG1tYAwMDAAL21tQCkoKAAraWUAISEhADvpUoAzpRKAPeM
|
||||
MQC1lHsA72sAAMZrKQDOYwAArXNKAJRzYwCtezEAtUIAAGtrYwBrY1IAWlpSAHNaGABaUjkAUikQAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
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
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
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
|
||||
AwMCAgEAAFBYD0sOAAAAAAAAAABQAAAlKCckIiEdHRsXFRAMBwEAUFgPSw4AAAAAAAAAAFAAAAAAAAAA
|
||||
AAAAAAAAAAAAAABQWA9LLikpKSkpKSkpOykpKSkpKSkpKSkpKSkpKSkpKVBYD0s6MzMzMzMzMzMzMzMz
|
||||
MzMzMzMzMSswMSsxSEI0UFYJR0o7Ozs7Ozs7Ozs7Ozs7Ozs7OzsvKi8vKjlFUUlQRAYeTzgsLCwsLCws
|
||||
LCwsLCwsLCwsLCwsLCwsLCwtTE4a/v4fP0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0s9/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+/v7+/v7+////////////////AAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAf///////////////8=
|
||||
</value>
|
||||
</data>
|
||||
</root>
|
||||
@ -1,75 +1,121 @@
|
||||
Imports System.Drawing
|
||||
Imports System.IO
|
||||
Imports System.Windows.Forms
|
||||
Imports DevExpress.Utils
|
||||
Imports DevExpress.XtraGrid
|
||||
Imports DevExpress.XtraGrid.Columns
|
||||
Imports DevExpress.XtraGrid.Views.Grid
|
||||
Imports DevExpress.XtraPrinting
|
||||
Imports DigitalData.Modules.Config
|
||||
Imports DigitalData.Modules.Logging
|
||||
Imports DigitalData.Modules.ZooFlow
|
||||
Imports DigitalData.Modules.Language
|
||||
|
||||
Public Class frmDocumentResultList
|
||||
Private _LogConfig As LogConfig
|
||||
Private _Logger As Logger
|
||||
Private _Config As ConfigManager(Of DocumentResultConfig)
|
||||
Private _Environment As Environment
|
||||
Private _ResultLists As List(Of DocumentResult)
|
||||
|
||||
Private _IsLoading As Boolean = True
|
||||
|
||||
Public Sub New(LogConfig As LogConfig, Environment As Environment, Params As ResultListParams)
|
||||
' 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
|
||||
_ResultLists = Params.Results
|
||||
End Sub
|
||||
|
||||
Private Sub frmDocumentResultList_Load(sender As Object, e As EventArgs) Handles MyBase.Load
|
||||
Dim oCounter = 1
|
||||
Try
|
||||
' Load config
|
||||
SplitContainerControl1.SplitterPosition = _Config.Config.SplitContainer1Distance
|
||||
SwitchMainContainerHorizontal.Checked = _Config.Config.SplitContainer1Horizontal
|
||||
SplitContainerControl2.SplitterPosition = _Config.Config.SplitContainer2Distance
|
||||
SwitchDetailContainerHorizontal.Checked = _Config.Config.SplitContainer2Horizontal
|
||||
|
||||
For Each oList In _ResultLists
|
||||
Dim oTotalResults = 0
|
||||
|
||||
For Each oList In _ResultLists
|
||||
oTotalResults += oList.Datatable.Rows.Count
|
||||
Next
|
||||
|
||||
Text = String.Format(Text, 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)
|
||||
|
||||
Case 1
|
||||
Dim oResult As DocumentResult = _ResultLists.Item(1)
|
||||
GridBand2.Caption = $"{oResult.Title} ({oResult.Datatable.Rows.Count})"
|
||||
CreateDocumentGrid(GridView2, oResult.Datatable)
|
||||
|
||||
Case 2
|
||||
Dim oResult As DocumentResult = _ResultLists.Item(2)
|
||||
GridBand3.Caption = $"{oResult.Title} ({oResult.Datatable.Rows.Count})"
|
||||
CreateDocumentGrid(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
|
||||
CreateDocumentGrid(GridView1, oList.Datatable)
|
||||
SplitContainerControl1.SetPanelCollapsed(True)
|
||||
SplitContainerControl2.SetPanelCollapsed(True)
|
||||
Case 2
|
||||
CreateDocumentGrid(GridView2, oList.Datatable)
|
||||
Case 3
|
||||
CreateDocumentGrid(GridView3, oList.Datatable)
|
||||
SplitContainerControl2.SetPanelCollapsed(True)
|
||||
End Select
|
||||
oCounter += 1
|
||||
Next
|
||||
Catch ex As Exception
|
||||
_Logger.Error(ex)
|
||||
MessageBox.Show("Error while loading results:" & vbNewLine & vbNewLine & ex.Message, Text)
|
||||
Finally
|
||||
_IsLoading = False
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
|
||||
|
||||
Private Sub CreateDocumentGrid(GridView As GridView, Datatable As DataTable)
|
||||
Dim oMyDocDatatable As New DataTable
|
||||
Try
|
||||
'Die Icon Colum erstellen und konfigurieren
|
||||
Dim oColIcon As New DataColumn() With {
|
||||
oMyDocDatatable.Columns.Add(New DataColumn() With {
|
||||
.DataType = GetType(Image),
|
||||
.ColumnName = "ICON",
|
||||
.Caption = ""
|
||||
}
|
||||
oMyDocDatatable.Columns.Add(oColIcon)
|
||||
|
||||
Dim oColPath As New DataColumn() With {
|
||||
})
|
||||
oMyDocDatatable.Columns.Add(New DataColumn() With {
|
||||
.DataType = GetType(String),
|
||||
.ColumnName = "FULL_FILENAME",
|
||||
.Caption = "Fullpath"
|
||||
}
|
||||
oMyDocDatatable.Columns.Add(oColPath)
|
||||
|
||||
Dim oColDocID As New DataColumn() With {
|
||||
})
|
||||
oMyDocDatatable.Columns.Add(New DataColumn() With {
|
||||
.DataType = GetType(Int32),
|
||||
.ColumnName = "DocID",
|
||||
.Caption = "DocID"
|
||||
}
|
||||
oMyDocDatatable.Columns.Add(oColDocID)
|
||||
|
||||
Dim oColFilename As New DataColumn() With {
|
||||
})
|
||||
oMyDocDatatable.Columns.Add(New DataColumn() With {
|
||||
.DataType = GetType(String),
|
||||
.ColumnName = "Filename",
|
||||
.Caption = "Filename"
|
||||
}
|
||||
oMyDocDatatable.Columns.Add(oColFilename)
|
||||
})
|
||||
|
||||
Dim oRestColArray As New List(Of String)
|
||||
For Each oCol As DataColumn In Datatable.Columns
|
||||
@ -135,12 +181,12 @@ Public Class frmDocumentResultList
|
||||
oNewRow.Item(2) = oDocID
|
||||
oNewRow.Item(3) = oFilename
|
||||
|
||||
Dim i = 4 'Fängt bei 3 an, um die definierten Spalten zu überspringen
|
||||
For Each Colname As String In oRestColArray
|
||||
Dim oIndex = 4 'Fängt bei 4 an, um die definierten Spalten zu überspringen
|
||||
For Each oColumnName As String In oRestColArray
|
||||
Dim oRowValue
|
||||
oRowValue = oRow.Item(Colname)
|
||||
oNewRow.Item(i) = oRowValue.ToString
|
||||
i += 1
|
||||
oRowValue = oRow.Item(oColumnName)
|
||||
oNewRow.Item(oIndex) = oRowValue.ToString
|
||||
oIndex += 1
|
||||
Next
|
||||
oMyDocDatatable.Rows.Add(oNewRow)
|
||||
Next
|
||||
@ -157,30 +203,32 @@ Public Class frmDocumentResultList
|
||||
Catch ex As Exception
|
||||
End Try
|
||||
|
||||
Dim created, changed As String
|
||||
Dim oCreated, oChanged As String
|
||||
If _Environment.User.Language <> "de-DE" Then
|
||||
changed = "Changed"
|
||||
created = "Created"
|
||||
oChanged = "Changed"
|
||||
oCreated = "Created"
|
||||
Else
|
||||
changed = "Geändert"
|
||||
created = "Erstellt"
|
||||
oChanged = "Geändert"
|
||||
oCreated = "Erstellt"
|
||||
End If
|
||||
|
||||
Dim createdColumn = GridView.Columns(created)
|
||||
If Not IsNothing(createdColumn) Then
|
||||
createdColumn.DisplayFormat.FormatType = FormatType.DateTime
|
||||
createdColumn.DisplayFormat.FormatString = _Environment.User.DateFormat & " HH:MM:ss"
|
||||
Dim oCreatedColumn = GridView.Columns(oCreated)
|
||||
If Not IsNothing(oCreatedColumn) Then
|
||||
oCreatedColumn.DisplayFormat.FormatType = FormatType.DateTime
|
||||
oCreatedColumn.DisplayFormat.FormatString = _Environment.User.DateFormat & " HH:MM:ss"
|
||||
End If
|
||||
|
||||
Dim changedColumn = GridView.Columns(changed)
|
||||
If Not IsNothing(changedColumn) Then
|
||||
changedColumn.DisplayFormat.FormatType = FormatType.DateTime
|
||||
changedColumn.DisplayFormat.FormatString = _Environment.User.DateFormat & " HH:MM:ss"
|
||||
Dim oChangedColumn = GridView.Columns(oChanged)
|
||||
If Not IsNothing(oChangedColumn) Then
|
||||
oChangedColumn.DisplayFormat.FormatType = FormatType.DateTime
|
||||
oChangedColumn.DisplayFormat.FormatString = _Environment.User.DateFormat & " HH:MM:ss"
|
||||
End If
|
||||
|
||||
' Alle Spalten aus ReadOnly setzen, danach werden alle passenden auf nicht ReadOnly gesetzt
|
||||
For Each column As GridColumn In GridView.Columns
|
||||
column.OptionsColumn.AllowEdit = False
|
||||
For Each oColumn As GridColumn In GridView.Columns
|
||||
oColumn.OptionsColumn.AllowEdit = False
|
||||
Next
|
||||
|
||||
GridView.Columns.Item("ICON").MaxWidth = 24
|
||||
GridView.Columns.Item("ICON").MinWidth = 24
|
||||
GridView.OptionsView.BestFitMaxRowCount = -1
|
||||
@ -190,11 +238,47 @@ Public Class frmDocumentResultList
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
Private Sub BarToggleSwitchItem1_CheckedChanged(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarToggleSwitchItem1.CheckedChanged
|
||||
SplitContainerControl1.Horizontal = BarToggleSwitchItem1.Checked
|
||||
Private Sub SwitchMainContainerHorizontal_CheckedChanged(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles SwitchMainContainerHorizontal.CheckedChanged
|
||||
SplitContainerControl1.Horizontal = SwitchMainContainerHorizontal.Checked
|
||||
|
||||
If _Config IsNot Nothing And _IsLoading = False Then
|
||||
_Config.Config.SplitContainer1Horizontal = SwitchMainContainerHorizontal.Checked
|
||||
_Config.Save()
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Private Sub BarToggleSwitchItem2_CheckedChanged(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarToggleSwitchItem2.CheckedChanged
|
||||
SplitContainerControl2.Horizontal = BarToggleSwitchItem2.Checked
|
||||
Private Sub BarToggleSwitchItem2_CheckedChanged(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles SwitchDetailContainerHorizontal.CheckedChanged
|
||||
SplitContainerControl2.Horizontal = SwitchDetailContainerHorizontal.Checked
|
||||
|
||||
If _Config IsNot Nothing And _IsLoading = False Then
|
||||
_Config.Config.SplitContainer2Horizontal = SwitchDetailContainerHorizontal.Checked
|
||||
_Config.Save()
|
||||
End If
|
||||
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)
|
||||
End If
|
||||
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
|
||||
End Class
|
||||
@ -17,6 +17,10 @@ Public Class EventBus
|
||||
End Get
|
||||
End Property
|
||||
|
||||
''' <summary>
|
||||
''' Register a form as an event listener.
|
||||
''' </summary>
|
||||
''' <param name="listener">The event listener, usually `Me`</param>
|
||||
Public Sub Register(ByVal listener As Object)
|
||||
If Not _Listeners.Any(Function(l) l.Listener.Equals(listener)) Then
|
||||
_Listeners.Add(New EventListenerWrapper(listener))
|
||||
|
||||
@ -62,8 +62,8 @@ Public Class ConfigManager(Of T)
|
||||
''' </summary>
|
||||
''' <seealso cref="ConfigSample"/>
|
||||
''' <param name="LogConfig">LogConfig instance</param>
|
||||
''' <param name="UserConfigPath">The path to check for a user config file, eg. AppData</param>
|
||||
''' <param name="ComputerConfigPath">The path to check for a computer config file, eg. ProgramData</param>
|
||||
''' <param name="UserConfigPath">The path to check for a user config file, eg. AppData (Usually Application.UserAppDataPath or Application.LocalUserAppDataPath)</param>
|
||||
''' <param name="ComputerConfigPath">The path to check for a computer config file, eg. ProgramData (Usually Application.CommonAppDataPath)</param>
|
||||
''' <param name="ForceUserConfig">Override values from ComputerConfig with UserConfig</param>
|
||||
Public Sub New(LogConfig As LogConfig, UserConfigPath As String, ComputerConfigPath As String, Optional ForceUserConfig As Boolean = False)
|
||||
_LogConfig = LogConfig
|
||||
@ -87,8 +87,8 @@ Public Class ConfigManager(Of T)
|
||||
''' <summary>
|
||||
''' Creates a new ConfigManager with a single (user)config path
|
||||
''' </summary>
|
||||
''' <param name="LogConfig"></param>
|
||||
''' <param name="ConfigPath"></param>
|
||||
''' <param name="LogConfig">LogConfig instance</param>
|
||||
''' <param name="ConfigPath">The path to check for a user config file, eg. AppData (Usually Application.UserAppDataPath or Application.LocalUserAppDataPath)</param>
|
||||
Public Sub New(LogConfig As LogConfig, ConfigPath As String)
|
||||
MyClass.New(LogConfig, ConfigPath, ConfigPath, ForceUserConfig:=True)
|
||||
End Sub
|
||||
|
||||
@ -1,4 +1,5 @@
|
||||
''' <summary>
|
||||
Imports System.Text
|
||||
''' <summary>
|
||||
''' Provides common utility functions that do not require a specific context.
|
||||
''' </summary>
|
||||
Public Class Utils
|
||||
@ -35,4 +36,31 @@ Public Class Utils
|
||||
Return value
|
||||
End If
|
||||
End Function
|
||||
|
||||
''' <summary>
|
||||
''' Creates a "slug" from text that can be used as part of a valid URL.
|
||||
''' Invalid characters are converted to hyphens. Punctuation that Is
|
||||
''' perfect valid in a URL Is also converted to hyphens to keep the
|
||||
''' result mostly text. Steps are taken to prevent leading, trailing,
|
||||
''' And consecutive hyphens.
|
||||
''' </summary>
|
||||
''' <param name="s">The string to convert</param>
|
||||
Public Shared Function ConvertTextToSlug(ByVal s As String) As String
|
||||
Dim oBuilder As StringBuilder = New StringBuilder()
|
||||
Dim oWasHyphen As Boolean = True
|
||||
|
||||
For Each oChar As Char In s
|
||||
|
||||
If Char.IsLetterOrDigit(oChar) Then
|
||||
oBuilder.Append(Char.ToLower(oChar))
|
||||
oWasHyphen = False
|
||||
ElseIf Char.IsWhiteSpace(oChar) AndAlso Not oWasHyphen Then
|
||||
oBuilder.Append("-"c)
|
||||
oWasHyphen = True
|
||||
End If
|
||||
Next
|
||||
|
||||
If oWasHyphen AndAlso oBuilder.Length > 0 Then oBuilder.Length -= 1
|
||||
Return oBuilder.ToString()
|
||||
End Function
|
||||
End Class
|
||||
|
||||
@ -39,9 +39,6 @@ Public Class ClassInit
|
||||
AddHandler oInit.ProgressChanged, AddressOf ProgressChanged
|
||||
AddHandler oInit.InitCompleted, AddressOf InitCompleted
|
||||
|
||||
SplashScreenManager.ActivateParentOnSplashFormClosing = True
|
||||
SplashScreenManager.ShowForm(_MainForm, GetType(frmSplash), False, False)
|
||||
|
||||
oInit.Run()
|
||||
End If
|
||||
End Sub
|
||||
|
||||
@ -1,12 +1,8 @@
|
||||
Public Class ClassUIConfig
|
||||
Public Property SkinName As String = "Office 2016 Colorful"
|
||||
Public Property FlowForm As New FlowFormConfig
|
||||
|
||||
Public Property EditFormConfigs As New List(Of EditFormConfig)
|
||||
|
||||
Public Class EditFormConfig
|
||||
Public Property SysKey As String
|
||||
|
||||
Public Property SplitterDistance As Integer = 700
|
||||
Public Property SplitterHorizontal As Boolean = True
|
||||
Public Class FlowFormConfig
|
||||
Public Property Location As New Point(0, 0)
|
||||
End Class
|
||||
End Class
|
||||
|
||||
@ -28,6 +28,9 @@ Partial Public Class frmAdmin
|
||||
AddHandler Init.Completed, AddressOf Init_Completed
|
||||
Init.InitializeApplication()
|
||||
|
||||
' === Show Splash Screen ===
|
||||
SplashScreenManager.ShowForm(Me, GetType(frmSplash), False, False)
|
||||
|
||||
' === Layout and Skin ===
|
||||
UserLookAndFeel.Default.SetSkinStyle(My.UIConfig.SkinName)
|
||||
|
||||
@ -35,6 +38,28 @@ Partial Public Class frmAdmin
|
||||
EventBus.Instance.Register(Me)
|
||||
End Sub
|
||||
|
||||
Private Sub Init_Completed(sender As Object, e As EventArgs)
|
||||
' === Initialization Complete ===
|
||||
Loading = False
|
||||
SplashScreenManager.CloseForm(False)
|
||||
|
||||
' === Setup Timers ===
|
||||
AddHandler TimerRefreshData.Tick, AddressOf TimerRefreshData_Tick
|
||||
TimerRefreshData.Enabled = True
|
||||
|
||||
' === Setup Flow Form ===
|
||||
FlowForm = New frmFlowForm(My.Application.ModulesActive)
|
||||
FlowForm.Location = My.UIConfig.FlowForm.Location
|
||||
FlowForm.Show()
|
||||
|
||||
' === Load Data ===
|
||||
RefreshData()
|
||||
End Sub
|
||||
|
||||
Private Sub frmAdmin_Shown(sender As Object, e As EventArgs) Handles Me.Shown
|
||||
Visible = False
|
||||
End Sub
|
||||
|
||||
Private Sub frmMain_FormClosed(sender As Object, e As FormClosedEventArgs)
|
||||
EventBus.Instance.Unregister(Me)
|
||||
End Sub
|
||||
@ -58,31 +83,10 @@ Partial Public Class frmAdmin
|
||||
End Select
|
||||
End Sub
|
||||
|
||||
Private Sub Init_Completed(sender As Object, e As EventArgs)
|
||||
' === Initialization Complete ===
|
||||
Loading = False
|
||||
SplashScreenManager.CloseForm(False)
|
||||
|
||||
' === Setup Timers ===
|
||||
AddHandler TimerRefreshData.Tick, AddressOf TimerRefreshData_Tick
|
||||
TimerRefreshData.Enabled = True
|
||||
|
||||
' === Setup Flow Form ===
|
||||
FlowForm = New frmFlowForm(My.Application.ModulesActive)
|
||||
FlowForm.Show()
|
||||
|
||||
' === Load Data ===
|
||||
RefreshData()
|
||||
End Sub
|
||||
|
||||
Private Sub TimerRefreshData_Tick(sender As Object, e As EventArgs)
|
||||
RefreshData()
|
||||
End Sub
|
||||
|
||||
Private Sub frmMain_Shown(sender As Object, e As EventArgs)
|
||||
WindowState = FormWindowState.Minimized
|
||||
End Sub
|
||||
|
||||
Private Async Sub FlowForm_ClipboardChanged(sender As Object, e As IDataObject) Handles FlowForm.ClipboardChanged
|
||||
If My.Application.ClipboardWatcher.UserProfiles.Rows.Count = 0 Then
|
||||
Logger.Warn("Clipboard Changed but no profiles configured!")
|
||||
@ -118,7 +122,7 @@ Partial Public Class frmAdmin
|
||||
End Function)
|
||||
oMatchingProfiles = oProfileFilter.ClearNotMatchedProfiles(oMatchingProfiles)
|
||||
Catch ex As Exception
|
||||
MsgBox("Fehler beim Laden der Profile. Möglicherweise liegt ein Konfigurationsfehler vor.", MsgBoxStyle.Critical, Text)
|
||||
MsgBox("Fehler beim Laden der Profile. Möglicherweise liegt ein Konfigurationsfehler vor." & vbNewLine & vbNewLine & ex.Message, MsgBoxStyle.Critical, Text)
|
||||
Exit Sub
|
||||
End Try
|
||||
|
||||
@ -192,4 +196,6 @@ Partial Public Class frmAdmin
|
||||
Logger.Error(ex)
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
|
||||
End Class
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user