DateColumn, Xlsx Export, Column Headers, Default Values

This commit is contained in:
Jonathan Jenne 2022-07-13 16:31:56 +02:00
parent 35bb433f78
commit 4f0e62277f
13 changed files with 433 additions and 322 deletions

View File

@ -1,9 +1,29 @@
Public Class Constants Namespace Constants
Public Const STATE_SUCCESS As String = "SUCCESS" 'Public Const STATE_SUCCESS As String = "SUCCESS"
Public Const STATE_FAILURE As String = "FAILURE" 'Public Const STATE_FAILURE As String = "FAILURE"
Public Const STATE_WARNING As String = "WARNING" 'Public Const STATE_WARNING As String = "WARNING"
Public Const STATE_WAITING As String = "WAITING" 'Public Const STATE_WAITING As String = "WAITING"
Public Const STATE_HIGHLIGHT As String = "HIGHLIGHT" 'Public Const STATE_HIGHLIGHT As String = "HIGHLIGHT"
Public Const STATE_DEFAULT As String = "DEFAULT" 'Public Const STATE_DEFAULT As String = "DEFAULT"
Public Const STATE_USER As String = "USER" 'Public Const STATE_USER As String = "USER"
End Class
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

View File

@ -138,6 +138,7 @@
<ItemGroup> <ItemGroup>
<Compile Include="ApplicationEvents.vb" /> <Compile Include="ApplicationEvents.vb" />
<Compile Include="Config.vb" /> <Compile Include="Config.vb" />
<Compile Include="Constants.vb" />
<Compile Include="frmMonitor.Designer.vb"> <Compile Include="frmMonitor.Designer.vb">
<DependentUpon>frmMonitor.vb</DependentUpon> <DependentUpon>frmMonitor.vb</DependentUpon>
</Compile> </Compile>
@ -150,7 +151,10 @@
<DesignTime>True</DesignTime> <DesignTime>True</DesignTime>
</Compile> </Compile>
<Compile Include="My Project\AssemblyInfo.vb" /> <Compile Include="My Project\AssemblyInfo.vb" />
<Compile Include="ParameterLoader.vb" />
<Compile Include="Search.vb" />
<Compile Include="SearchLoader.vb" /> <Compile Include="SearchLoader.vb" />
<Compile Include="SearchParameter.vb" />
<EmbeddedResource Include="frmMonitor.resx"> <EmbeddedResource Include="frmMonitor.resx">
<DependentUpon>frmMonitor.vb</DependentUpon> <DependentUpon>frmMonitor.vb</DependentUpon>
</EmbeddedResource> </EmbeddedResource>
@ -207,6 +211,8 @@
<Content Include="MailLicense.xml"> <Content Include="MailLicense.xml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content> </Content>
<None Include="Resources\exporttoxlsx1.svg" />
<None Include="Resources\exporttoxlsx.svg" />
<None Include="Resources\deletetable.svg" /> <None Include="Resources\deletetable.svg" />
<None Include="Resources\actions_reload.svg" /> <None Include="Resources\actions_reload.svg" />
</ItemGroup> </ItemGroup>

View File

@ -120,6 +120,26 @@ Namespace My.Resources
End Get End Get
End Property End Property
'''<summary>
''' Sucht eine lokalisierte Ressource vom Typ DevExpress.Utils.Svg.SvgImage.
'''</summary>
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
'''<summary>
''' Sucht eine lokalisierte Ressource vom Typ DevExpress.Utils.Svg.SvgImage.
'''</summary>
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
'''<summary> '''<summary>
''' Sucht eine lokalisierte Ressource vom Typ DevExpress.Utils.Svg.SvgImage. ''' Sucht eine lokalisierte Ressource vom Typ DevExpress.Utils.Svg.SvgImage.
'''</summary> '''</summary>

View File

@ -121,9 +121,15 @@
<data name="actions_reload" type="System.Resources.ResXFileRef, System.Windows.Forms"> <data name="actions_reload" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\actions_reload.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value> <value>..\Resources\actions_reload.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data> </data>
<data name="exporttoxlsx" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\exporttoxlsx.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data>
<data name="export" type="System.Resources.ResXFileRef, System.Windows.Forms"> <data name="export" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\export.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value> <value>..\Resources\export.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data> </data>
<data name="deletetable" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\deletetable.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data>
<data name="charttype_line" type="System.Resources.ResXFileRef, System.Windows.Forms"> <data name="charttype_line" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\charttype_line.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value> <value>..\Resources\charttype_line.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data> </data>
@ -139,7 +145,7 @@
<data name="managedatasource" type="System.Resources.ResXFileRef, System.Windows.Forms"> <data name="managedatasource" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\managedatasource.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value> <value>..\Resources\managedatasource.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data> </data>
<data name="deletetable" type="System.Resources.ResXFileRef, System.Windows.Forms"> <data name="exporttoxlsx1" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\deletetable.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value> <value>..\Resources\exporttoxlsx1.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data> </data>
</root> </root>

View File

@ -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

View File

@ -0,0 +1,15 @@
<?xml version='1.0' encoding='UTF-8'?>
<svg x="0px" y="0px" viewBox="0 0 32 32" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" id="Layer_1" style="enable-background:new 0 0 32 32">
<style type="text/css">
.Blue{fill:#1177D7;}
.Green{fill:#039C23;}
.Black{fill:#727272;}
.st0{opacity:0.3;}
</style>
<path d="M8,4h18v6h2V3c0-0.5-0.5-1-1-1H7C6.5,2,6,2.5,6,3v7h2V4z" class="Black" />
<path d="M26,26H8v-8H6v9c0,0.5,0.5,1,1,1h20c0.5,0,1-0.5,1-1v-9h-2V26z" class="Black" />
<path d="M31,8H3C2.4,8,2,8.4,2,9v10c0,0.6,0.4,1,1,1h28c0.6,0,1-0.4,1-1V9C32,8.4,31.6,8,31,8z M9.1,18l-1.3-2.5 c-0.1-0.1-0.1-0.3-0.2-0.5h0c0,0.1-0.1,0.3-0.2,0.5L6.1,18H4l2.5-3.9l-2.2-3.9h2.1l1.1,2.3c0.1,0.2,0.2,0.4,0.2,0.7h0 c0-0.2,0.1-0.4,0.2-0.7l1.2-2.3h1.9l-2.3,3.8l2.4,3.9H9.1z M16.7,18h-4.6v-7.7h1.7v6.3h2.9V18z M22.4,16.9c-0.2,0.3-0.4,0.5-0.7,0.7 s-0.6,0.3-1,0.4c-0.4,0.1-0.8,0.1-1.2,0.1c-0.4,0-0.8,0-1.2-0.1c-0.4-0.1-0.7-0.2-1-0.3V16c0.3,0.3,0.6,0.5,1,0.6s0.7,0.2,1.1,0.2 c0.2,0,0.4,0,0.6-0.1s0.3-0.1,0.4-0.2c0.1-0.1,0.2-0.2,0.2-0.2c0.1-0.1,0.1-0.2,0.1-0.3c0-0.2,0-0.3-0.1-0.4 c-0.1-0.1-0.2-0.2-0.4-0.3S20,15.1,19.8,15s-0.4-0.2-0.7-0.3c-0.6-0.3-1.1-0.6-1.3-0.9c-0.3-0.4-0.4-0.8-0.4-1.3 c0-0.4,0.1-0.7,0.2-1c0.2-0.3,0.4-0.5,0.7-0.7c0.3-0.2,0.6-0.3,1-0.4s0.8-0.1,1.2-0.1c0.4,0,0.8,0,1.1,0.1c0.3,0,0.6,0.1,0.9,0.2 v1.6c-0.1-0.1-0.3-0.2-0.4-0.2s-0.3-0.1-0.5-0.2c-0.2,0-0.3-0.1-0.5-0.1s-0.3,0-0.5,0c-0.2,0-0.4,0-0.5,0.1c-0.2,0-0.3,0.1-0.4,0.2 c-0.1,0.1-0.2,0.1-0.3,0.2c-0.1,0.1-0.1,0.2-0.1,0.3c0,0.1,0,0.2,0.1,0.3c0.1,0.1,0.2,0.2,0.3,0.3c0.1,0.1,0.3,0.2,0.5,0.3 s0.4,0.2,0.6,0.3c0.3,0.1,0.6,0.3,0.8,0.4c0.2,0.1,0.5,0.3,0.6,0.5c0.2,0.2,0.3,0.4,0.4,0.6s0.1,0.5,0.1,0.8 C22.6,16.3,22.5,16.6,22.4,16.9z M28.1,18l-1.3-2.5c-0.1-0.1-0.1-0.3-0.2-0.5h0c0,0.1-0.1,0.3-0.2,0.5L25.1,18H23l2.5-3.9l-2.2-3.9 h2.1l1.1,2.3c0.1,0.2,0.2,0.4,0.2,0.7h0c0-0.2,0.1-0.4,0.2-0.7l1.2-2.3h1.9l-2.3,3.8l2.4,3.9H28.1z" class="Green" />
<g class="st0">
<path d="M31,8H3C2.4,8,2,8.4,2,9v10c0,0.6,0.4,1,1,1h28c0.6,0,1-0.4,1-1V9C32,8.4,31.6,8,31,8z M9.1,18l-1.3-2.5 c-0.1-0.1-0.1-0.3-0.2-0.5h0c0,0.1-0.1,0.3-0.2,0.5L6.1,18H4l2.5-3.9l-2.2-3.9h2.1l1.1,2.3c0.1,0.2,0.2,0.4,0.2,0.7h0 c0-0.2,0.1-0.4,0.2-0.7l1.2-2.3h1.9l-2.3,3.8l2.4,3.9H9.1z M16.7,18h-4.6v-7.7h1.7v6.3h2.9V18z M22.4,16.9 c-0.2,0.3-0.4,0.5-0.7,0.7s-0.6,0.3-1,0.4c-0.4,0.1-0.8,0.1-1.2,0.1c-0.4,0-0.8,0-1.2-0.1c-0.4-0.1-0.7-0.2-1-0.3V16 c0.3,0.3,0.6,0.5,1,0.6s0.7,0.2,1.1,0.2c0.2,0,0.4,0,0.6-0.1s0.3-0.1,0.4-0.2c0.1-0.1,0.2-0.2,0.2-0.2c0.1-0.1,0.1-0.2,0.1-0.3 c0-0.2,0-0.3-0.1-0.4c-0.1-0.1-0.2-0.2-0.4-0.3S20,15.1,19.8,15s-0.4-0.2-0.7-0.3c-0.6-0.3-1.1-0.6-1.3-0.9 c-0.3-0.4-0.4-0.8-0.4-1.3c0-0.4,0.1-0.7,0.2-1c0.2-0.3,0.4-0.5,0.7-0.7c0.3-0.2,0.6-0.3,1-0.4s0.8-0.1,1.2-0.1 c0.4,0,0.8,0,1.1,0.1c0.3,0,0.6,0.1,0.9,0.2v1.6c-0.1-0.1-0.3-0.2-0.4-0.2s-0.3-0.1-0.5-0.2c-0.2,0-0.3-0.1-0.5-0.1s-0.3,0-0.5,0 c-0.2,0-0.4,0-0.5,0.1c-0.2,0-0.3,0.1-0.4,0.2c-0.1,0.1-0.2,0.1-0.3,0.2c-0.1,0.1-0.1,0.2-0.1,0.3c0,0.1,0,0.2,0.1,0.3 c0.1,0.1,0.2,0.2,0.3,0.3c0.1,0.1,0.3,0.2,0.5,0.3s0.4,0.2,0.6,0.3c0.3,0.1,0.6,0.3,0.8,0.4c0.2,0.1,0.5,0.3,0.6,0.5 c0.2,0.2,0.3,0.4,0.4,0.6s0.1,0.5,0.1,0.8C22.6,16.3,22.5,16.6,22.4,16.9z M28.1,18l-1.3-2.5c-0.1-0.1-0.1-0.3-0.2-0.5h0 c0,0.1-0.1,0.3-0.2,0.5L25.1,18H23l2.5-3.9l-2.2-3.9h2.1l1.1,2.3c0.1,0.2,0.2,0.4,0.2,0.7h0c0-0.2,0.1-0.4,0.2-0.7l1.2-2.3h1.9 l-2.3,3.8l2.4,3.9H28.1z" class="Blue" />
</g>
</svg>

View File

@ -0,0 +1,15 @@
<?xml version='1.0' encoding='UTF-8'?>
<svg x="0px" y="0px" viewBox="0 0 32 32" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" id="Layer_1" style="enable-background:new 0 0 32 32">
<style type="text/css">
.Blue{fill:#1177D7;}
.Green{fill:#039C23;}
.Black{fill:#727272;}
.st0{opacity:0.3;}
</style>
<path d="M8,4h18v6h2V3c0-0.5-0.5-1-1-1H7C6.5,2,6,2.5,6,3v7h2V4z" class="Black" />
<path d="M26,26H8v-8H6v9c0,0.5,0.5,1,1,1h20c0.5,0,1-0.5,1-1v-9h-2V26z" class="Black" />
<path d="M31,8H3C2.4,8,2,8.4,2,9v10c0,0.6,0.4,1,1,1h28c0.6,0,1-0.4,1-1V9C32,8.4,31.6,8,31,8z M9.1,18l-1.3-2.5 c-0.1-0.1-0.1-0.3-0.2-0.5h0c0,0.1-0.1,0.3-0.2,0.5L6.1,18H4l2.5-3.9l-2.2-3.9h2.1l1.1,2.3c0.1,0.2,0.2,0.4,0.2,0.7h0 c0-0.2,0.1-0.4,0.2-0.7l1.2-2.3h1.9l-2.3,3.8l2.4,3.9H9.1z M16.7,18h-4.6v-7.7h1.7v6.3h2.9V18z M22.4,16.9c-0.2,0.3-0.4,0.5-0.7,0.7 s-0.6,0.3-1,0.4c-0.4,0.1-0.8,0.1-1.2,0.1c-0.4,0-0.8,0-1.2-0.1c-0.4-0.1-0.7-0.2-1-0.3V16c0.3,0.3,0.6,0.5,1,0.6s0.7,0.2,1.1,0.2 c0.2,0,0.4,0,0.6-0.1s0.3-0.1,0.4-0.2c0.1-0.1,0.2-0.2,0.2-0.2c0.1-0.1,0.1-0.2,0.1-0.3c0-0.2,0-0.3-0.1-0.4 c-0.1-0.1-0.2-0.2-0.4-0.3S20,15.1,19.8,15s-0.4-0.2-0.7-0.3c-0.6-0.3-1.1-0.6-1.3-0.9c-0.3-0.4-0.4-0.8-0.4-1.3 c0-0.4,0.1-0.7,0.2-1c0.2-0.3,0.4-0.5,0.7-0.7c0.3-0.2,0.6-0.3,1-0.4s0.8-0.1,1.2-0.1c0.4,0,0.8,0,1.1,0.1c0.3,0,0.6,0.1,0.9,0.2 v1.6c-0.1-0.1-0.3-0.2-0.4-0.2s-0.3-0.1-0.5-0.2c-0.2,0-0.3-0.1-0.5-0.1s-0.3,0-0.5,0c-0.2,0-0.4,0-0.5,0.1c-0.2,0-0.3,0.1-0.4,0.2 c-0.1,0.1-0.2,0.1-0.3,0.2c-0.1,0.1-0.1,0.2-0.1,0.3c0,0.1,0,0.2,0.1,0.3c0.1,0.1,0.2,0.2,0.3,0.3c0.1,0.1,0.3,0.2,0.5,0.3 s0.4,0.2,0.6,0.3c0.3,0.1,0.6,0.3,0.8,0.4c0.2,0.1,0.5,0.3,0.6,0.5c0.2,0.2,0.3,0.4,0.4,0.6s0.1,0.5,0.1,0.8 C22.6,16.3,22.5,16.6,22.4,16.9z M28.1,18l-1.3-2.5c-0.1-0.1-0.1-0.3-0.2-0.5h0c0,0.1-0.1,0.3-0.2,0.5L25.1,18H23l2.5-3.9l-2.2-3.9 h2.1l1.1,2.3c0.1,0.2,0.2,0.4,0.2,0.7h0c0-0.2,0.1-0.4,0.2-0.7l1.2-2.3h1.9l-2.3,3.8l2.4,3.9H28.1z" class="Green" />
<g class="st0">
<path d="M31,8H3C2.4,8,2,8.4,2,9v10c0,0.6,0.4,1,1,1h28c0.6,0,1-0.4,1-1V9C32,8.4,31.6,8,31,8z M9.1,18l-1.3-2.5 c-0.1-0.1-0.1-0.3-0.2-0.5h0c0,0.1-0.1,0.3-0.2,0.5L6.1,18H4l2.5-3.9l-2.2-3.9h2.1l1.1,2.3c0.1,0.2,0.2,0.4,0.2,0.7h0 c0-0.2,0.1-0.4,0.2-0.7l1.2-2.3h1.9l-2.3,3.8l2.4,3.9H9.1z M16.7,18h-4.6v-7.7h1.7v6.3h2.9V18z M22.4,16.9 c-0.2,0.3-0.4,0.5-0.7,0.7s-0.6,0.3-1,0.4c-0.4,0.1-0.8,0.1-1.2,0.1c-0.4,0-0.8,0-1.2-0.1c-0.4-0.1-0.7-0.2-1-0.3V16 c0.3,0.3,0.6,0.5,1,0.6s0.7,0.2,1.1,0.2c0.2,0,0.4,0,0.6-0.1s0.3-0.1,0.4-0.2c0.1-0.1,0.2-0.2,0.2-0.2c0.1-0.1,0.1-0.2,0.1-0.3 c0-0.2,0-0.3-0.1-0.4c-0.1-0.1-0.2-0.2-0.4-0.3S20,15.1,19.8,15s-0.4-0.2-0.7-0.3c-0.6-0.3-1.1-0.6-1.3-0.9 c-0.3-0.4-0.4-0.8-0.4-1.3c0-0.4,0.1-0.7,0.2-1c0.2-0.3,0.4-0.5,0.7-0.7c0.3-0.2,0.6-0.3,1-0.4s0.8-0.1,1.2-0.1 c0.4,0,0.8,0,1.1,0.1c0.3,0,0.6,0.1,0.9,0.2v1.6c-0.1-0.1-0.3-0.2-0.4-0.2s-0.3-0.1-0.5-0.2c-0.2,0-0.3-0.1-0.5-0.1s-0.3,0-0.5,0 c-0.2,0-0.4,0-0.5,0.1c-0.2,0-0.3,0.1-0.4,0.2c-0.1,0.1-0.2,0.1-0.3,0.2c-0.1,0.1-0.1,0.2-0.1,0.3c0,0.1,0,0.2,0.1,0.3 c0.1,0.1,0.2,0.2,0.3,0.3c0.1,0.1,0.3,0.2,0.5,0.3s0.4,0.2,0.6,0.3c0.3,0.1,0.6,0.3,0.8,0.4c0.2,0.1,0.5,0.3,0.6,0.5 c0.2,0.2,0.3,0.4,0.4,0.6s0.1,0.5,0.1,0.8C22.6,16.3,22.5,16.6,22.4,16.9z M28.1,18l-1.3-2.5c-0.1-0.1-0.1-0.3-0.2-0.5h0 c0,0.1-0.1,0.3-0.2,0.5L25.1,18H23l2.5-3.9l-2.2-3.9h2.1l1.1,2.3c0.1,0.2,0.2,0.4,0.2,0.7h0c0-0.2,0.1-0.4,0.2-0.7l1.2-2.3h1.9 l-2.3,3.8l2.4,3.9H28.1z" class="Blue" />
</g>
</svg>

13
GUIs.Monitor/Search.vb Normal file
View File

@ -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

View File

@ -2,36 +2,17 @@
Imports DigitalData.Modules.Database Imports DigitalData.Modules.Database
Imports DigitalData.Modules.Logging Imports DigitalData.Modules.Logging
Imports DigitalData.Modules.Language Imports DigitalData.Modules.Language
Imports DigitalData.GUIs.Monitor.Constants
Public Class SearchLoader Partial Public Class SearchLoader
Inherits BaseClass Inherits BaseClass
Private Config As Config Private ReadOnly Config As Config
Private Database As MSSQLServer Private ReadOnly Database As MSSQLServer
Public Searches As New List(Of Search) Public Searches As New List(Of Search)
Public Parameters As New List(Of SearchParameter) 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) Public Sub New(pLogConfig As LogConfig, pConfig As Config, pDatabase As MSSQLServer)
MyBase.New(pLogConfig) MyBase.New(pLogConfig)
Config = pConfig Config = pConfig
@ -119,47 +100,12 @@ Public Class SearchLoader
.ItemType = GetItemType(oRow.ItemEx("ITEM_TYPE", String.Empty)), .ItemType = GetItemType(oRow.ItemEx("ITEM_TYPE", String.Empty)),
.Required = oRow.ItemEx("REQUIRED", True), .Required = oRow.ItemEx("REQUIRED", True),
.PatternTitle = oRow.ItemEx("PATTERN", String.Empty), .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 Next
Parameters = oParameters Parameters = oParameters
End Sub 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 End Class

View File

@ -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

View File

@ -29,8 +29,8 @@ Partial Class frmMonitor
Me.ApplicationMenu1 = New DevExpress.XtraBars.Ribbon.ApplicationMenu(Me.components) Me.ApplicationMenu1 = New DevExpress.XtraBars.Ribbon.ApplicationMenu(Me.components)
Me.BarButtonItem1 = New DevExpress.XtraBars.BarButtonItem() Me.BarButtonItem1 = New DevExpress.XtraBars.BarButtonItem()
Me.buttonSearch = New DevExpress.XtraBars.BarButtonItem() Me.buttonSearch = New DevExpress.XtraBars.BarButtonItem()
Me.btnExportGrid = New DevExpress.XtraBars.BarButtonItem() Me.btnExportDetails = New DevExpress.XtraBars.BarButtonItem()
Me.BarButtonItem3 = New DevExpress.XtraBars.BarButtonItem() Me.btnExportMain = New DevExpress.XtraBars.BarButtonItem()
Me.lbResultCount = New DevExpress.XtraBars.BarStaticItem() Me.lbResultCount = New DevExpress.XtraBars.BarStaticItem()
Me.btnReloadSearches = New DevExpress.XtraBars.BarButtonItem() Me.btnReloadSearches = New DevExpress.XtraBars.BarButtonItem()
Me.btnResetLayout = New DevExpress.XtraBars.BarButtonItem() Me.btnResetLayout = New DevExpress.XtraBars.BarButtonItem()
@ -60,6 +60,7 @@ Partial Class frmMonitor
Me.LayoutControlGroup1 = New DevExpress.XtraLayout.LayoutControlGroup() Me.LayoutControlGroup1 = New DevExpress.XtraLayout.LayoutControlGroup()
Me.LayoutControlItem1 = New DevExpress.XtraLayout.LayoutControlItem() Me.LayoutControlItem1 = New DevExpress.XtraLayout.LayoutControlItem()
Me.lbParams = New DevExpress.XtraLayout.SimpleLabelItem() Me.lbParams = New DevExpress.XtraLayout.SimpleLabelItem()
Me.EmptySpaceItem1 = New DevExpress.XtraLayout.EmptySpaceItem()
Me.SplitContainerSQL = New DevExpress.XtraEditors.SplitContainerControl() Me.SplitContainerSQL = New DevExpress.XtraEditors.SplitContainerControl()
Me.XtraTabControlSQL = New DevExpress.XtraTab.XtraTabControl() Me.XtraTabControlSQL = New DevExpress.XtraTab.XtraTabControl()
Me.XtraTabPageSQL1 = New DevExpress.XtraTab.XtraTabPage() Me.XtraTabPageSQL1 = New DevExpress.XtraTab.XtraTabPage()
@ -104,6 +105,7 @@ Partial Class frmMonitor
CType(Me.LayoutControlGroup1, System.ComponentModel.ISupportInitialize).BeginInit() CType(Me.LayoutControlGroup1, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.LayoutControlItem1, System.ComponentModel.ISupportInitialize).BeginInit() CType(Me.LayoutControlItem1, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.lbParams, 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, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.SplitContainerSQL.Panel1, System.ComponentModel.ISupportInitialize).BeginInit() CType(Me.SplitContainerSQL.Panel1, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.SplitContainerSQL.Panel2, 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.ApplicationButtonDropDownControl = Me.ApplicationMenu1
Me.RibbonControl1.ExpandCollapseItem.Id = 0 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.Location = New System.Drawing.Point(0, 0)
Me.RibbonControl1.MaxItemId = 9 Me.RibbonControl1.MaxItemId = 9
Me.RibbonControl1.Name = "RibbonControl1" Me.RibbonControl1.Name = "RibbonControl1"
@ -168,21 +170,21 @@ Partial Class frmMonitor
Me.buttonSearch.Name = "buttonSearch" Me.buttonSearch.Name = "buttonSearch"
Me.buttonSearch.RibbonStyle = DevExpress.XtraBars.Ribbon.RibbonItemStyles.Large Me.buttonSearch.RibbonStyle = DevExpress.XtraBars.Ribbon.RibbonItemStyles.Large
' '
'btnExportGrid 'btnExportDetails
' '
Me.btnExportGrid.Caption = "Export Grid als XLSX" Me.btnExportDetails.Caption = "SQL Ansicht exportieren"
Me.btnExportGrid.Enabled = False Me.btnExportDetails.Enabled = False
Me.btnExportGrid.Id = 4 Me.btnExportDetails.Id = 4
Me.btnExportGrid.ImageOptions.SvgImage = Global.DigitalData.GUIs.Monitor.My.Resources.Resources.export Me.btnExportDetails.ImageOptions.SvgImage = Global.DigitalData.GUIs.Monitor.My.Resources.Resources.exporttoxlsx1
Me.btnExportGrid.Name = "btnExportGrid" Me.btnExportDetails.Name = "btnExportDetails"
' '
'BarButtonItem3 'btnExportMain
' '
Me.BarButtonItem3.Caption = "Export als XLSX" Me.btnExportMain.Caption = "Hauptansicht exportieren"
Me.BarButtonItem3.Id = 5 Me.btnExportMain.Enabled = False
Me.BarButtonItem3.ImageOptions.Image = CType(resources.GetObject("BarButtonItem3.ImageOptions.Image"), System.Drawing.Image) Me.btnExportMain.Id = 5
Me.BarButtonItem3.ImageOptions.LargeImage = CType(resources.GetObject("BarButtonItem3.ImageOptions.LargeImage"), System.Drawing.Image) Me.btnExportMain.ImageOptions.SvgImage = Global.DigitalData.GUIs.Monitor.My.Resources.Resources.exporttoxlsx
Me.BarButtonItem3.Name = "BarButtonItem3" Me.btnExportMain.Name = "btnExportMain"
' '
'lbResultCount 'lbResultCount
' '
@ -231,11 +233,10 @@ Partial Class frmMonitor
'RibbonPageGroup2 'RibbonPageGroup2
' '
Me.RibbonPageGroup2.Alignment = DevExpress.XtraBars.Ribbon.RibbonPageGroupAlignment.Far Me.RibbonPageGroup2.Alignment = DevExpress.XtraBars.Ribbon.RibbonPageGroupAlignment.Far
Me.RibbonPageGroup2.ItemLinks.Add(Me.BarButtonItem3) Me.RibbonPageGroup2.ItemLinks.Add(Me.btnExportMain)
Me.RibbonPageGroup2.ItemLinks.Add(Me.btnExportGrid) Me.RibbonPageGroup2.ItemLinks.Add(Me.btnExportDetails)
Me.RibbonPageGroup2.Name = "RibbonPageGroup2" Me.RibbonPageGroup2.Name = "RibbonPageGroup2"
Me.RibbonPageGroup2.Text = "Export" Me.RibbonPageGroup2.Text = "Export"
Me.RibbonPageGroup2.Visible = False
' '
'RibbonStatusBar1 'RibbonStatusBar1
' '
@ -280,7 +281,7 @@ Partial Class frmMonitor
' '
Me.XtraTabPageFile2.Controls.Add(Me.DocumentViewer2) Me.XtraTabPageFile2.Controls.Add(Me.DocumentViewer2)
Me.XtraTabPageFile2.Name = "XtraTabPageFile2" 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" Me.XtraTabPageFile2.Text = "File 2"
' '
'DocumentViewer2 'DocumentViewer2
@ -289,14 +290,14 @@ Partial Class frmMonitor
Me.DocumentViewer2.FileLoaded = False Me.DocumentViewer2.FileLoaded = False
Me.DocumentViewer2.Location = New System.Drawing.Point(0, 0) Me.DocumentViewer2.Location = New System.Drawing.Point(0, 0)
Me.DocumentViewer2.Name = "DocumentViewer2" 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 Me.DocumentViewer2.TabIndex = 1
' '
'XtraTabPageHtml1 'XtraTabPageHtml1
' '
Me.XtraTabPageHtml1.Controls.Add(Me.RichEditControl1) Me.XtraTabPageHtml1.Controls.Add(Me.RichEditControl1)
Me.XtraTabPageHtml1.Name = "XtraTabPageHtml1" 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" Me.XtraTabPageHtml1.Text = "HTML 1"
' '
'RichEditControl1 'RichEditControl1
@ -309,14 +310,14 @@ Partial Class frmMonitor
Me.RichEditControl1.Name = "RichEditControl1" Me.RichEditControl1.Name = "RichEditControl1"
Me.RichEditControl1.Options.HorizontalRuler.Visibility = DevExpress.XtraRichEdit.RichEditRulerVisibility.Hidden Me.RichEditControl1.Options.HorizontalRuler.Visibility = DevExpress.XtraRichEdit.RichEditRulerVisibility.Hidden
Me.RichEditControl1.Options.VerticalRuler.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 Me.RichEditControl1.TabIndex = 0
' '
'XtraTabPageHtml2 'XtraTabPageHtml2
' '
Me.XtraTabPageHtml2.Controls.Add(Me.RichEditControl2) Me.XtraTabPageHtml2.Controls.Add(Me.RichEditControl2)
Me.XtraTabPageHtml2.Name = "XtraTabPageHtml2" 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" Me.XtraTabPageHtml2.Text = "HTML 2"
' '
'RichEditControl2 'RichEditControl2
@ -327,7 +328,7 @@ Partial Class frmMonitor
Me.RichEditControl2.Location = New System.Drawing.Point(0, 0) Me.RichEditControl2.Location = New System.Drawing.Point(0, 0)
Me.RichEditControl2.MenuManager = Me.RibbonControl1 Me.RichEditControl2.MenuManager = Me.RibbonControl1
Me.RichEditControl2.Name = "RichEditControl2" 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 Me.RichEditControl2.TabIndex = 1
' '
'GridControl1 'GridControl1
@ -337,7 +338,7 @@ Partial Class frmMonitor
Me.GridControl1.MainView = Me.GridView1 Me.GridControl1.MainView = Me.GridView1
Me.GridControl1.MenuManager = Me.RibbonControl1 Me.GridControl1.MenuManager = Me.RibbonControl1
Me.GridControl1.Name = "GridControl1" 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.TabIndex = 0
Me.GridControl1.ViewCollection.AddRange(New DevExpress.XtraGrid.Views.Base.BaseView() {Me.GridView1}) 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.EnableIndentsWithoutBorders = DevExpress.Utils.DefaultBoolean.[True]
Me.LayoutControlGroup1.GroupBordersVisible = False 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.Name = "LayoutControlGroup1"
Me.LayoutControlGroup1.Padding = New DevExpress.XtraLayout.Utils.Padding(10, 10, 10, 0) Me.LayoutControlGroup1.Padding = New DevExpress.XtraLayout.Utils.Padding(10, 10, 10, 0)
Me.LayoutControlGroup1.Size = New System.Drawing.Size(235, 83) Me.LayoutControlGroup1.Size = New System.Drawing.Size(235, 83)
@ -448,14 +449,22 @@ Partial Class frmMonitor
'lbParams 'lbParams
' '
Me.lbParams.AllowHotTrack = False 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.Name = "lbParams"
Me.lbParams.Padding = New DevExpress.XtraLayout.Utils.Padding(0, 0, 0, 0) 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.Text = "Parameter:"
Me.lbParams.TextSize = New System.Drawing.Size(69, 13) Me.lbParams.TextSize = New System.Drawing.Size(69, 13)
Me.lbParams.Visibility = DevExpress.XtraLayout.Utils.LayoutVisibility.Never 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 'SplitContainerSQL
' '
Me.SplitContainerSQL.CollapsePanel = DevExpress.XtraEditors.SplitCollapsePanel.Panel2 Me.SplitContainerSQL.CollapsePanel = DevExpress.XtraEditors.SplitCollapsePanel.Panel2
@ -515,7 +524,7 @@ Partial Class frmMonitor
' '
Me.XtraTabPageSQL2.Controls.Add(Me.GridControl3) Me.XtraTabPageSQL2.Controls.Add(Me.GridControl3)
Me.XtraTabPageSQL2.Name = "XtraTabPageSQL2" 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" Me.XtraTabPageSQL2.Text = "SQL 2"
' '
'GridControl3 'GridControl3
@ -525,7 +534,7 @@ Partial Class frmMonitor
Me.GridControl3.MainView = Me.GridView3 Me.GridControl3.MainView = Me.GridView3
Me.GridControl3.MenuManager = Me.RibbonControl1 Me.GridControl3.MenuManager = Me.RibbonControl1
Me.GridControl3.Name = "GridControl3" 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.TabIndex = 1
Me.GridControl3.ViewCollection.AddRange(New DevExpress.XtraGrid.Views.Base.BaseView() {Me.GridView3}) 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.Controls.Add(Me.GridControl4)
Me.XtraTabPageSQL3.Name = "XtraTabPageSQL3" 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" Me.XtraTabPageSQL3.Text = "SQL 3"
' '
'GridControl4 'GridControl4
@ -548,7 +557,7 @@ Partial Class frmMonitor
Me.GridControl4.MainView = Me.GridView4 Me.GridControl4.MainView = Me.GridView4
Me.GridControl4.MenuManager = Me.RibbonControl1 Me.GridControl4.MenuManager = Me.RibbonControl1
Me.GridControl4.Name = "GridControl4" 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.TabIndex = 1
Me.GridControl4.ViewCollection.AddRange(New DevExpress.XtraGrid.Views.Base.BaseView() {Me.GridView4}) 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.Controls.Add(Me.GridControl1)
Me.XtraTabPageSQL4.Name = "XtraTabPageSQL4" 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" Me.XtraTabPageSQL4.Text = "SQL 4"
' '
'SplitContainerFileHTML 'SplitContainerFileHTML
@ -609,7 +618,7 @@ Partial Class frmMonitor
Me.XtraTabPage4.ImageOptions.SvgImage = Global.DigitalData.GUIs.Monitor.My.Resources.Resources.bo_dashboard 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.ImageOptions.SvgImageSize = New System.Drawing.Size(16, 16)
Me.XtraTabPage4.Name = "XtraTabPage4" 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" Me.XtraTabPage4.Text = "Dashboard"
' '
'XtraSaveFileDialog1 'XtraSaveFileDialog1
@ -664,6 +673,7 @@ Partial Class frmMonitor
CType(Me.LayoutControlGroup1, System.ComponentModel.ISupportInitialize).EndInit() CType(Me.LayoutControlGroup1, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.LayoutControlItem1, System.ComponentModel.ISupportInitialize).EndInit() CType(Me.LayoutControlItem1, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.lbParams, 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.Panel1, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.SplitContainerSQL.Panel2, System.ComponentModel.ISupportInitialize).EndInit() CType(Me.SplitContainerSQL.Panel2, System.ComponentModel.ISupportInitialize).EndInit()
Me.SplitContainerSQL.Panel2.ResumeLayout(False) Me.SplitContainerSQL.Panel2.ResumeLayout(False)
@ -733,10 +743,10 @@ Partial Class frmMonitor
Friend WithEvents SvgImageCollection1 As DevExpress.Utils.SvgImageCollection Friend WithEvents SvgImageCollection1 As DevExpress.Utils.SvgImageCollection
Friend WithEvents ApplicationMenu1 As DevExpress.XtraBars.Ribbon.ApplicationMenu Friend WithEvents ApplicationMenu1 As DevExpress.XtraBars.Ribbon.ApplicationMenu
Friend WithEvents BarButtonItem1 As DevExpress.XtraBars.BarButtonItem 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 RibbonPageGroup2 As DevExpress.XtraBars.Ribbon.RibbonPageGroup
Friend WithEvents XtraSaveFileDialog1 As DevExpress.XtraEditors.XtraSaveFileDialog 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 lbResultCount As DevExpress.XtraBars.BarStaticItem
Friend WithEvents AdornerUIManager2 As DevExpress.Utils.VisualEffects.AdornerUIManager Friend WithEvents AdornerUIManager2 As DevExpress.Utils.VisualEffects.AdornerUIManager
Friend WithEvents btnReloadSearches As DevExpress.XtraBars.BarButtonItem Friend WithEvents btnReloadSearches As DevExpress.XtraBars.BarButtonItem
@ -751,4 +761,5 @@ Partial Class frmMonitor
Friend WithEvents LayoutControl1 As DevExpress.XtraLayout.LayoutControl Friend WithEvents LayoutControl1 As DevExpress.XtraLayout.LayoutControl
Friend WithEvents Root As DevExpress.XtraLayout.LayoutControlGroup Friend WithEvents Root As DevExpress.XtraLayout.LayoutControlGroup
Friend WithEvents lbParams As DevExpress.XtraLayout.SimpleLabelItem Friend WithEvents lbParams As DevExpress.XtraLayout.SimpleLabelItem
Friend WithEvents EmptySpaceItem1 As DevExpress.XtraLayout.EmptySpaceItem
End Class End Class

View File

@ -121,51 +121,6 @@
<value>183, 17</value> <value>183, 17</value>
</metadata> </metadata>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> <assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="BarButtonItem3.ImageOptions.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m
dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAAUdEVYdFRpdGxlAFRyZWVWaWV3O1RyZWU7X0Ij1wAA
AY1JREFUOE9j+P//PwMQMJ6fZr/v/FS7/+cm2/4/O9Hm/5kJ1v9P9ljsB8oxgdTgwhCCgYH57ETr/78e
L/z/4/6c/99vT/3/7Vrf/33FmiBJVnRNyBhCMDCwnOwy///1au//z6cq/388Wvz/47HK/ztzVEGSbOia
kDGEANpytNHw/4djFf/f7s74/3pbIhAn/9+apgySZEfXhIwhBNAFu0q09+zIVvm/LV35/5ZUxf+bkxX+
r4mV3wuUYwNiRiBmQsIgPooBIAFWIOYorJ0BEuACYk4gZj831W4/vsCFOwWGC2pn/s+vns6QVz0NqIZw
4GIYkF0x5X9m2aT/GaUT/6cW9v0nFLgYBqQBNaUU9DIk53WDXEAwcDEMiM/p+B+X1c4Qm9EKMgBf4GL3
QlRq8/+I5EaGsKR6kAGgwAXFAihAuYGYB0qzAzH2QAyJr/0fHFvDEBhTBVRDOIljGOAfWfHfN6KMwSe8
FGQA6bHgFVJ83jO46L9HUOF/t4A80mMBGYNsITkWkDEQEIiF/wwAEzc5In1OcF0AAAAASUVORK5CYII=
</value>
</data>
<data name="BarButtonItem3.ImageOptions.LargeImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m
dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAAUdEVYdFRpdGxlAFRyZWVWaWV3O1RyZWU7X0Ij1wAA
BelJREFUWEet1glQ1FUcB/C1Q8vK0QSbEjDNctKMQ2C5PSYFvEUERRDFBA/EkpyJtLzI1Bx1UlEDtcMj
QxGVPECQKxUsCW/Lq2usGcBluXGab9/ff/+7LOvmsNqb+cz77/73vfd7b/h/+WvU1o7aX0gNLri8bTgu
bx9hINdprV1KFcFqPxw/bgos4tiO9JhMBMAmxvY4dTyzJgD/1P3aBrdNilf4yiyd6QmZyNoiD2JsUkCn
Uyv9cO/vfDT/cbC1340yW7n3Vy4KlnjJLHb0JLWztsiDGJtU37lgmTcab+5C442v0HRrj4XdaLq5m/el
34WGX3bQduR+4CGzvEDt6aELkOq75i30RN3Fdag9twR15StRf3Et6q9sQsPVLbQZ9Zc2oP7CGtSVLUdt
aRL7ZBxPdJNZXqRHLsA+e4Eb6n5agZrT81Fzir6fRwkGRXOhL4qHvnAOzYa+YDZqS5LwXbyzzNKdOtBD
FaA8AdTtaIILas8u4uSzDPJnUhz0J2NVM6DPm47qXBGDmuJ3cCjuDZnFkR69gMMz+3Pnidwxd1/8rmoe
d86TKEzgzuNRU8BT4O71+VLgLGTE9P1fTkD+CLtsGuFYuG1MD4i00Qapo8yMdDL5XIxwwvqhDsUca0/K
U0AP1SREnqLnSXbjRD3oZTHAd4KU2tNML7WX33SjZ0kKkHn+izzqxuv7CpUv5IZMIkcpxZh4DY6SAp42
I8n3DD1HsriQ78zJfWG8L+SzzCknbvW05Mv7eA+ZKgWYfyfFdihLCSw4vyUI57cGoZzkunyzpUCUpwwj
6QNRsv6tIo6VAmWOtkWn9+BoeA+Jll4Zw6ZEd+HHPq1iuS3yFmtlM6botrqgJa/BU6AdNEWjHRyljGFT
ojt/qRej+ySaf2M0mxxAk0quWz5n4N6dE8hJcpcCTNFtdUFL2kFR0A6Mkp5jlKZEd85CDzRc/wKNjOXG
GxLhYqfqa4PrBg3XUtFwZSuOJrpKAabotrqgJS4Oz4GRLMLAIyACbj6hOPaeG2rLPkHNmSTU/rCUKbqa
Ub2ekb2RMb4BdefX8j6TtfRD6IuZLSWLcMiQnKbotrqgJY+ASHgGTNYItSnRnZXgjJqzi1GdPwfVJ2fR
TIPcOOhyY6E7MYPehi5HxDDQEpERqySnKbisLmhJduzhHyE9xyhPgZKcmUxOffECTj4duuwYmgbd8amq
aOiOReHuURGJu0cmozpvDtKnvS4FmKLb6oKW3P0j4O43if0kjmkpYB9juDp/LncdT4ZT0OXxJHLZn4hF
NelyeArZPIFsQ5F7IvvYfgID/CaCNO6kDFKje92w7oUpwY5ICXbAxiBHcsCGQDPDWnwmhjpg5aCXWke3
tQUtDfBlAb7h7MM5RmkSIpJoXcmBJLKNEW30ipneKvmdPAGSiPIoty0H3HzC4OYbxr5VAXIKkmidqItK
/pcIKUyedSG7NZLvJb7l+NuehFKAq0+YxtU7TBnDpvwdnF7lV1D6qT9K+TJbQnJdYmk1rfIj6f1RmOxj
exS7eE+Ai1co+1BlDJsSxUfm97Mat4pac7dMDsYrT4FtUczF4czFpQi1KVGcldAXzXdy0HR7n5l0K75V
NP95DBkzXpMCbItiF+14kMaZ1KZEcUZcHyX1Gi6noPHn7aptaLxm0CD91TS+0KYZkrFsDfZG95YCbIvi
N7UhcPYMgbHv7zkW/dxGIn3qq9CfYhDl8X2xiFF7ZhEjORl151Ypas4u5/0kJSvuMpyq82Zj58ReUoBt
UWxObUoU747oxcnjUZUVjqrDEyjUIHM8KjNDUHlAjENlhhjDZJyGHSEvyyS2BZE5ZZCahF+G9mTkTufk
Y1G5fwyNRuW+UaqRqEwfjoq9IhgV3wSh6tBEvmc6ySS2RbE5ZZBagLy8VmVFcNeTOLkIR+VBnkZmGCoy
eRIHQlHBU6jYbzQOm5maHPvIJ6BE8UeedoXJXvZI9rLDcq092WGZOc8WS4WHHd537Wp7FJtTmzGKrb5F
q6y9RcvvZHEJIj7KGs2/P84ZFqX5IpcAAAAASUVORK5CYII=
</value>
</data>
<data name="lbResultCount.ImageOptions.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> <data name="lbResultCount.ImageOptions.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value> <value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAx0RVh0VGl0 iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAx0RVh0VGl0

View File

@ -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.XtraGrid.Views.Grid
Imports DevExpress.XtraRichEdit
Imports DevExpress.XtraTab
Imports DevExpress.XtraTreeList
Imports DevExpress.XtraTreeList.Columns
Imports DevExpress.XtraTreeList.Nodes Imports DevExpress.XtraTreeList.Nodes
Imports DigitalData.Controls.DocumentViewer
Imports DigitalData.Controls.SQLConfig Imports DigitalData.Controls.SQLConfig
Imports DigitalData.GUIs.Common Imports DigitalData.GUIs.Common
Imports DigitalData.GUIs.Monitor.Constants
Imports DigitalData.Modules.Config Imports DigitalData.Modules.Config
Imports DigitalData.Modules.Database Imports DigitalData.Modules.Database
Imports DigitalData.Modules.Logging
Imports DigitalData.Modules.Language.Utils
Imports DigitalData.Modules.Language Imports DigitalData.Modules.Language
Imports DigitalData.Modules.Language.Utils
Imports DigitalData.Modules.Logging
Imports DigitalData.Modules.Patterns 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 Public Class frmMonitor
Private ReadOnly ColumnMarkers As New List(Of String) From {"[HTML]", "[SQL]", "[FILENAME]"} 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 ReadOnly DisplayColumns As New List(Of String) From {"COLUMN1", "COLUMN2", "COLUMN3", "ADDED_WHEN", "STATE", "ICON"}
Private SQLResultGrids As List(Of GridControl) Private SQLResultGrids As List(Of GridControl)
Private SQLResultTabs As List(Of XtraTabPage) Private SQLResultTabs As List(Of XtraTabPage)
Private SQLResultGridIndex As Integer = 0 Private SQLResultGridIndex As Integer = 0
@ -59,7 +55,7 @@ Public Class frmMonitor
Private Const STATE_WARNING As String = "WARNING" Private Const STATE_WARNING As String = "WARNING"
Private Const STATE_WAITING As String = "WAITING" Private Const STATE_WAITING As String = "WAITING"
Private Const STATE_HIGHLIGHT As String = "HIGHLIGHT" 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 MarkedColumns As New List(Of GridColumn)
Private ActiveSearch As Search = Nothing Private ActiveSearch As Search = Nothing
Private LastSearch As Search = Nothing Private LastSearch As Search = Nothing
@ -86,6 +82,7 @@ Public Class frmMonitor
Private GridBuilder As GridBuilder Private GridBuilder As GridBuilder
Private ControlHelper As Common.ControlHelper Private ControlHelper As Common.ControlHelper
Private SearchLoader As SearchLoader Private SearchLoader As SearchLoader
Private ParamLoader As ParameterLoader
Private LogConfig As LogConfig Private LogConfig As LogConfig
Private Logger As Logger Private Logger As Logger
Private ConfigManager As ConfigManager(Of Config) Private ConfigManager As ConfigManager(Of Config)
@ -129,6 +126,7 @@ Public Class frmMonitor
Dim oConnectionString = MSSQLServer.DecryptConnectionString(ConfigManager.Config.ConnectionString) Dim oConnectionString = MSSQLServer.DecryptConnectionString(ConfigManager.Config.ConnectionString)
Database = New MSSQLServer(LogConfig, oConnectionString) Database = New MSSQLServer(LogConfig, oConnectionString)
SearchLoader = New SearchLoader(LogConfig, ConfigManager.Config, Database) SearchLoader = New SearchLoader(LogConfig, ConfigManager.Config, Database)
ParamLoader = New ParameterLoader(LogConfig, Database, LayoutControl1)
GridBuilder = New GridBuilder() GridBuilder = New GridBuilder()
InitGrid() InitGrid()
@ -157,12 +155,12 @@ Public Class frmMonitor
For Each oGrid In SQLResultGrids For Each oGrid In SQLResultGrids
AddHandler oGrid.Enter, Sub() AddHandler oGrid.Enter, Sub()
ActiveSQLResultGrid = oGrid ActiveSQLResultGrid = oGrid
btnExportGrid.Enabled = True btnExportDetails.Enabled = True
End Sub End Sub
AddHandler oGrid.Leave, Sub() AddHandler oGrid.Leave, Sub()
ActiveSQLResultGrid = Nothing ActiveSQLResultGrid = Nothing
btnExportGrid.Enabled = False btnExportDetails.Enabled = False
End Sub End Sub
Next Next
@ -217,12 +215,10 @@ Public Class frmMonitor
AdornerUIManager2.Hide() AdornerUIManager2.Hide()
AdornerUIManager2.Elements.Clear() 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 oSQL As String = oSearch.SQLCommand
Dim oControls As New List(Of Control) Dim oControls As New List(Of Control)
For Each oItem As Control In LayoutControl1.Controls For Each oItem As Control In LayoutControl1.Controls
Dim oParam = oSearch.Parameters. Dim oParam = oSearch.Parameters.
Where(Function(param) param.PatternTitle = oItem.Name). Where(Function(param) param.PatternTitle = oItem.Name).
FirstOrDefault() FirstOrDefault()
@ -241,7 +237,6 @@ Public Class frmMonitor
oMissingParams = True oMissingParams = True
End If End If
Next Next
AdornerUIManager2.Show() AdornerUIManager2.Show()
@ -254,7 +249,7 @@ Public Class frmMonitor
oSQL = Patterns.ReplaceControlValues(oSQL, oControls) oSQL = Patterns.ReplaceControlValues(oSQL, oControls)
Dim oTable As DataTable = Database.GetDatatable(oSQL) Dim oTable As DataTable = Database.GetDatatable(oSQL)
If oSearch.ReturnType = ReturnTypeEnum.TreeView Then If oSearch.ReturnType = Constants.ReturnTypeEnum.TreeView Then
GridControlResults.Visible = False GridControlResults.Visible = False
GridControlResults.Dock = DockStyle.None GridControlResults.Dock = DockStyle.None
@ -302,6 +297,7 @@ Public Class frmMonitor
GridControlResults.DataSource = oTable GridControlResults.DataSource = oTable
GridViewResults.PopulateColumns() GridViewResults.PopulateColumns()
GridBuilder.SetDateTimeColumns(GridViewResults)
MarkedColumns = GridViewResults.Columns.AsEnumerable. MarkedColumns = GridViewResults.Columns.AsEnumerable.
Where(Function(column) Where(Function(column)
@ -321,6 +317,8 @@ Public Class frmMonitor
Workspace.LoadWorkspace(oSearch.Id.ToString) Workspace.LoadWorkspace(oSearch.Id.ToString)
LastLoadedSearch = oSearch LastLoadedSearch = oSearch
btnExportMain.Enabled = True
Return True Return True
Catch ex As Exception Catch ex As Exception
FormHelper.ShowErrorMessage(ex, "LoadData") FormHelper.ShowErrorMessage(ex, "LoadData")
@ -352,6 +350,9 @@ Public Class frmMonitor
Private Sub InitTreeListColumns(pMaxLength As Integer) Private Sub InitTreeListColumns(pMaxLength As Integer)
Dim oColumn1 = TreeListResults.Columns.Item("COLUMN1") 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 oStateColumn = TreeListResults.Columns.Item("STATE")
Dim oIconColumn = TreeListResults.Columns.Item("ICON") Dim oIconColumn = TreeListResults.Columns.Item("ICON")
@ -364,10 +365,24 @@ Public Class frmMonitor
Dim oColumnLength = pMaxLength * 5 Dim oColumnLength = pMaxLength * 5
With oColumn1 With oColumn1
.Caption = "Titel"
.MinWidth = oColumnLength .MinWidth = oColumnLength
.MaxWidth = oColumnLength .MaxWidth = oColumnLength
.Width = oColumnLength .Width = oColumnLength
.OptionsColumn.AllowSize = False .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 End With
With oStateColumn With oStateColumn
@ -377,6 +392,7 @@ Public Class frmMonitor
.Width = 25 .Width = 25
.Caption = " " .Caption = " "
.OptionsColumn.AllowSize = False .OptionsColumn.AllowSize = False
.OptionsColumn.AllowSort = False
.ImageOptions.Image = SvgImageCollection1.GetImage(NodeImage.Success) .ImageOptions.Image = SvgImageCollection1.GetImage(NodeImage.Success)
End With End With
@ -387,6 +403,7 @@ Public Class frmMonitor
.Width = 25 .Width = 25
.Caption = " " .Caption = " "
.OptionsColumn.AllowSize = False .OptionsColumn.AllowSize = False
.OptionsColumn.AllowSort = False
.ImageOptions.Image = SvgImageCollection1.GetImage(NodeImage.SQL) .ImageOptions.Image = SvgImageCollection1.GetImage(NodeImage.SQL)
End With End With
End Sub End Sub
@ -415,6 +432,9 @@ Public Class frmMonitor
SplitContainerSQL.Collapsed = True SplitContainerSQL.Collapsed = True
SplitContainerFileHTML.Collapsed = True SplitContainerFileHTML.Collapsed = True
btnExportMain.Enabled = False
btnExportDetails.Enabled = False
lbResultCount.Caption = String.Format(lbResultCount.Tag, 0) lbResultCount.Caption = String.Format(lbResultCount.Tag, 0)
LoadSearch() LoadSearch()
@ -439,12 +459,9 @@ Public Class frmMonitor
AdornerUIManager2.Hide() AdornerUIManager2.Hide()
AdornerUIManager2.Elements.Clear() AdornerUIManager2.Elements.Clear()
Root.Clear(disposeItemAndControls:=True) Root.Clear(disposeItemAndControls:=False)
LayoutControl1.Clear(True, True) LayoutControl1.Clear(True, True)
'LayoutControl1.Items.Clear()
' LayoutControl1.Controls.Clear()
TreeListResults.DataSource = Nothing TreeListResults.DataSource = Nothing
GridControlResults.DataSource = Nothing GridControlResults.DataSource = Nothing
@ -456,107 +473,19 @@ Public Class frmMonitor
End If End If
For Each oParam As SearchParameter In oSearch.Parameters ParamLoader.LoadParameters(oSearch)
Dim oControl As Control
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 Catch ex As Exception
Logger.Error(ex)
End Try End Try
End Sub 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 Private Function GetParameterItems(pParam As SearchParameter) As Object
Select Case pParam.ItemType Select Case pParam.ItemType
Case ItemTypeEnum.List Case Constants.ItemTypeEnum.List
Return pParam.ItemString.Split(";"c).ToList() Return pParam.ItemString.Split(";"c).ToList()
Case ItemTypeEnum.SQL Case Constants.ItemTypeEnum.SQL
Dim oSQL = pParam.ItemString Dim oSQL = pParam.ItemString
Dim oTable = Database.GetDatatable(oSQL) Dim oTable = Database.GetDatatable(oSQL)
Return oTable Return oTable
@ -596,6 +525,8 @@ Public Class frmMonitor
SplitContainerSQL.Collapsed = True SplitContainerSQL.Collapsed = True
SplitContainerFileHTML.Collapsed = True SplitContainerFileHTML.Collapsed = True
For Each oSQLCommand As KeyValuePair(Of String, String) In oSQLCommands For Each oSQLCommand As KeyValuePair(Of String, String) In oSQLCommands
Try Try
Dim oExtracted = ExtractTitle(oSQLCommand.Value) Dim oExtracted = ExtractTitle(oSQLCommand.Value)
@ -611,6 +542,10 @@ Public Class frmMonitor
Dim oGridIndex = Integer.Parse(oSQLCommand.Key.Last()) - 1 Dim oGridIndex = Integer.Parse(oSQLCommand.Key.Last()) - 1
Dim oGridControl As GridControl = SQLResultGrids.Item(oGridIndex) Dim oGridControl As GridControl = SQLResultGrids.Item(oGridIndex)
If oGridIndex = 0 Then
ActiveSQLResultGrid = oGridControl
End If
FillResultGrid(oGridControl, oTable, oTitle) FillResultGrid(oGridControl, oTable, oTitle)
Catch ex As Exception Catch ex As Exception
Logger.Error(ex) Logger.Error(ex)
@ -618,6 +553,8 @@ Public Class frmMonitor
End Try End Try
Next Next
For Each oFile As KeyValuePair(Of String, String) In oFilePaths For Each oFile As KeyValuePair(Of String, String) In oFilePaths
Try Try
Dim oExtracted = ExtractTitle(oFile.Value) Dim oExtracted = ExtractTitle(oFile.Value)
@ -779,44 +716,6 @@ Public Class frmMonitor
e.Handled = False e.Handled = False
End Sub 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 Private Sub BarButtonItem1_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonItem1.ItemClick
Dim oSQLConfig As New frmSQLConfig(LogConfig) With { Dim oSQLConfig As New frmSQLConfig(LogConfig) With {
.ConnectionString = ConfigManager.Config.ConnectionString .ConnectionString = ConfigManager.Config.ConnectionString
@ -832,21 +731,34 @@ Public Class frmMonitor
End If End If
End Sub End Sub
Private Sub BarButtonItem2_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles btnExportGrid.ItemClick Private Sub BarButtonItem2_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles btnExportDetails.ItemClick
If ActiveSQLResultGrid IsNot Nothing Then If ActiveSQLResultGrid Is Nothing Then
Exit Sub
End If
XtraSaveFileDialog1.Filter = "Excel Files (*.xlsx)|*.xlsx" XtraSaveFileDialog1.Filter = "Excel Files (*.xlsx)|*.xlsx"
XtraSaveFileDialog1.FileName = $"{ActiveSearch.Title}_Detail.xlsx"
If XtraSaveFileDialog1.ShowDialog() = DialogResult.OK Then If XtraSaveFileDialog1.ShowDialog() = DialogResult.OK Then
ActiveSQLResultGrid.ExportToXlsx(XtraSaveFileDialog1.FileName) ActiveSQLResultGrid.ExportToXlsx(XtraSaveFileDialog1.FileName)
End If End If
End If
End Sub 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.Filter = "Excel Files (*.xlsx)|*.xlsx"
XtraSaveFileDialog1.FileName = $"{ActiveSearch.Title}.xlsx"
If XtraSaveFileDialog1.ShowDialog() = DialogResult.OK Then If XtraSaveFileDialog1.ShowDialog() = DialogResult.OK Then
If ActiveSearch.ReturnType = ReturnTypeEnum.TreeView Then
TreeListResults.ExportToXlsx(XtraSaveFileDialog1.FileName) TreeListResults.ExportToXlsx(XtraSaveFileDialog1.FileName)
Else
GridControlResults.ExportToXlsx(XtraSaveFileDialog1.FileName)
End If
End If End If
End Sub End Sub
@ -914,6 +826,7 @@ Public Class frmMonitor
End If End If
HideAllTabs() HideAllTabs()
ActiveSQLResultGrid = Nothing
Try Try
Dim oRow As DataRow = GridViewResults.GetDataRow(GridViewResults.FocusedRowHandle) Dim oRow As DataRow = GridViewResults.GetDataRow(GridViewResults.FocusedRowHandle)
@ -942,9 +855,15 @@ Public Class frmMonitor
Continue For Continue For
End If End If
Dim oGridControl As GridControl = SQLResultGrids.Item(oGridResultIndex)
Dim oTitle = oColumn.FieldName.Replace("[SQL]", "").Trim() Dim oTitle = oColumn.FieldName.Replace("[SQL]", "").Trim()
Dim oGridControl As GridControl = SQLResultGrids.Item(oGridResultIndex)
If oGridResultIndex = 0 Then
ActiveSQLResultGrid = oGridControl
End If
oGridResultIndex += 1 oGridResultIndex += 1
FillResultGrid(oGridControl, oTable, oTitle) FillResultGrid(oGridControl, oTable, oTitle)
SplitContainerSQL.Collapsed = False SplitContainerSQL.Collapsed = False
@ -971,8 +890,14 @@ Public Class frmMonitor
Next 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 Try
End Sub End Sub