Chart-Integration
This commit is contained in:
parent
41338b596e
commit
72a831619f
@ -19,6 +19,7 @@
|
||||
Undefined
|
||||
Table
|
||||
TreeView
|
||||
ChartView
|
||||
End Enum
|
||||
|
||||
Public Enum DataTypeEnum
|
||||
@ -34,4 +35,21 @@
|
||||
List
|
||||
SQL
|
||||
End Enum
|
||||
|
||||
Public Enum ChartPosEnum
|
||||
Undefined
|
||||
TopLeft
|
||||
BottomLeft
|
||||
TopRight
|
||||
BottomRight
|
||||
End Enum
|
||||
|
||||
Public Enum ChartTypeEnum
|
||||
Undefined
|
||||
Bar
|
||||
Line
|
||||
Area
|
||||
Pie
|
||||
End Enum
|
||||
|
||||
End Namespace
|
||||
|
||||
14
GUIs.Monitor/Data/ChartParameter.vb
Normal file
14
GUIs.Monitor/Data/ChartParameter.vb
Normal file
@ -0,0 +1,14 @@
|
||||
Public Class ChartParameter
|
||||
Public Id As Integer
|
||||
Public Title As String
|
||||
Public ChartPos As Constants.ChartPosEnum
|
||||
Public SQLCommand As String
|
||||
Public ChartType As Constants.ChartTypeEnum
|
||||
Public Argument As String
|
||||
Public Value As String
|
||||
Public SearchId As Integer
|
||||
|
||||
Public Overrides Function ToString() As String
|
||||
Return Title
|
||||
End Function
|
||||
End Class
|
||||
@ -1,5 +1,4 @@
|
||||
Imports System.Runtime.CompilerServices
|
||||
Imports System.Text.RegularExpressions
|
||||
Imports System.Text.RegularExpressions
|
||||
Imports DevExpress.Utils
|
||||
Imports DevExpress.XtraEditors.Controls
|
||||
Imports DevExpress.XtraEditors.Repository
|
||||
@ -11,6 +10,7 @@ Imports DevExpress.XtraTab
|
||||
Imports DevExpress.XtraTreeList
|
||||
Imports DevExpress.XtraTreeList.Columns
|
||||
Imports DevExpress.XtraTreeList.Nodes
|
||||
Imports DevExpress.XtraCharts
|
||||
Imports DigitalData.Controls.DocumentViewer
|
||||
Imports DigitalData.GUIs.Common
|
||||
Imports DigitalData.GUIs.Monitor.Constants
|
||||
@ -20,6 +20,8 @@ Imports DigitalData.Modules.Language
|
||||
Imports DigitalData.Modules.Language.Utils
|
||||
Imports DigitalData.Modules.Logging
|
||||
Imports DigitalData.Modules.Patterns
|
||||
Imports DevExpress.XtraEditors
|
||||
|
||||
|
||||
Public Class frmMonitor
|
||||
Private ReadOnly InvisibleColumnMarkers As New List(Of String) From {"[HTML]", "[SQL]", "[FILENAME]"}
|
||||
@ -57,6 +59,8 @@ Public Class frmMonitor
|
||||
Private GridControlResults As GridControl
|
||||
Private GridViewResults As GridView
|
||||
|
||||
Private ChartViewResultContainer As SplitContainerControl
|
||||
|
||||
Private InvisibleMarkedColumns As New List(Of GridColumn)
|
||||
Private VisibleMarkedColumns As New List(Of GridColumn)
|
||||
Private ActiveSearch As Search = Nothing
|
||||
@ -123,6 +127,8 @@ Public Class frmMonitor
|
||||
|
||||
InitGrid()
|
||||
InitTreeList()
|
||||
'InitChartView()
|
||||
InitChartContainer()
|
||||
|
||||
Dim oGrids As GridView() = New List(Of GridView) From {GridView1, GridView2, GridView3, GridView4}.ToArray
|
||||
GridBuilder.SetDefaults(oGrids)
|
||||
@ -154,7 +160,6 @@ Public Class frmMonitor
|
||||
End Sub
|
||||
Next
|
||||
|
||||
|
||||
For Each oViewer As DocumentViewer In FileResultViewers
|
||||
oViewer.Init(LogConfig, oLicense)
|
||||
Next
|
||||
@ -164,7 +169,6 @@ Public Class frmMonitor
|
||||
SetResultCount(0)
|
||||
SetVersion()
|
||||
|
||||
|
||||
Catch ex As Exception
|
||||
FormHelper.ShowErrorMessage(ex, "frmStart_Load")
|
||||
End Try
|
||||
@ -210,16 +214,23 @@ Public Class frmMonitor
|
||||
End If
|
||||
|
||||
Dim oControls As List(Of Control) = LayoutControl1.Controls.Cast(Of Control).ToList()
|
||||
Dim oSQL = Patterns.ReplaceControlValues(oSearch.SQLCommand, oControls)
|
||||
Dim oTable As DataTable = Await Database.GetDatatableAsync(oSQL)
|
||||
Dim oSQL As String
|
||||
Dim oTable As DataTable
|
||||
|
||||
If oSearch.SQLCommand.Length > 0 Then
|
||||
oSQL = Patterns.ReplaceControlValues(oSearch.SQLCommand, oControls)
|
||||
oTable = Await Database.GetDatatableAsync(oSQL)
|
||||
End If
|
||||
|
||||
Dim oStartTime = Now
|
||||
|
||||
If oSearch.ReturnType = Constants.ReturnTypeEnum.TreeView Then
|
||||
GridControlResults.Visible = False
|
||||
GridControlResults.Dock = DockStyle.None
|
||||
If oSearch.ReturnType = ReturnTypeEnum.TreeView Then
|
||||
' Baum
|
||||
SetResultVisbility(ReturnTypeEnum.TreeView)
|
||||
|
||||
TreeListResults.Visible = True
|
||||
TreeListResults.Dock = DockStyle.Fill
|
||||
If oTable Is Nothing Then
|
||||
Return False
|
||||
End If
|
||||
|
||||
TreeListResults.DataSource = oTable
|
||||
|
||||
@ -258,12 +269,70 @@ Public Class frmMonitor
|
||||
SetResultCount(TreeListResults.AllNodesCount)
|
||||
|
||||
TreeListResults.Focus()
|
||||
Else
|
||||
GridControlResults.Visible = True
|
||||
GridControlResults.Dock = DockStyle.Fill
|
||||
ElseIf oSearch.ReturnType = Constants.ReturnTypeEnum.ChartView Then
|
||||
' Charts
|
||||
SetResultVisbility(ReturnTypeEnum.ChartView)
|
||||
|
||||
TreeListResults.Visible = False
|
||||
TreeListResults.Dock = DockStyle.None
|
||||
' Oberer SplitContainer
|
||||
Dim splitContainer1 As SplitContainerControl = CType(ChartViewResultContainer.Panel1.Controls(0), SplitContainerControl)
|
||||
' Unterer SplitContainer
|
||||
Dim splitContainer2 As SplitContainerControl = CType(ChartViewResultContainer.Panel2.Controls(0), SplitContainerControl)
|
||||
|
||||
ChartViewResultContainer.PanelVisibility = SplitPanelVisibility.Both
|
||||
splitContainer1.PanelVisibility = SplitPanelVisibility.Both
|
||||
splitContainer2.PanelVisibility = SplitPanelVisibility.Both
|
||||
|
||||
Dim chartArray(4) As ChartControl
|
||||
' TopLeft
|
||||
chartArray(0) = CType(splitContainer1.Panel1.Controls(0), ChartControl)
|
||||
' TopRight
|
||||
chartArray(1) = CType(splitContainer1.Panel2.Controls(0), ChartControl)
|
||||
' BottomLeft
|
||||
chartArray(2) = CType(splitContainer2.Panel1.Controls(0), ChartControl)
|
||||
' BottomRight
|
||||
chartArray(3) = CType(splitContainer2.Panel2.Controls(0), ChartControl)
|
||||
|
||||
For i As Integer = 0 To 3
|
||||
chartArray(i).Titles.Clear()
|
||||
chartArray(i).Series.Clear()
|
||||
Next
|
||||
ResizeCharContainer()
|
||||
|
||||
Dim oChartParameters As List(Of ChartParameter)
|
||||
oChartParameters = SearchLoader.ChartParameters.Where(Function(p) p.SearchId = oSearch.Id And p.ChartType <> ChartTypeEnum.Undefined).ToList()
|
||||
|
||||
For Each oChartParameterSet In oChartParameters
|
||||
Dim ChartViewResults As ChartControl
|
||||
|
||||
Select Case oChartParameterSet.ChartPos
|
||||
Case ChartPosEnum.TopLeft
|
||||
ChartViewResults = chartArray(0)
|
||||
Case ChartPosEnum.TopRight
|
||||
ChartViewResults = chartArray(1)
|
||||
Case ChartPosEnum.BottomLeft
|
||||
ChartViewResults = chartArray(2)
|
||||
Case ChartPosEnum.BottomRight
|
||||
ChartViewResults = chartArray(3)
|
||||
Case Else
|
||||
ChartViewResults = chartArray(0)
|
||||
End Select
|
||||
|
||||
SetChartTitle(ChartViewResults, oChartParameterSet.Title)
|
||||
Dim oSerie As Series = Await GetChartSerie(oChartParameterSet, oControls)
|
||||
ChartViewResults.Series.Add(oSerie)
|
||||
Next
|
||||
|
||||
SetPanelVisibility(chartArray)
|
||||
|
||||
ChartViewResultContainer.Focus()
|
||||
|
||||
Else
|
||||
' Tabelle
|
||||
SetResultVisbility(ReturnTypeEnum.Table)
|
||||
|
||||
If oTable Is Nothing Then
|
||||
Return False
|
||||
End If
|
||||
|
||||
GridControlResults.DataSource = oTable
|
||||
GridViewResults.PopulateColumns()
|
||||
@ -343,6 +412,133 @@ Public Class frmMonitor
|
||||
SplashScreenManager1.CloseWaitForm()
|
||||
End Try
|
||||
End Function
|
||||
|
||||
Private Async Function GetChartSerie(pChartParameters As ChartParameter, pControls As List(Of Control)) As Threading.Tasks.Task(Of Series)
|
||||
Dim oSerie As Series
|
||||
|
||||
Select Case pChartParameters.ChartType
|
||||
Case ChartTypeEnum.Bar
|
||||
oSerie = New Series(pChartParameters.Title, ViewType.Bar)
|
||||
Case ChartTypeEnum.Line
|
||||
oSerie = New Series(pChartParameters.Title, ViewType.Line)
|
||||
Case ChartTypeEnum.Area
|
||||
oSerie = New Series(pChartParameters.Title, ViewType.Area)
|
||||
Case ChartTypeEnum.Pie
|
||||
oSerie = New Series(pChartParameters.Title, ViewType.Pie)
|
||||
oSerie.Label.TextPattern = "{V}"
|
||||
oSerie.LegendTextPattern = "{A}"
|
||||
Case Else
|
||||
Return Nothing
|
||||
End Select
|
||||
|
||||
Dim oSQL As String = Patterns.ReplaceControlValues(pChartParameters.SQLCommand, pControls)
|
||||
Dim oTable As DataTable = Await Database.GetDatatableAsync(oSQL)
|
||||
|
||||
Dim xAxisTitle As String = pChartParameters.Argument
|
||||
Dim yAxisTitle As String = pChartParameters.Value
|
||||
|
||||
For Each oRow In oTable.Rows
|
||||
Dim value1 As String = oRow.Item(xAxisTitle)
|
||||
Dim value2 As String = oRow.Item(yAxisTitle)
|
||||
oSerie.Points.Add(New SeriesPoint(value1, value2))
|
||||
Next
|
||||
|
||||
oSerie.ArgumentScaleType = ScaleType.Qualitative
|
||||
|
||||
Return oSerie
|
||||
|
||||
End Function
|
||||
|
||||
Private Sub SetChartTitle(pChartView As ChartControl, pTitle As String)
|
||||
' Wenn bereits ein Titel vorhanden ist, wird kein neuer ergänzt
|
||||
' relevant bei mehrere Charts in einem ChartControl
|
||||
If pChartView.Titles.Count = 0 Then
|
||||
Dim oTitle As ChartTitle = New ChartTitle()
|
||||
oTitle.Text = pTitle
|
||||
pChartView.Titles.Add(oTitle)
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Private Sub SetPanelVisibility(chartArray() As ChartControl)
|
||||
If chartArray.Length < 4 Then
|
||||
Exit Sub
|
||||
End If
|
||||
|
||||
Dim showTop As Boolean = True
|
||||
Dim showBottom As Boolean = True
|
||||
|
||||
If chartArray(0).Titles.Count = 0 And chartArray(1).Titles.Count = 0 Then
|
||||
showTop = False
|
||||
End If
|
||||
|
||||
If chartArray(2).Titles.Count = 0 And chartArray(3).Titles.Count = 0 Then
|
||||
showBottom = False
|
||||
End If
|
||||
|
||||
If showBottom = False Then
|
||||
ChartViewResultContainer.PanelVisibility = SplitPanelVisibility.Panel1
|
||||
ElseIf showTop = False Then
|
||||
ChartViewResultContainer.PanelVisibility = SplitPanelVisibility.Panel2
|
||||
End If
|
||||
|
||||
If showTop = True Then
|
||||
Dim showLeft As Boolean = chartArray(0).Titles.Count > 0
|
||||
Dim showRight As Boolean = chartArray(1).Titles.Count > 0
|
||||
|
||||
Dim splitContainer1 As SplitContainerControl = CType(ChartViewResultContainer.Panel1.Controls(0), SplitContainerControl)
|
||||
|
||||
If showRight = False Then
|
||||
splitContainer1.PanelVisibility = SplitPanelVisibility.Panel1
|
||||
ElseIf showLeft = False Then
|
||||
splitContainer1.PanelVisibility = SplitPanelVisibility.Panel2
|
||||
End If
|
||||
End If
|
||||
|
||||
If showBottom = True Then
|
||||
Dim showLeft As Boolean = chartArray(2).Titles.Count > 0
|
||||
Dim showRight As Boolean = chartArray(3).Titles.Count > 0
|
||||
|
||||
Dim splitContainer2 As SplitContainerControl = CType(ChartViewResultContainer.Panel2.Controls(0), SplitContainerControl)
|
||||
|
||||
If showRight = False Then
|
||||
splitContainer2.PanelVisibility = SplitPanelVisibility.Panel1
|
||||
ElseIf showLeft = False Then
|
||||
splitContainer2.PanelVisibility = SplitPanelVisibility.Panel2
|
||||
End If
|
||||
End If
|
||||
|
||||
End Sub
|
||||
|
||||
|
||||
Private Sub SetResultVisbility(pSearchMode As ReturnTypeEnum)
|
||||
Select Case pSearchMode
|
||||
Case ReturnTypeEnum.TreeView
|
||||
GridControlResults.Visible = False
|
||||
GridControlResults.Dock = DockStyle.None
|
||||
TreeListResults.Visible = True
|
||||
TreeListResults.Dock = DockStyle.Fill
|
||||
ChartViewResultContainer.Visible = False
|
||||
ChartViewResultContainer.Dock = DockStyle.None
|
||||
|
||||
Case ReturnTypeEnum.ChartView
|
||||
GridControlResults.Visible = False
|
||||
GridControlResults.Dock = DockStyle.None
|
||||
TreeListResults.Visible = False
|
||||
TreeListResults.Dock = DockStyle.None
|
||||
ChartViewResultContainer.Visible = True
|
||||
ChartViewResultContainer.Dock = DockStyle.Fill
|
||||
|
||||
Case ReturnTypeEnum.Table
|
||||
GridControlResults.Visible = True
|
||||
GridControlResults.Dock = DockStyle.Fill
|
||||
TreeListResults.Visible = False
|
||||
TreeListResults.Dock = DockStyle.None
|
||||
ChartViewResultContainer.Visible = False
|
||||
ChartViewResultContainer.Dock = DockStyle.None
|
||||
End Select
|
||||
|
||||
End Sub
|
||||
|
||||
''' <summary>
|
||||
''' Linklogik für Hyperlink-Spalten
|
||||
''' </summary>
|
||||
@ -391,7 +587,7 @@ Public Class frmMonitor
|
||||
Private Sub SetColumnsToDisAllowEditInGridViewResults()
|
||||
For Each oColumn As GridColumn In GridViewResults.Columns
|
||||
|
||||
If Not TypeOf oColumn.ColumnEdit Is RepositoryItemHyperLinkEdit Then
|
||||
If TypeOf oColumn.ColumnEdit IsNot RepositoryItemHyperLinkEdit Then
|
||||
' Verbietet Spaltenweise die Bearbeitung
|
||||
oColumn.OptionsColumn.AllowEdit = False
|
||||
End If
|
||||
@ -419,6 +615,7 @@ Public Class frmMonitor
|
||||
Private Sub LoadSearches()
|
||||
Try
|
||||
SearchLoader.LoadSearchParameters()
|
||||
SearchLoader.LoadChartParameters()
|
||||
SearchLoader.LoadSearches()
|
||||
|
||||
cmbSearches.Properties.Items.Clear()
|
||||
@ -999,6 +1196,23 @@ Public Class frmMonitor
|
||||
SplitContainerSQL.Panel1.Controls.Add(TreeListResults)
|
||||
End Sub
|
||||
|
||||
Private Sub InitChartContainer()
|
||||
ChartViewResultContainer = GridLoader.InitChartViewResultContainer()
|
||||
|
||||
SplitContainerSQL.Panel1.Controls.Add(ChartViewResultContainer)
|
||||
End Sub
|
||||
|
||||
Private Sub ResizeCharContainer()
|
||||
If ChartViewResultContainer.Visible = True Then
|
||||
Dim splitContainer1 As SplitContainerControl = CType(ChartViewResultContainer.Panel1.Controls(0), SplitContainerControl)
|
||||
Dim splitContainer2 As SplitContainerControl = CType(ChartViewResultContainer.Panel2.Controls(0), SplitContainerControl)
|
||||
|
||||
ChartViewResultContainer.SplitterPosition = ChartViewResultContainer.Height / 2
|
||||
splitContainer1.SplitterPosition = splitContainer1.Width / 2
|
||||
splitContainer2.SplitterPosition = splitContainer2.Width / 2
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Private Sub BarButtonItem2_ItemClick_1(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonItem2.ItemClick
|
||||
If ActiveSearch Is Nothing Then
|
||||
Exit Sub
|
||||
@ -1014,5 +1228,6 @@ Public Class frmMonitor
|
||||
FormHelper.ShowErrorMessage(ex, "Log Verzeichnis öffnen")
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
End Class
|
||||
|
||||
|
||||
@ -1,4 +1,6 @@
|
||||
Imports DevExpress.Utils
|
||||
Imports DevExpress.Utils.Extensions
|
||||
Imports DevExpress.XtraCharts
|
||||
Imports DevExpress.XtraEditors
|
||||
Imports DevExpress.XtraEditors.Controls
|
||||
Imports DevExpress.XtraEditors.Repository
|
||||
@ -81,6 +83,62 @@ Public Class GridLoader
|
||||
Return oGrid
|
||||
End Function
|
||||
|
||||
Public Function InitChartViewResultContainer() As SplitContainerControl
|
||||
' Vorbereiten der SplitContainer-Struktur inkl. der ChartControls
|
||||
Dim oChartViewResultContainer As SplitContainerControl
|
||||
Dim oSplitContainer1 As SplitContainerControl
|
||||
Dim oSplitContainer2 As SplitContainerControl
|
||||
|
||||
oChartViewResultContainer = New SplitContainerControl With {
|
||||
.Name = "ChartViewResultContainer",
|
||||
.Visible = False,
|
||||
.Dock = DockStyle.Fill,
|
||||
.Horizontal = False,
|
||||
.IsSplitterFixed = True
|
||||
}
|
||||
|
||||
oSplitContainer1 = New SplitContainerControl With {
|
||||
.Name = "SplitContainer1",
|
||||
.Dock = DockStyle.Fill,
|
||||
.Horizontal = True,
|
||||
.IsSplitterFixed = True
|
||||
}
|
||||
|
||||
oSplitContainer2 = New SplitContainerControl With {
|
||||
.Name = "SplitContainer2",
|
||||
.Dock = DockStyle.Fill,
|
||||
.Horizontal = True,
|
||||
.IsSplitterFixed = True
|
||||
}
|
||||
|
||||
oChartViewResultContainer.Panel1.AddControl(oSplitContainer1)
|
||||
oChartViewResultContainer.Panel2.AddControl(oSplitContainer2)
|
||||
|
||||
Dim oChartControl11 As ChartControl = New ChartControl With {
|
||||
.Name = "ChartControl11",
|
||||
.Dock = DockStyle.Fill
|
||||
}
|
||||
Dim oChartControl12 As ChartControl = New ChartControl With {
|
||||
.Name = "ChartControl12",
|
||||
.Dock = DockStyle.Fill
|
||||
}
|
||||
Dim oChartControl21 As ChartControl = New ChartControl With {
|
||||
.Name = "ChartControl21",
|
||||
.Dock = DockStyle.Fill
|
||||
}
|
||||
Dim oChartControl22 As ChartControl = New ChartControl With {
|
||||
.Name = "ChartControl22",
|
||||
.Dock = DockStyle.Fill
|
||||
}
|
||||
|
||||
oSplitContainer1.Panel1.AddControl(oChartControl11)
|
||||
oSplitContainer1.Panel2.AddControl(oChartControl12)
|
||||
oSplitContainer2.Panel1.AddControl(oChartControl21)
|
||||
oSplitContainer2.Panel2.AddControl(oChartControl22)
|
||||
|
||||
Return oChartViewResultContainer
|
||||
End Function
|
||||
|
||||
Public Sub InitTreeListColumns(pTreeList As TreeList, pMaxLength As Integer)
|
||||
Dim oColumn1 = pTreeList.Columns.Item("COLUMN1")
|
||||
Dim oColumn2 = pTreeList.Columns.Item("COLUMN2")
|
||||
|
||||
@ -12,6 +12,7 @@ Public Class SearchLoader
|
||||
|
||||
Public Searches As New List(Of Search)
|
||||
Public Parameters As New List(Of SearchParameter)
|
||||
Public ChartParameters As New List(Of ChartParameter)
|
||||
|
||||
Public Sub New(pLogConfig As LogConfig, pConfig As Config, pDatabase As MSSQLServer)
|
||||
MyBase.New(pLogConfig)
|
||||
@ -49,7 +50,8 @@ Public Class SearchLoader
|
||||
End If
|
||||
|
||||
' Es wurde kein SQL Command definiert, ohne geht nix
|
||||
If oSearch.SQLCommand Is Nothing Or oSearch.SQLCommand.Length = 0 Then
|
||||
' Außer es ist eine Chart-Suche
|
||||
If oSearch.ReturnType <> ReturnTypeEnum.ChartView And (oSearch.SQLCommand Is Nothing Or oSearch.SQLCommand.Length = 0) Then
|
||||
Logger.Error($"For searchId [{0}] is NO SQLCommand defined!", oSearch.Id)
|
||||
Continue For
|
||||
End If
|
||||
@ -90,6 +92,27 @@ Public Class SearchLoader
|
||||
Parameters = oParameters
|
||||
End Sub
|
||||
|
||||
Public Sub LoadChartParameters()
|
||||
Dim oSQL As String = $"SELECT * FROM TBMON_CHARTS"
|
||||
Dim oTable As DataTable = Database.GetDatatable(oSQL)
|
||||
Dim oParameters As New List(Of ChartParameter)
|
||||
|
||||
For Each oRow As DataRow In oTable.Rows
|
||||
oParameters.Add(New ChartParameter With {
|
||||
.Id = oRow.ItemEx("GUID", 0),
|
||||
.Title = oRow.ItemEx("TITLE", String.Empty),
|
||||
.SearchId = oRow.ItemEx("PROFILE_ID", 0),
|
||||
.ChartPos = GetChartPosType(oRow.ItemEx("POS_ID", 0)),
|
||||
.SQLCommand = oRow.ItemEx("SQL_COMMAND", String.Empty),
|
||||
.ChartType = GetChartType(oRow.ItemEx("CHART_TYPE", String.Empty)),
|
||||
.Argument = oRow.ItemEx("ARGUMENT", String.Empty),
|
||||
.Value = oRow.ItemEx("VALUE", String.Empty)
|
||||
})
|
||||
Next
|
||||
|
||||
ChartParameters = oParameters
|
||||
End Sub
|
||||
|
||||
Private Function GetItemType(pTypeString As String) As ItemTypeEnum
|
||||
Select Case pTypeString
|
||||
Case "LIST"
|
||||
@ -107,6 +130,8 @@ Public Class SearchLoader
|
||||
Return ReturnTypeEnum.Table
|
||||
Case "TreeView"
|
||||
Return ReturnTypeEnum.TreeView
|
||||
Case "ChartView"
|
||||
Return ReturnTypeEnum.ChartView
|
||||
Case Else
|
||||
Return ReturnTypeEnum.Undefined
|
||||
End Select
|
||||
@ -127,6 +152,34 @@ Public Class SearchLoader
|
||||
End Select
|
||||
End Function
|
||||
|
||||
Private Function GetChartType(pTypeString As String) As ChartTypeEnum
|
||||
Select Case pTypeString.ToUpper
|
||||
Case "BAR"
|
||||
Return ChartTypeEnum.Bar
|
||||
Case "AREA"
|
||||
Return ChartTypeEnum.Area
|
||||
Case "LINE"
|
||||
Return ChartTypeEnum.Line
|
||||
Case "PIE"
|
||||
Return ChartTypeEnum.Pie
|
||||
Case Else
|
||||
Return ChartTypeEnum.Undefined
|
||||
End Select
|
||||
End Function
|
||||
|
||||
Private Function GetChartPosType(pPosTypeId As Integer) As ChartPosEnum
|
||||
Select Case pPosTypeId
|
||||
Case 1
|
||||
Return ChartPosEnum.TopLeft
|
||||
Case 2
|
||||
Return ChartPosEnum.TopRight
|
||||
Case 3
|
||||
Return ChartPosEnum.BottomLeft
|
||||
Case 4
|
||||
Return ChartPosEnum.BottomRight
|
||||
Case Else
|
||||
Return ChartPosEnum.Undefined
|
||||
End Select
|
||||
End Function
|
||||
|
||||
End Class
|
||||
|
||||
@ -59,6 +59,18 @@
|
||||
<Reference Include="DevExpress.Utils.v21.2" />
|
||||
<Reference Include="DevExpress.XtraBars.v21.2" />
|
||||
<Reference Include="DevExpress.Sparkline.v21.2.Core" />
|
||||
<Reference Include="DevExpress.XtraCharts.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>D:\ProgramFiles\DevExpress 21.2\Components\Bin\Framework\DevExpress.XtraCharts.v21.2.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="DevExpress.XtraCharts.v21.2.UI, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>D:\ProgramFiles\DevExpress 21.2\Components\Bin\Framework\DevExpress.XtraCharts.v21.2.UI.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="DevExpress.XtraCharts.v21.2.Wizard, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>D:\ProgramFiles\DevExpress 21.2\Components\Bin\Framework\DevExpress.XtraCharts.v21.2.Wizard.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="DevExpress.XtraDialogs.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
|
||||
<Reference Include="DevExpress.XtraEditors.v21.2" />
|
||||
<Reference Include="DevExpress.XtraGrid.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
|
||||
@ -133,6 +145,7 @@
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="ApplicationEvents.vb" />
|
||||
<Compile Include="Data\ChartParameter.vb" />
|
||||
<Compile Include="Data\Config.vb" />
|
||||
<Compile Include="Constants.vb" />
|
||||
<Compile Include="Forms\frmMonitor.Designer.vb">
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user