diff --git a/GUIs.Monitor/Constants.vb b/GUIs.Monitor/Constants.vb
index f007516..1d57473 100644
--- a/GUIs.Monitor/Constants.vb
+++ b/GUIs.Monitor/Constants.vb
@@ -1,9 +1,29 @@
-Public Class Constants
- Public Const STATE_SUCCESS As String = "SUCCESS"
- Public Const STATE_FAILURE As String = "FAILURE"
- Public Const STATE_WARNING As String = "WARNING"
- Public Const STATE_WAITING As String = "WAITING"
- Public Const STATE_HIGHLIGHT As String = "HIGHLIGHT"
- Public Const STATE_DEFAULT As String = "DEFAULT"
- Public Const STATE_USER As String = "USER"
-End Class
+Namespace Constants
+ 'Public Const STATE_SUCCESS As String = "SUCCESS"
+ 'Public Const STATE_FAILURE As String = "FAILURE"
+ 'Public Const STATE_WARNING As String = "WARNING"
+ 'Public Const STATE_WAITING As String = "WAITING"
+ 'Public Const STATE_HIGHLIGHT As String = "HIGHLIGHT"
+ 'Public Const STATE_DEFAULT As String = "DEFAULT"
+ 'Public Const STATE_USER As String = "USER"
+
+ Public Enum ReturnTypeEnum
+ Undefined
+ Table
+ TreeView
+ End Enum
+
+ Public Enum DataTypeEnum
+ Undefined
+ [Boolean]
+ [String]
+ [Integer]
+ [Date]
+ End Enum
+
+ Public Enum ItemTypeEnum
+ Undefined
+ List
+ SQL
+ End Enum
+End Namespace
diff --git a/GUIs.Monitor/Monitor.vbproj b/GUIs.Monitor/Monitor.vbproj
index 7f75c14..7d40c9a 100644
--- a/GUIs.Monitor/Monitor.vbproj
+++ b/GUIs.Monitor/Monitor.vbproj
@@ -138,6 +138,7 @@
+
frmMonitor.vb
@@ -150,7 +151,10 @@
True
+
+
+
frmMonitor.vb
@@ -207,6 +211,8 @@
PreserveNewest
+
+
diff --git a/GUIs.Monitor/My Project/Resources.Designer.vb b/GUIs.Monitor/My Project/Resources.Designer.vb
index 1f82dec..c0aebc5 100644
--- a/GUIs.Monitor/My Project/Resources.Designer.vb
+++ b/GUIs.Monitor/My Project/Resources.Designer.vb
@@ -120,6 +120,26 @@ Namespace My.Resources
End Get
End Property
+ '''
+ ''' Sucht eine lokalisierte Ressource vom Typ DevExpress.Utils.Svg.SvgImage.
+ '''
+ Friend ReadOnly Property exporttoxlsx() As DevExpress.Utils.Svg.SvgImage
+ Get
+ Dim obj As Object = ResourceManager.GetObject("exporttoxlsx", resourceCulture)
+ Return CType(obj,DevExpress.Utils.Svg.SvgImage)
+ End Get
+ End Property
+
+ '''
+ ''' Sucht eine lokalisierte Ressource vom Typ DevExpress.Utils.Svg.SvgImage.
+ '''
+ Friend ReadOnly Property exporttoxlsx1() As DevExpress.Utils.Svg.SvgImage
+ Get
+ Dim obj As Object = ResourceManager.GetObject("exporttoxlsx1", resourceCulture)
+ Return CType(obj,DevExpress.Utils.Svg.SvgImage)
+ End Get
+ End Property
+
'''
''' Sucht eine lokalisierte Ressource vom Typ DevExpress.Utils.Svg.SvgImage.
'''
diff --git a/GUIs.Monitor/My Project/Resources.resx b/GUIs.Monitor/My Project/Resources.resx
index 84bfd8a..38aa8fb 100644
--- a/GUIs.Monitor/My Project/Resources.resx
+++ b/GUIs.Monitor/My Project/Resources.resx
@@ -121,9 +121,15 @@
..\Resources\actions_reload.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+ ..\Resources\exporttoxlsx.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
..\Resources\export.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+ ..\Resources\deletetable.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
..\Resources\charttype_line.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
@@ -139,7 +145,7 @@
..\Resources\managedatasource.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-
- ..\Resources\deletetable.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+ ..\Resources\exporttoxlsx1.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
\ No newline at end of file
diff --git a/GUIs.Monitor/ParameterLoader.vb b/GUIs.Monitor/ParameterLoader.vb
new file mode 100644
index 0000000..08c820a
--- /dev/null
+++ b/GUIs.Monitor/ParameterLoader.vb
@@ -0,0 +1,157 @@
+Imports DevExpress.Utils
+Imports DevExpress.XtraEditors
+Imports DevExpress.XtraEditors.Controls
+Imports DevExpress.XtraLayout
+Imports DigitalData.Modules.Base
+Imports DigitalData.Modules.Database
+Imports DigitalData.Modules.Logging
+
+Public Class ParameterLoader
+ Inherits BaseClass
+
+ Private Const LIST_CONTROL_NULL_TEXT As String = "Kein Wert ausgewählt"
+
+ Private Database As MSSQLServer
+ Private LayoutControl As LayoutControl
+
+ Public Sub New(pLogConfig As LogConfig, pDatabase As MSSQLServer, pLayoutControl As LayoutControl)
+ MyBase.New(pLogConfig)
+ Database = pDatabase
+ LayoutControl = pLayoutControl
+ End Sub
+
+ Private Function GetDefaultValue(pParam As SearchParameter) As Object
+ Dim oResult As Object = Nothing
+
+ Select Case pParam.DataType
+ Case Constants.DataTypeEnum.Boolean
+ Boolean.TryParse(pParam.DefaultValue, oResult)
+
+ Case Constants.DataTypeEnum.Date
+ Date.TryParse(pParam.DefaultValue, oResult)
+
+ Case Constants.DataTypeEnum.Integer
+ Integer.TryParse(pParam.DefaultValue, oResult)
+
+ Case Else
+ oResult = pParam.DefaultValue
+
+ End Select
+
+ Return oResult
+ End Function
+
+ Public Sub LoadParameters(pSearch As Search)
+ For Each oParam As SearchParameter In pSearch.Parameters
+ Dim oControl As Control
+
+ Select Case oParam.DataType
+ Case Constants.DataTypeEnum.Boolean
+ Dim oDefaultValue As Boolean = GetDefaultValue(oParam)
+ Dim oCheckbox = New CheckEdit With {
+ .Text = oParam.Title,
+ .Checked = oDefaultValue
+ }
+
+ oControl = oCheckbox
+
+
+ Case Constants.DataTypeEnum.Date
+ Dim oDefaultValue As Date = GetDefaultValue(oParam)
+
+ If oDefaultValue = Date.MinValue Then
+ oDefaultValue = Now
+ End If
+
+ oControl = New DateEdit() With {
+ .EditValue = oDefaultValue
+ }
+
+ Case Constants.DataTypeEnum.String
+ Dim oDefaultValue As String = GetDefaultValue(oParam)
+
+ Select Case oParam.ItemType
+ Case Constants.ItemTypeEnum.List
+ Dim oCombobox = New ComboBoxEdit() With {
+ .Name = oParam.PatternTitle,
+ .Tag = oParam.PatternTitle,
+ .EditValue = oDefaultValue
+ }
+ Dim oClearButton = GetClearButtonForControl(oCombobox)
+ Dim oItems = oParam.ItemString.Split(";"c).ToList()
+ oCombobox.Properties.Items.AddRange(oItems)
+ oCombobox.Properties.NullText = LIST_CONTROL_NULL_TEXT
+ oCombobox.Properties.Buttons.Add(oClearButton)
+ oControl = oCombobox
+
+ Case Constants.ItemTypeEnum.SQL
+ Dim oGridCombobox = New LookUpEdit() With {
+ .Name = oParam.PatternTitle,
+ .Tag = oParam.PatternTitle,
+ .EditValue = oDefaultValue
+ }
+ Dim oClearButton = GetClearButtonForControl(oGridCombobox)
+ Dim oSQL = oParam.ItemString
+ Dim oTable = Database.GetDatatable(oSQL)
+ oGridCombobox.Properties.DataSource = oTable
+ oGridCombobox.Properties.DisplayMember = oTable.Columns.Item(0).ColumnName
+ oGridCombobox.Properties.ValueMember = oTable.Columns.Item(0).ColumnName
+ oGridCombobox.Properties.NullText = LIST_CONTROL_NULL_TEXT
+ oGridCombobox.Properties.Buttons.Add(oClearButton)
+ oControl = oGridCombobox
+
+ Case Else
+ oControl = New TextEdit() With {
+ .EditValue = oDefaultValue
+ }
+ End Select
+
+ Case Else
+ Dim oDefaultValue As Object = GetDefaultValue(oParam)
+
+ oControl = New TextEdit() With {
+ .EditValue = oDefaultValue
+ }
+
+ End Select
+
+ oControl.Name = oParam.PatternTitle
+ oControl.Tag = oParam.PatternTitle
+
+ Dim oItem As LayoutControlItem = LayoutControl.AddItem()
+ oItem.Text = oParam.Title
+ oItem.Control = oControl
+ oItem.TextLocation = Locations.Top
+ oItem.TextToControlDistance = 3
+ oItem.Padding = New DevExpress.XtraLayout.Utils.Padding(0, 0, 10, 0)
+
+
+ Next
+ End Sub
+
+ Private Function GetClearButtonForControl(pControl As Control) As EditorButton
+ Dim oClearButton As New EditorButton() With {
+ .Kind = ButtonPredefines.Clear,
+ .Tag = pControl.Name
+ }
+ AddHandler oClearButton.Click, AddressOf ClearButton_Click
+ Return oClearButton
+ End Function
+
+ Private Sub ClearButton_Click(sender As Object, e As EventArgs)
+ Dim oButton As EditorButton = sender
+ Dim oControlName As String = oButton.Tag.ToString
+
+ Dim oControl = LayoutControl.Controls.Find(oControlName, True).SingleOrDefault()
+
+ Select Case oControl.GetType
+ Case GetType(LookUpEdit)
+ DirectCast(oControl, LookUpEdit).EditValue = Nothing
+
+ Case GetType(ComboBoxEdit)
+ DirectCast(oControl, ComboBoxEdit).EditValue = Nothing
+ End Select
+
+ End Sub
+End Class
+
diff --git a/GUIs.Monitor/Resources/exporttoxlsx.svg b/GUIs.Monitor/Resources/exporttoxlsx.svg
new file mode 100644
index 0000000..c8e97ee
--- /dev/null
+++ b/GUIs.Monitor/Resources/exporttoxlsx.svg
@@ -0,0 +1,15 @@
+
+
\ No newline at end of file
diff --git a/GUIs.Monitor/Resources/exporttoxlsx1.svg b/GUIs.Monitor/Resources/exporttoxlsx1.svg
new file mode 100644
index 0000000..c8e97ee
--- /dev/null
+++ b/GUIs.Monitor/Resources/exporttoxlsx1.svg
@@ -0,0 +1,15 @@
+
+
\ No newline at end of file
diff --git a/GUIs.Monitor/Search.vb b/GUIs.Monitor/Search.vb
new file mode 100644
index 0000000..71570a2
--- /dev/null
+++ b/GUIs.Monitor/Search.vb
@@ -0,0 +1,13 @@
+Public Class Search
+ Public Id As Integer
+ Public Title As String
+ Public Description As String
+ Public SQLCommand As String
+ Public ReturnType As Constants.ReturnTypeEnum
+
+ Public Parameters As List(Of SearchParameter)
+
+ Public Overrides Function ToString() As String
+ Return Title
+ End Function
+End Class
diff --git a/GUIs.Monitor/SearchLoader.vb b/GUIs.Monitor/SearchLoader.vb
index 01de6b2..e1a662f 100644
--- a/GUIs.Monitor/SearchLoader.vb
+++ b/GUIs.Monitor/SearchLoader.vb
@@ -2,36 +2,17 @@
Imports DigitalData.Modules.Database
Imports DigitalData.Modules.Logging
Imports DigitalData.Modules.Language
+Imports DigitalData.GUIs.Monitor.Constants
-Public Class SearchLoader
+Partial Public Class SearchLoader
Inherits BaseClass
- Private Config As Config
- Private Database As MSSQLServer
+ Private ReadOnly Config As Config
+ Private ReadOnly Database As MSSQLServer
Public Searches As New List(Of Search)
Public Parameters As New List(Of SearchParameter)
- Public Enum ReturnTypeEnum
- Undefined
- Table
- TreeView
- End Enum
-
- Public Enum DataTypeEnum
- Undefined
- [Boolean]
- [String]
- [Integer]
- [Date]
- End Enum
-
- Public Enum ItemTypeEnum
- Undefined
- List
- SQL
- End Enum
-
Public Sub New(pLogConfig As LogConfig, pConfig As Config, pDatabase As MSSQLServer)
MyBase.New(pLogConfig)
Config = pConfig
@@ -119,47 +100,12 @@ Public Class SearchLoader
.ItemType = GetItemType(oRow.ItemEx("ITEM_TYPE", String.Empty)),
.Required = oRow.ItemEx("REQUIRED", True),
.PatternTitle = oRow.ItemEx("PATTERN", String.Empty),
- .SearchId = oRow.ItemEx("PROFILE_ID", 0)
+ .SearchId = oRow.ItemEx("PROFILE_ID", 0),
+ .DefaultValue = oRow.ItemEx("DEFAULT_VALUE", String.Empty)
})
Next
Parameters = oParameters
End Sub
- Public Class Search
- Public Id As Integer
- Public Title As String
- Public Description As String
- Public SQLCommand As String
- Public ReturnType As ReturnTypeEnum
-
- Public Parameters As List(Of SearchParameter)
-
- Public Overrides Function ToString() As String
- Return Title
- End Function
- End Class
-
- Public Class SearchParameter
- Public Id As Integer
- Public Title As String
- Public PatternTitle As String
- Public Description As String
- Public DataType As DataTypeEnum
- Public ItemString As String
- Public ItemType As ItemTypeEnum
- Public Required As Boolean
- Public SearchId As Integer
-
- Public ReadOnly Property HasItems As Boolean
- Get
- Return ItemType <> ItemTypeEnum.Undefined
- End Get
- End Property
-
- Public Overrides Function ToString() As String
- Return Title
- End Function
- End Class
-
End Class
diff --git a/GUIs.Monitor/SearchParameter.vb b/GUIs.Monitor/SearchParameter.vb
new file mode 100644
index 0000000..6a560c6
--- /dev/null
+++ b/GUIs.Monitor/SearchParameter.vb
@@ -0,0 +1,22 @@
+Public Class SearchParameter
+ Public Id As Integer
+ Public Title As String
+ Public PatternTitle As String
+ Public Description As String
+ Public DataType As Constants.DataTypeEnum
+ Public ItemString As String
+ Public ItemType As Constants.ItemTypeEnum
+ Public Required As Boolean
+ Public SearchId As Integer
+ Public DefaultValue As String
+
+ Public ReadOnly Property HasItems As Boolean
+ Get
+ Return ItemType <> Constants.ItemTypeEnum.Undefined
+ End Get
+ End Property
+
+ Public Overrides Function ToString() As String
+ Return Title
+ End Function
+End Class
\ No newline at end of file
diff --git a/GUIs.Monitor/frmMonitor.Designer.vb b/GUIs.Monitor/frmMonitor.Designer.vb
index b3104af..8bacaa3 100644
--- a/GUIs.Monitor/frmMonitor.Designer.vb
+++ b/GUIs.Monitor/frmMonitor.Designer.vb
@@ -29,8 +29,8 @@ Partial Class frmMonitor
Me.ApplicationMenu1 = New DevExpress.XtraBars.Ribbon.ApplicationMenu(Me.components)
Me.BarButtonItem1 = New DevExpress.XtraBars.BarButtonItem()
Me.buttonSearch = New DevExpress.XtraBars.BarButtonItem()
- Me.btnExportGrid = New DevExpress.XtraBars.BarButtonItem()
- Me.BarButtonItem3 = New DevExpress.XtraBars.BarButtonItem()
+ Me.btnExportDetails = New DevExpress.XtraBars.BarButtonItem()
+ Me.btnExportMain = New DevExpress.XtraBars.BarButtonItem()
Me.lbResultCount = New DevExpress.XtraBars.BarStaticItem()
Me.btnReloadSearches = New DevExpress.XtraBars.BarButtonItem()
Me.btnResetLayout = New DevExpress.XtraBars.BarButtonItem()
@@ -60,6 +60,7 @@ Partial Class frmMonitor
Me.LayoutControlGroup1 = New DevExpress.XtraLayout.LayoutControlGroup()
Me.LayoutControlItem1 = New DevExpress.XtraLayout.LayoutControlItem()
Me.lbParams = New DevExpress.XtraLayout.SimpleLabelItem()
+ Me.EmptySpaceItem1 = New DevExpress.XtraLayout.EmptySpaceItem()
Me.SplitContainerSQL = New DevExpress.XtraEditors.SplitContainerControl()
Me.XtraTabControlSQL = New DevExpress.XtraTab.XtraTabControl()
Me.XtraTabPageSQL1 = New DevExpress.XtraTab.XtraTabPage()
@@ -104,6 +105,7 @@ Partial Class frmMonitor
CType(Me.LayoutControlGroup1, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.LayoutControlItem1, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.lbParams, System.ComponentModel.ISupportInitialize).BeginInit()
+ CType(Me.EmptySpaceItem1, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.SplitContainerSQL, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.SplitContainerSQL.Panel1, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.SplitContainerSQL.Panel2, System.ComponentModel.ISupportInitialize).BeginInit()
@@ -137,7 +139,7 @@ Partial Class frmMonitor
'
Me.RibbonControl1.ApplicationButtonDropDownControl = Me.ApplicationMenu1
Me.RibbonControl1.ExpandCollapseItem.Id = 0
- Me.RibbonControl1.Items.AddRange(New DevExpress.XtraBars.BarItem() {Me.RibbonControl1.ExpandCollapseItem, Me.RibbonControl1.SearchEditItem, Me.buttonSearch, Me.BarButtonItem1, Me.btnExportGrid, Me.BarButtonItem3, Me.lbResultCount, Me.btnReloadSearches, Me.btnResetLayout})
+ Me.RibbonControl1.Items.AddRange(New DevExpress.XtraBars.BarItem() {Me.RibbonControl1.ExpandCollapseItem, Me.RibbonControl1.SearchEditItem, Me.buttonSearch, Me.BarButtonItem1, Me.btnExportDetails, Me.btnExportMain, Me.lbResultCount, Me.btnReloadSearches, Me.btnResetLayout})
Me.RibbonControl1.Location = New System.Drawing.Point(0, 0)
Me.RibbonControl1.MaxItemId = 9
Me.RibbonControl1.Name = "RibbonControl1"
@@ -168,21 +170,21 @@ Partial Class frmMonitor
Me.buttonSearch.Name = "buttonSearch"
Me.buttonSearch.RibbonStyle = DevExpress.XtraBars.Ribbon.RibbonItemStyles.Large
'
- 'btnExportGrid
+ 'btnExportDetails
'
- Me.btnExportGrid.Caption = "Export Grid als XLSX"
- Me.btnExportGrid.Enabled = False
- Me.btnExportGrid.Id = 4
- Me.btnExportGrid.ImageOptions.SvgImage = Global.DigitalData.GUIs.Monitor.My.Resources.Resources.export
- Me.btnExportGrid.Name = "btnExportGrid"
+ Me.btnExportDetails.Caption = "SQL Ansicht exportieren"
+ Me.btnExportDetails.Enabled = False
+ Me.btnExportDetails.Id = 4
+ Me.btnExportDetails.ImageOptions.SvgImage = Global.DigitalData.GUIs.Monitor.My.Resources.Resources.exporttoxlsx1
+ Me.btnExportDetails.Name = "btnExportDetails"
'
- 'BarButtonItem3
+ 'btnExportMain
'
- Me.BarButtonItem3.Caption = "Export als XLSX"
- Me.BarButtonItem3.Id = 5
- Me.BarButtonItem3.ImageOptions.Image = CType(resources.GetObject("BarButtonItem3.ImageOptions.Image"), System.Drawing.Image)
- Me.BarButtonItem3.ImageOptions.LargeImage = CType(resources.GetObject("BarButtonItem3.ImageOptions.LargeImage"), System.Drawing.Image)
- Me.BarButtonItem3.Name = "BarButtonItem3"
+ Me.btnExportMain.Caption = "Hauptansicht exportieren"
+ Me.btnExportMain.Enabled = False
+ Me.btnExportMain.Id = 5
+ Me.btnExportMain.ImageOptions.SvgImage = Global.DigitalData.GUIs.Monitor.My.Resources.Resources.exporttoxlsx
+ Me.btnExportMain.Name = "btnExportMain"
'
'lbResultCount
'
@@ -231,11 +233,10 @@ Partial Class frmMonitor
'RibbonPageGroup2
'
Me.RibbonPageGroup2.Alignment = DevExpress.XtraBars.Ribbon.RibbonPageGroupAlignment.Far
- Me.RibbonPageGroup2.ItemLinks.Add(Me.BarButtonItem3)
- Me.RibbonPageGroup2.ItemLinks.Add(Me.btnExportGrid)
+ Me.RibbonPageGroup2.ItemLinks.Add(Me.btnExportMain)
+ Me.RibbonPageGroup2.ItemLinks.Add(Me.btnExportDetails)
Me.RibbonPageGroup2.Name = "RibbonPageGroup2"
Me.RibbonPageGroup2.Text = "Export"
- Me.RibbonPageGroup2.Visible = False
'
'RibbonStatusBar1
'
@@ -280,7 +281,7 @@ Partial Class frmMonitor
'
Me.XtraTabPageFile2.Controls.Add(Me.DocumentViewer2)
Me.XtraTabPageFile2.Name = "XtraTabPageFile2"
- Me.XtraTabPageFile2.Size = New System.Drawing.Size(388, 540)
+ Me.XtraTabPageFile2.Size = New System.Drawing.Size(388, 564)
Me.XtraTabPageFile2.Text = "File 2"
'
'DocumentViewer2
@@ -289,14 +290,14 @@ Partial Class frmMonitor
Me.DocumentViewer2.FileLoaded = False
Me.DocumentViewer2.Location = New System.Drawing.Point(0, 0)
Me.DocumentViewer2.Name = "DocumentViewer2"
- Me.DocumentViewer2.Size = New System.Drawing.Size(388, 540)
+ Me.DocumentViewer2.Size = New System.Drawing.Size(388, 564)
Me.DocumentViewer2.TabIndex = 1
'
'XtraTabPageHtml1
'
Me.XtraTabPageHtml1.Controls.Add(Me.RichEditControl1)
Me.XtraTabPageHtml1.Name = "XtraTabPageHtml1"
- Me.XtraTabPageHtml1.Size = New System.Drawing.Size(388, 540)
+ Me.XtraTabPageHtml1.Size = New System.Drawing.Size(388, 564)
Me.XtraTabPageHtml1.Text = "HTML 1"
'
'RichEditControl1
@@ -309,14 +310,14 @@ Partial Class frmMonitor
Me.RichEditControl1.Name = "RichEditControl1"
Me.RichEditControl1.Options.HorizontalRuler.Visibility = DevExpress.XtraRichEdit.RichEditRulerVisibility.Hidden
Me.RichEditControl1.Options.VerticalRuler.Visibility = DevExpress.XtraRichEdit.RichEditRulerVisibility.Hidden
- Me.RichEditControl1.Size = New System.Drawing.Size(388, 540)
+ Me.RichEditControl1.Size = New System.Drawing.Size(388, 564)
Me.RichEditControl1.TabIndex = 0
'
'XtraTabPageHtml2
'
Me.XtraTabPageHtml2.Controls.Add(Me.RichEditControl2)
Me.XtraTabPageHtml2.Name = "XtraTabPageHtml2"
- Me.XtraTabPageHtml2.Size = New System.Drawing.Size(388, 540)
+ Me.XtraTabPageHtml2.Size = New System.Drawing.Size(388, 564)
Me.XtraTabPageHtml2.Text = "HTML 2"
'
'RichEditControl2
@@ -327,7 +328,7 @@ Partial Class frmMonitor
Me.RichEditControl2.Location = New System.Drawing.Point(0, 0)
Me.RichEditControl2.MenuManager = Me.RibbonControl1
Me.RichEditControl2.Name = "RichEditControl2"
- Me.RichEditControl2.Size = New System.Drawing.Size(388, 540)
+ Me.RichEditControl2.Size = New System.Drawing.Size(388, 564)
Me.RichEditControl2.TabIndex = 1
'
'GridControl1
@@ -337,7 +338,7 @@ Partial Class frmMonitor
Me.GridControl1.MainView = Me.GridView1
Me.GridControl1.MenuManager = Me.RibbonControl1
Me.GridControl1.Name = "GridControl1"
- Me.GridControl1.Size = New System.Drawing.Size(730, 349)
+ Me.GridControl1.Size = New System.Drawing.Size(730, 373)
Me.GridControl1.TabIndex = 0
Me.GridControl1.ViewCollection.AddRange(New DevExpress.XtraGrid.Views.Base.BaseView() {Me.GridView1})
'
@@ -428,7 +429,7 @@ Partial Class frmMonitor
'
Me.LayoutControlGroup1.EnableIndentsWithoutBorders = DevExpress.Utils.DefaultBoolean.[True]
Me.LayoutControlGroup1.GroupBordersVisible = False
- Me.LayoutControlGroup1.Items.AddRange(New DevExpress.XtraLayout.BaseLayoutItem() {Me.LayoutControlItem1, Me.lbParams})
+ Me.LayoutControlGroup1.Items.AddRange(New DevExpress.XtraLayout.BaseLayoutItem() {Me.LayoutControlItem1, Me.lbParams, Me.EmptySpaceItem1})
Me.LayoutControlGroup1.Name = "LayoutControlGroup1"
Me.LayoutControlGroup1.Padding = New DevExpress.XtraLayout.Utils.Padding(10, 10, 10, 0)
Me.LayoutControlGroup1.Size = New System.Drawing.Size(235, 83)
@@ -448,14 +449,22 @@ Partial Class frmMonitor
'lbParams
'
Me.lbParams.AllowHotTrack = False
- Me.lbParams.Location = New System.Drawing.Point(0, 36)
+ Me.lbParams.Location = New System.Drawing.Point(0, 60)
Me.lbParams.Name = "lbParams"
Me.lbParams.Padding = New DevExpress.XtraLayout.Utils.Padding(0, 0, 0, 0)
- Me.lbParams.Size = New System.Drawing.Size(215, 37)
+ Me.lbParams.Size = New System.Drawing.Size(215, 13)
Me.lbParams.Text = "Parameter:"
Me.lbParams.TextSize = New System.Drawing.Size(69, 13)
Me.lbParams.Visibility = DevExpress.XtraLayout.Utils.LayoutVisibility.Never
'
+ 'EmptySpaceItem1
+ '
+ Me.EmptySpaceItem1.AllowHotTrack = False
+ Me.EmptySpaceItem1.Location = New System.Drawing.Point(0, 36)
+ Me.EmptySpaceItem1.Name = "EmptySpaceItem1"
+ Me.EmptySpaceItem1.Size = New System.Drawing.Size(215, 24)
+ Me.EmptySpaceItem1.TextSize = New System.Drawing.Size(0, 0)
+ '
'SplitContainerSQL
'
Me.SplitContainerSQL.CollapsePanel = DevExpress.XtraEditors.SplitCollapsePanel.Panel2
@@ -515,7 +524,7 @@ Partial Class frmMonitor
'
Me.XtraTabPageSQL2.Controls.Add(Me.GridControl3)
Me.XtraTabPageSQL2.Name = "XtraTabPageSQL2"
- Me.XtraTabPageSQL2.Size = New System.Drawing.Size(730, 349)
+ Me.XtraTabPageSQL2.Size = New System.Drawing.Size(730, 373)
Me.XtraTabPageSQL2.Text = "SQL 2"
'
'GridControl3
@@ -525,7 +534,7 @@ Partial Class frmMonitor
Me.GridControl3.MainView = Me.GridView3
Me.GridControl3.MenuManager = Me.RibbonControl1
Me.GridControl3.Name = "GridControl3"
- Me.GridControl3.Size = New System.Drawing.Size(730, 349)
+ Me.GridControl3.Size = New System.Drawing.Size(730, 373)
Me.GridControl3.TabIndex = 1
Me.GridControl3.ViewCollection.AddRange(New DevExpress.XtraGrid.Views.Base.BaseView() {Me.GridView3})
'
@@ -538,7 +547,7 @@ Partial Class frmMonitor
'
Me.XtraTabPageSQL3.Controls.Add(Me.GridControl4)
Me.XtraTabPageSQL3.Name = "XtraTabPageSQL3"
- Me.XtraTabPageSQL3.Size = New System.Drawing.Size(730, 349)
+ Me.XtraTabPageSQL3.Size = New System.Drawing.Size(730, 373)
Me.XtraTabPageSQL3.Text = "SQL 3"
'
'GridControl4
@@ -548,7 +557,7 @@ Partial Class frmMonitor
Me.GridControl4.MainView = Me.GridView4
Me.GridControl4.MenuManager = Me.RibbonControl1
Me.GridControl4.Name = "GridControl4"
- Me.GridControl4.Size = New System.Drawing.Size(730, 349)
+ Me.GridControl4.Size = New System.Drawing.Size(730, 373)
Me.GridControl4.TabIndex = 1
Me.GridControl4.ViewCollection.AddRange(New DevExpress.XtraGrid.Views.Base.BaseView() {Me.GridView4})
'
@@ -561,7 +570,7 @@ Partial Class frmMonitor
'
Me.XtraTabPageSQL4.Controls.Add(Me.GridControl1)
Me.XtraTabPageSQL4.Name = "XtraTabPageSQL4"
- Me.XtraTabPageSQL4.Size = New System.Drawing.Size(730, 349)
+ Me.XtraTabPageSQL4.Size = New System.Drawing.Size(730, 373)
Me.XtraTabPageSQL4.Text = "SQL 4"
'
'SplitContainerFileHTML
@@ -609,7 +618,7 @@ Partial Class frmMonitor
Me.XtraTabPage4.ImageOptions.SvgImage = Global.DigitalData.GUIs.Monitor.My.Resources.Resources.bo_dashboard
Me.XtraTabPage4.ImageOptions.SvgImageSize = New System.Drawing.Size(16, 16)
Me.XtraTabPage4.Name = "XtraTabPage4"
- Me.XtraTabPage4.Size = New System.Drawing.Size(1377, 563)
+ Me.XtraTabPage4.Size = New System.Drawing.Size(1377, 587)
Me.XtraTabPage4.Text = "Dashboard"
'
'XtraSaveFileDialog1
@@ -664,6 +673,7 @@ Partial Class frmMonitor
CType(Me.LayoutControlGroup1, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.LayoutControlItem1, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.lbParams, System.ComponentModel.ISupportInitialize).EndInit()
+ CType(Me.EmptySpaceItem1, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.SplitContainerSQL.Panel1, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.SplitContainerSQL.Panel2, System.ComponentModel.ISupportInitialize).EndInit()
Me.SplitContainerSQL.Panel2.ResumeLayout(False)
@@ -733,10 +743,10 @@ Partial Class frmMonitor
Friend WithEvents SvgImageCollection1 As DevExpress.Utils.SvgImageCollection
Friend WithEvents ApplicationMenu1 As DevExpress.XtraBars.Ribbon.ApplicationMenu
Friend WithEvents BarButtonItem1 As DevExpress.XtraBars.BarButtonItem
- Friend WithEvents btnExportGrid As DevExpress.XtraBars.BarButtonItem
+ Friend WithEvents btnExportDetails As DevExpress.XtraBars.BarButtonItem
Friend WithEvents RibbonPageGroup2 As DevExpress.XtraBars.Ribbon.RibbonPageGroup
Friend WithEvents XtraSaveFileDialog1 As DevExpress.XtraEditors.XtraSaveFileDialog
- Friend WithEvents BarButtonItem3 As DevExpress.XtraBars.BarButtonItem
+ Friend WithEvents btnExportMain As DevExpress.XtraBars.BarButtonItem
Friend WithEvents lbResultCount As DevExpress.XtraBars.BarStaticItem
Friend WithEvents AdornerUIManager2 As DevExpress.Utils.VisualEffects.AdornerUIManager
Friend WithEvents btnReloadSearches As DevExpress.XtraBars.BarButtonItem
@@ -751,4 +761,5 @@ Partial Class frmMonitor
Friend WithEvents LayoutControl1 As DevExpress.XtraLayout.LayoutControl
Friend WithEvents Root As DevExpress.XtraLayout.LayoutControlGroup
Friend WithEvents lbParams As DevExpress.XtraLayout.SimpleLabelItem
+ Friend WithEvents EmptySpaceItem1 As DevExpress.XtraLayout.EmptySpaceItem
End Class
diff --git a/GUIs.Monitor/frmMonitor.resx b/GUIs.Monitor/frmMonitor.resx
index 8abaa25..2e58f63 100644
--- a/GUIs.Monitor/frmMonitor.resx
+++ b/GUIs.Monitor/frmMonitor.resx
@@ -121,51 +121,6 @@
183, 17
-
-
- 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
diff --git a/GUIs.Monitor/frmMonitor.vb b/GUIs.Monitor/frmMonitor.vb
index 0369f29..e747445 100644
--- a/GUIs.Monitor/frmMonitor.vb
+++ b/GUIs.Monitor/frmMonitor.vb
@@ -1,27 +1,26 @@
-Imports DevExpress.XtraGrid
+Imports System.ComponentModel
+Imports DevExpress.Utils
+Imports DevExpress.XtraEditors
+Imports DevExpress.XtraEditors.Controls
+Imports DevExpress.XtraEditors.Repository
+Imports DevExpress.XtraGrid
+Imports DevExpress.XtraGrid.Columns
Imports DevExpress.XtraGrid.Views.Grid
+Imports DevExpress.XtraRichEdit
+Imports DevExpress.XtraTab
+Imports DevExpress.XtraTreeList
+Imports DevExpress.XtraTreeList.Columns
Imports DevExpress.XtraTreeList.Nodes
+Imports DigitalData.Controls.DocumentViewer
Imports DigitalData.Controls.SQLConfig
Imports DigitalData.GUIs.Common
+Imports DigitalData.GUIs.Monitor.Constants
Imports DigitalData.Modules.Config
Imports DigitalData.Modules.Database
-Imports DigitalData.Modules.Logging
-Imports DigitalData.Modules.Language.Utils
Imports DigitalData.Modules.Language
+Imports DigitalData.Modules.Language.Utils
+Imports DigitalData.Modules.Logging
Imports DigitalData.Modules.Patterns
-Imports DevExpress.XtraTab
-Imports DigitalData.Controls.DocumentViewer
-Imports DevExpress.XtraEditors
-Imports DevExpress.XtraRichEdit
-Imports DevExpress.XtraTreeList.Columns
-Imports DevExpress.XtraEditors.Repository
-Imports DevExpress.Utils
-Imports DevExpress.XtraEditors.Controls
-Imports DigitalData.GUIs.Monitor.SearchLoader
-Imports DevExpress.XtraLayout
-Imports DevExpress.XtraTreeList
-Imports DevExpress.XtraGrid.Columns
-Imports System.ComponentModel
Public Class frmMonitor
Private ReadOnly ColumnMarkers As New List(Of String) From {"[HTML]", "[SQL]", "[FILENAME]"}
@@ -35,9 +34,6 @@ Public Class frmMonitor
Private ReadOnly DisplayColumns As New List(Of String) From {"COLUMN1", "COLUMN2", "COLUMN3", "ADDED_WHEN", "STATE", "ICON"}
-
-
-
Private SQLResultGrids As List(Of GridControl)
Private SQLResultTabs As List(Of XtraTabPage)
Private SQLResultGridIndex As Integer = 0
@@ -59,7 +55,7 @@ Public Class frmMonitor
Private Const STATE_WARNING As String = "WARNING"
Private Const STATE_WAITING As String = "WAITING"
Private Const STATE_HIGHLIGHT As String = "HIGHLIGHT"
- Private Const LIST_CONTROL_NULL_TEXT As String = "Kein Wert ausgewählt"
+
Private MarkedColumns As New List(Of GridColumn)
Private ActiveSearch As Search = Nothing
Private LastSearch As Search = Nothing
@@ -86,6 +82,7 @@ Public Class frmMonitor
Private GridBuilder As GridBuilder
Private ControlHelper As Common.ControlHelper
Private SearchLoader As SearchLoader
+ Private ParamLoader As ParameterLoader
Private LogConfig As LogConfig
Private Logger As Logger
Private ConfigManager As ConfigManager(Of Config)
@@ -129,6 +126,7 @@ Public Class frmMonitor
Dim oConnectionString = MSSQLServer.DecryptConnectionString(ConfigManager.Config.ConnectionString)
Database = New MSSQLServer(LogConfig, oConnectionString)
SearchLoader = New SearchLoader(LogConfig, ConfigManager.Config, Database)
+ ParamLoader = New ParameterLoader(LogConfig, Database, LayoutControl1)
GridBuilder = New GridBuilder()
InitGrid()
@@ -157,12 +155,12 @@ Public Class frmMonitor
For Each oGrid In SQLResultGrids
AddHandler oGrid.Enter, Sub()
ActiveSQLResultGrid = oGrid
- btnExportGrid.Enabled = True
+ btnExportDetails.Enabled = True
End Sub
AddHandler oGrid.Leave, Sub()
ActiveSQLResultGrid = Nothing
- btnExportGrid.Enabled = False
+ btnExportDetails.Enabled = False
End Sub
Next
@@ -217,12 +215,10 @@ Public Class frmMonitor
AdornerUIManager2.Hide()
AdornerUIManager2.Elements.Clear()
- 'Dim oSQL As String = $"EXEC [{ConfigManager.Config.DBPrefix}].[dbo].[PRDD_MONITORING_GET_TREEVIEW_RESULT] '{cmbSearches.EditValue}','irgendwas','irgendwas','irgendwas',1"
Dim oSQL As String = oSearch.SQLCommand
Dim oControls As New List(Of Control)
For Each oItem As Control In LayoutControl1.Controls
-
Dim oParam = oSearch.Parameters.
Where(Function(param) param.PatternTitle = oItem.Name).
FirstOrDefault()
@@ -241,7 +237,6 @@ Public Class frmMonitor
oMissingParams = True
End If
-
Next
AdornerUIManager2.Show()
@@ -254,7 +249,7 @@ Public Class frmMonitor
oSQL = Patterns.ReplaceControlValues(oSQL, oControls)
Dim oTable As DataTable = Database.GetDatatable(oSQL)
- If oSearch.ReturnType = ReturnTypeEnum.TreeView Then
+ If oSearch.ReturnType = Constants.ReturnTypeEnum.TreeView Then
GridControlResults.Visible = False
GridControlResults.Dock = DockStyle.None
@@ -302,6 +297,7 @@ Public Class frmMonitor
GridControlResults.DataSource = oTable
GridViewResults.PopulateColumns()
+ GridBuilder.SetDateTimeColumns(GridViewResults)
MarkedColumns = GridViewResults.Columns.AsEnumerable.
Where(Function(column)
@@ -321,6 +317,8 @@ Public Class frmMonitor
Workspace.LoadWorkspace(oSearch.Id.ToString)
LastLoadedSearch = oSearch
+ btnExportMain.Enabled = True
+
Return True
Catch ex As Exception
FormHelper.ShowErrorMessage(ex, "LoadData")
@@ -352,6 +350,9 @@ Public Class frmMonitor
Private Sub InitTreeListColumns(pMaxLength As Integer)
Dim oColumn1 = TreeListResults.Columns.Item("COLUMN1")
+ Dim oColumn2 = TreeListResults.Columns.Item("COLUMN2")
+ Dim oColumn3 = TreeListResults.Columns.Item("COLUMN3")
+ Dim oAddedWhenColumn = TreeListResults.Columns.Item("ADDED_WHEN")
Dim oStateColumn = TreeListResults.Columns.Item("STATE")
Dim oIconColumn = TreeListResults.Columns.Item("ICON")
@@ -364,10 +365,24 @@ Public Class frmMonitor
Dim oColumnLength = pMaxLength * 5
With oColumn1
+ .Caption = "Titel"
.MinWidth = oColumnLength
.MaxWidth = oColumnLength
.Width = oColumnLength
.OptionsColumn.AllowSize = False
+ .OptionsColumn.AllowSort = False
+ End With
+
+ With oColumn2
+ .Caption = "Wert 1"
+ End With
+
+ With oColumn3
+ .Caption = "Wert 2"
+ End With
+
+ With oAddedWhenColumn
+ .Caption = "Datum"
End With
With oStateColumn
@@ -377,6 +392,7 @@ Public Class frmMonitor
.Width = 25
.Caption = " "
.OptionsColumn.AllowSize = False
+ .OptionsColumn.AllowSort = False
.ImageOptions.Image = SvgImageCollection1.GetImage(NodeImage.Success)
End With
@@ -387,6 +403,7 @@ Public Class frmMonitor
.Width = 25
.Caption = " "
.OptionsColumn.AllowSize = False
+ .OptionsColumn.AllowSort = False
.ImageOptions.Image = SvgImageCollection1.GetImage(NodeImage.SQL)
End With
End Sub
@@ -415,6 +432,9 @@ Public Class frmMonitor
SplitContainerSQL.Collapsed = True
SplitContainerFileHTML.Collapsed = True
+ btnExportMain.Enabled = False
+ btnExportDetails.Enabled = False
+
lbResultCount.Caption = String.Format(lbResultCount.Tag, 0)
LoadSearch()
@@ -439,12 +459,9 @@ Public Class frmMonitor
AdornerUIManager2.Hide()
AdornerUIManager2.Elements.Clear()
- Root.Clear(disposeItemAndControls:=True)
+ Root.Clear(disposeItemAndControls:=False)
LayoutControl1.Clear(True, True)
- 'LayoutControl1.Items.Clear()
- ' LayoutControl1.Controls.Clear()
-
TreeListResults.DataSource = Nothing
GridControlResults.DataSource = Nothing
@@ -456,107 +473,19 @@ Public Class frmMonitor
End If
- For Each oParam As SearchParameter In oSearch.Parameters
- Dim oControl As Control
+ ParamLoader.LoadParameters(oSearch)
- Select Case oParam.DataType
- Case DataTypeEnum.Boolean
- Dim oCheckbox = New CheckEdit With {
- .Text = oParam.Title
- }
-
- oControl = oCheckbox
-
-
- Case DataTypeEnum.Date
- oControl = New DateEdit()
-
- Case DataTypeEnum.String
- Select Case oParam.ItemType
- Case ItemTypeEnum.List
- Dim oCombobox = New ComboBoxEdit() With {
- .Name = oParam.PatternTitle,
- .Tag = oParam.PatternTitle
- }
- Dim oClearButton = GetClearButtonForControl(oCombobox)
- Dim oItems = oParam.ItemString.Split(";"c).ToList()
- oCombobox.Properties.Items.AddRange(oItems)
- oCombobox.Properties.NullText = LIST_CONTROL_NULL_TEXT
- oCombobox.Properties.Buttons.Add(oClearButton)
- oControl = oCombobox
-
- Case ItemTypeEnum.SQL
- Dim oGridCombobox = New LookUpEdit() With {
- .Name = oParam.PatternTitle,
- .Tag = oParam.PatternTitle
- }
- Dim oClearButton = GetClearButtonForControl(oGridCombobox)
- Dim oSQL = oParam.ItemString
- Dim oTable = Database.GetDatatable(oSQL)
- oGridCombobox.Properties.DataSource = oTable
- oGridCombobox.Properties.DisplayMember = oTable.Columns.Item(0).ColumnName
- oGridCombobox.Properties.ValueMember = oTable.Columns.Item(0).ColumnName
- oGridCombobox.Properties.NullText = LIST_CONTROL_NULL_TEXT
- oGridCombobox.Properties.Buttons.Add(oClearButton)
- oControl = oGridCombobox
-
- Case Else
- oControl = New TextEdit()
- End Select
-
- Case Else
- oControl = New TextEdit()
-
- End Select
-
- oControl.Name = oParam.PatternTitle
- oControl.Tag = oParam.PatternTitle
-
- Dim oItem As LayoutControlItem = LayoutControl1.AddItem()
- oItem.Text = oParam.Title
- oItem.Control = oControl
- oItem.TextLocation = Locations.Top
- oItem.TextToControlDistance = 3
- oItem.Padding = New DevExpress.XtraLayout.Utils.Padding(0, 0, 10, 0)
-
-
- Next
Catch ex As Exception
-
+ Logger.Error(ex)
End Try
End Sub
- Private Function GetClearButtonForControl(pControl As Control) As EditorButton
- Dim oClearButton As New EditorButton() With {
- .Kind = ButtonPredefines.Clear,
- .Tag = pControl.Name
- }
- AddHandler oClearButton.Click, AddressOf ClearButton_Click
- Return oClearButton
- End Function
-
- Private Sub ClearButton_Click(sender As Object, e As EventArgs)
- Dim oButton As EditorButton = sender
- Dim oControlName As String = oButton.Tag.ToString
-
- Dim oControl = LayoutControl1.Controls.Find(oControlName, True).SingleOrDefault()
-
- Select Case oControl.GetType
- Case GetType(LookUpEdit)
- DirectCast(oControl, LookUpEdit).EditValue = Nothing
-
- Case GetType(ComboBoxEdit)
- DirectCast(oControl, ComboBoxEdit).EditValue = Nothing
- End Select
-
- End Sub
-
Private Function GetParameterItems(pParam As SearchParameter) As Object
Select Case pParam.ItemType
- Case ItemTypeEnum.List
+ Case Constants.ItemTypeEnum.List
Return pParam.ItemString.Split(";"c).ToList()
- Case ItemTypeEnum.SQL
+ Case Constants.ItemTypeEnum.SQL
Dim oSQL = pParam.ItemString
Dim oTable = Database.GetDatatable(oSQL)
Return oTable
@@ -596,6 +525,8 @@ Public Class frmMonitor
SplitContainerSQL.Collapsed = True
SplitContainerFileHTML.Collapsed = True
+
+
For Each oSQLCommand As KeyValuePair(Of String, String) In oSQLCommands
Try
Dim oExtracted = ExtractTitle(oSQLCommand.Value)
@@ -611,6 +542,10 @@ Public Class frmMonitor
Dim oGridIndex = Integer.Parse(oSQLCommand.Key.Last()) - 1
Dim oGridControl As GridControl = SQLResultGrids.Item(oGridIndex)
+ If oGridIndex = 0 Then
+ ActiveSQLResultGrid = oGridControl
+ End If
+
FillResultGrid(oGridControl, oTable, oTitle)
Catch ex As Exception
Logger.Error(ex)
@@ -618,6 +553,8 @@ Public Class frmMonitor
End Try
Next
+
+
For Each oFile As KeyValuePair(Of String, String) In oFilePaths
Try
Dim oExtracted = ExtractTitle(oFile.Value)
@@ -779,44 +716,6 @@ Public Class frmMonitor
e.Handled = False
End Sub
- Private Sub TreeListResults_GetStateImage(sender As Object, e As DevExpress.XtraTreeList.GetStateImageEventArgs)
- 'Dim oValues As Dictionary(Of String, String) = GetValuesFromNode(e.Node, DataColumns)
- 'Dim oSQLCommands = oValues.
- ' Where(Function(v) v.Key.StartsWith("SELECT")).
- ' Where(Function(v) v.Value IsNot Nothing).
- ' Count()
-
- 'Dim oFilePaths = oValues.
- ' Where(Function(v) v.Key.StartsWith("DOCVIEW")).
- ' Where(Function(v) v.Value IsNot Nothing).
- ' Count()
-
- 'Dim oHtmlDocuments = oValues.
- ' Where(Function(v) v.Key.StartsWith("HTML")).
- ' Where(Function(v) v.Value IsNot Nothing).
- ' Count()
-
- 'Dim oIconColumn = TreeListResults.Columns.Item("ICON")
- 'Dim oIcon = NotNull(e.Node.GetValue(oIconColumn), Nothing)
- 'Dim oStateColumn = TreeListResults.Columns.Item("STATE")
- 'Dim oState = NotNull(e.Node.GetValue(oStateColumn), Nothing)
-
- 'If oSQLCommands > 0 Then
- ' e.NodeImageIndex = NodeImage.SQL
- 'ElseIf oFilePaths > 0 Then
- ' e.NodeImageIndex = NodeImage.File
- 'ElseIf oHtmlDocuments > 0 Then
- ' e.NodeImageIndex = NodeImage.Mail
- 'Else
- ' If oState IsNot Nothing AndAlso StateIcons.ContainsKey(oState) Then
- ' Dim oIconIndex = StateIcons.Item(oState)
- ' e.NodeImageIndex = oIconIndex
- ' Else
- ' e.NodeImageIndex = NodeImage.Default
- ' End If
- 'End If
- End Sub
-
Private Sub BarButtonItem1_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonItem1.ItemClick
Dim oSQLConfig As New frmSQLConfig(LogConfig) With {
.ConnectionString = ConfigManager.Config.ConnectionString
@@ -832,21 +731,34 @@ Public Class frmMonitor
End If
End Sub
- Private Sub BarButtonItem2_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles btnExportGrid.ItemClick
- If ActiveSQLResultGrid IsNot Nothing Then
- XtraSaveFileDialog1.Filter = "Excel Files (*.xlsx)|*.xlsx"
+ Private Sub BarButtonItem2_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles btnExportDetails.ItemClick
+ If ActiveSQLResultGrid Is Nothing Then
+ Exit Sub
+ End If
- If XtraSaveFileDialog1.ShowDialog() = DialogResult.OK Then
- ActiveSQLResultGrid.ExportToXlsx(XtraSaveFileDialog1.FileName)
- End If
+ XtraSaveFileDialog1.Filter = "Excel Files (*.xlsx)|*.xlsx"
+ XtraSaveFileDialog1.FileName = $"{ActiveSearch.Title}_Detail.xlsx"
+
+ If XtraSaveFileDialog1.ShowDialog() = DialogResult.OK Then
+ ActiveSQLResultGrid.ExportToXlsx(XtraSaveFileDialog1.FileName)
End If
End Sub
- Private Sub BarButtonItem3_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonItem3.ItemClick
+ Private Sub BarButtonItem3_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles btnExportMain.ItemClick
+ If ActiveSearch Is Nothing Then
+ Exit Sub
+ End If
+
XtraSaveFileDialog1.Filter = "Excel Files (*.xlsx)|*.xlsx"
+ XtraSaveFileDialog1.FileName = $"{ActiveSearch.Title}.xlsx"
If XtraSaveFileDialog1.ShowDialog() = DialogResult.OK Then
- TreeListResults.ExportToXlsx(XtraSaveFileDialog1.FileName)
+ If ActiveSearch.ReturnType = ReturnTypeEnum.TreeView Then
+ TreeListResults.ExportToXlsx(XtraSaveFileDialog1.FileName)
+ Else
+ GridControlResults.ExportToXlsx(XtraSaveFileDialog1.FileName)
+ End If
+
End If
End Sub
@@ -914,6 +826,7 @@ Public Class frmMonitor
End If
HideAllTabs()
+ ActiveSQLResultGrid = Nothing
Try
Dim oRow As DataRow = GridViewResults.GetDataRow(GridViewResults.FocusedRowHandle)
@@ -942,9 +855,15 @@ Public Class frmMonitor
Continue For
End If
- Dim oGridControl As GridControl = SQLResultGrids.Item(oGridResultIndex)
Dim oTitle = oColumn.FieldName.Replace("[SQL]", "").Trim()
+ Dim oGridControl As GridControl = SQLResultGrids.Item(oGridResultIndex)
+
+ If oGridResultIndex = 0 Then
+ ActiveSQLResultGrid = oGridControl
+ End If
+
oGridResultIndex += 1
+
FillResultGrid(oGridControl, oTable, oTitle)
SplitContainerSQL.Collapsed = False
@@ -971,8 +890,14 @@ Public Class frmMonitor
Next
- Catch ex As Exception
+ If ActiveSQLResultGrid Is Nothing Then
+ btnExportDetails.Enabled = False
+ Else
+ btnExportDetails.Enabled = True
+ End If
+ Catch ex As Exception
+ Logger.Error(ex)
End Try
End Sub