Async Loading of Profile Documents and Monitor Data

This commit is contained in:
Jonathan Jenne 2020-10-27 13:46:16 +01:00
parent 3444229697
commit 179c71d667
3 changed files with 74 additions and 52 deletions

View File

@ -1,5 +1,7 @@
Imports System.Data.SqlClient Imports System.Data.SqlClient
Imports Oracle.ManagedDataAccess.Client Imports Oracle.ManagedDataAccess.Client
Imports System.Threading.Tasks
Public Class ClassDatabase Public Class ClassDatabase
Private Shared SQLSERVERConnectionString As String Private Shared SQLSERVERConnectionString As String
Private Shared OracleConnectionString As String Private Shared OracleConnectionString As String
@ -57,7 +59,7 @@ Public Class ClassDatabase
End Try End Try
End Function End Function
Public Shared Function Return_Datatable(pSQLCommand As String, Optional pInfo As String = "") Public Shared Function Return_Datatable(pSQLCommand As String, Optional pInfo As String = "") As DataTable
Try Try
If pInfo <> "" Then If pInfo <> "" Then
pInfo = "[" & pInfo & "]" pInfo = "[" & pInfo & "]"
@ -80,6 +82,13 @@ Public Class ClassDatabase
Return Nothing Return Nothing
End Try End Try
End Function End Function
Public Shared Async Function Return_DatatableAsync(pSQLCommand As String, Optional pInfo As String = "") As Task(Of DataTable)
Return Await Task.Run(Function()
Return Return_Datatable(pSQLCommand, pInfo)
End Function)
End Function
Public Shared Function Return_Datatable_ConId(pSQLCommand As String, ConnID As Integer, Optional pInfo As String = "") Public Shared Function Return_Datatable_ConId(pSQLCommand As String, ConnID As Integer, Optional pInfo As String = "")
Try Try
If pInfo <> "" Then If pInfo <> "" Then

View File

@ -13,7 +13,6 @@ Imports System.Threading
Imports System.ComponentModel Imports System.ComponentModel
Imports System.IO Imports System.IO
Imports System.Drawing.Imaging Imports System.Drawing.Imaging
Imports Microsoft.Office.Interop
Imports DevExpress.XtraPrinting Imports DevExpress.XtraPrinting
Public Class frmMain Public Class frmMain
@ -553,7 +552,7 @@ Public Class frmMain
End Try End Try
oStopWatch.Done() oStopWatch.Done()
End Sub End Sub
Private Sub navBar_LinkClicked(ByVal sender As Object, ByVal e As NavBarLinkEventArgs) Private Async Sub navBar_LinkClicked(ByVal sender As Object, ByVal e As NavBarLinkEventArgs)
' Das aktuelle Layout speichern, bevor das neue geladen wird ' Das aktuelle Layout speichern, bevor das neue geladen wird
' und GRID_LOAD_TYPE gesetzt wird. ' und GRID_LOAD_TYPE gesetzt wird.
SaveGridLayout() SaveGridLayout()
@ -567,7 +566,10 @@ Public Class frmMain
CURRENT_CLICKED_PROFILE_ID = _tag CURRENT_CLICKED_PROFILE_ID = _tag
CURRENT_CLICKED_PROFILE_TITLE = e.Link.Item.Caption CURRENT_CLICKED_PROFILE_TITLE = e.Link.Item.Caption
GRID_LOAD_TYPE = "PROFILE#" & CURRENT_CLICKED_PROFILE_ID.ToString GRID_LOAD_TYPE = "PROFILE#" & CURRENT_CLICKED_PROFILE_ID.ToString
Load_single_Profile()
GridView_Docs.ShowLoadingPanel()
Await Load_single_Profile()
GridView_Docs.HideLoadingPanel()
End If End If
End If End If
@ -602,9 +604,7 @@ Public Class frmMain
End Try End Try
End Sub End Sub
Async Function Load_single_Profile() As Tasks.Task
Sub Load_single_Profile()
Try Try
Load_Profiles_for_User() Load_Profiles_for_User()
Layout_Single_Profile() Layout_Single_Profile()
@ -631,7 +631,9 @@ Public Class frmMain
sql = sql.Replace("@MACHINE_NAME", Environment.MachineName) sql = sql.Replace("@MACHINE_NAME", Environment.MachineName)
sql = sql.Replace("@DATE", Now.ToShortDateString) sql = sql.Replace("@DATE", Now.ToShortDateString)
sql = sql.Replace("@PROFILE_ID", CURRENT_CLICKED_PROFILE_ID) sql = sql.Replace("@PROFILE_ID", CURRENT_CLICKED_PROFILE_ID)
CURR_DT_OVERVIEW = ClassDatabase.Return_Datatable(sql, "Load_single_Profile")
CURR_DT_OVERVIEW = Await ClassDatabase.Return_DatatableAsync(sql, "Load_single_Profile")
If CURR_DT_OVERVIEW.Rows.Count = 0 Then If CURR_DT_OVERVIEW.Rows.Count = 0 Then
NO_WORKFLOWITEMS = True NO_WORKFLOWITEMS = True
Else Else
@ -648,7 +650,7 @@ Public Class frmMain
LOGGER.Info("Load_single_Profile - Error: " & ex.Message) LOGGER.Info("Load_single_Profile - Error: " & ex.Message)
End Try End Try
End Sub End Function
Sub Create_Basic_View() Sub Create_Basic_View()
Try Try
GridControl_Docs.DataSource = Nothing GridControl_Docs.DataSource = Nothing
@ -867,7 +869,7 @@ Public Class frmMain
Me.BringToFront() Me.BringToFront()
Visible = True Visible = True
End Sub End Sub
Private Sub Timer_Tick(sender As System.Object, e As EventArgs) Handles TimerRefresh.Tick Private Async Sub Timer_Tick(sender As System.Object, e As EventArgs) Handles TimerRefresh.Tick
Try Try
If TimerRefresh.Enabled = False Then If TimerRefresh.Enabled = False Then
Exit Sub Exit Sub
@ -907,7 +909,7 @@ Public Class frmMain
LoadNavBar() LoadNavBar()
'bwSync.ReportProgress(60) 'bwSync.ReportProgress(60)
Dim oStopWatch As New RefreshHelper.SW("Decide_Load") Dim oStopWatch As New RefreshHelper.SW("Decide_Load")
Decide_Load(False) Await Decide_Load(False)
oStopWatch.Done() oStopWatch.Done()
'bwSync.ReportProgress(95) 'bwSync.ReportProgress(95)
If USER_LANGUAGE <> "de-DE" Then If USER_LANGUAGE <> "de-DE" Then
@ -935,23 +937,27 @@ Public Class frmMain
Private Sub NotifyIcon1_Click(sender As System.Object, e As EventArgs) Handles NotifyIcon1.Click Private Sub NotifyIcon1_Click(sender As System.Object, e As EventArgs) Handles NotifyIcon1.Click
BringMonitor2Front() BringMonitor2Front()
End Sub End Sub
Private Sub Decide_Load(FormLoad As Boolean) Private Async Function Decide_Load(FormLoad As Boolean) As Tasks.Task
Try Try
GridIsLoaded = False GridIsLoaded = False
If USER_EXISTS = False Then If USER_EXISTS = False Then
Exit Sub Exit Function
End If End If
If TimerRefresh.Enabled = True Then If TimerRefresh.Enabled = True Then
TimerRefresh.Enabled = False TimerRefresh.Enabled = False
End If End If
GridView_Docs.ShowLoadingPanel()
If GRID_LOAD_TYPE = "OVERVIEW" Then If GRID_LOAD_TYPE = "OVERVIEW" Then
Load_Grid_Overview(FormLoad) Await Load_Grid_Overview(FormLoad)
ElseIf GRID_LOAD_TYPE.StartsWith("PROFILE#") Then ElseIf GRID_LOAD_TYPE.StartsWith("PROFILE#") Then
Load_single_Profile() Await Load_single_Profile()
End If End If
GridView_Docs.HideLoadingPanel()
If SHOW_MASS_VALIDATOR = False Then If SHOW_MASS_VALIDATOR = False Then
GridView_Docs.OptionsSelection.MultiSelect = False GridView_Docs.OptionsSelection.MultiSelect = False
GridView_Docs.OptionsSelection.MultiSelectMode = GridMultiSelectMode.RowSelect GridView_Docs.OptionsSelection.MultiSelectMode = GridMultiSelectMode.RowSelect
@ -974,7 +980,7 @@ Public Class frmMain
If TimerRefresh.Enabled = False Then If TimerRefresh.Enabled = False Then
TimerRefresh.Enabled = True TimerRefresh.Enabled = True
End If End If
End Sub End Function
Private Sub ToolStripButton2_Click_2(sender As Object, e As EventArgs) Private Sub ToolStripButton2_Click_2(sender As Object, e As EventArgs)
@ -1326,7 +1332,7 @@ Public Class frmMain
Return False Return False
End Try End Try
End Function End Function
Private Sub tsmiMarkedFilesFinish_Click(sender As Object, e As EventArgs) Handles tsmiMarkedFilesFinish.Click Private Async Sub tsmiMarkedFilesFinish_Click(sender As Object, e As EventArgs) Handles tsmiMarkedFilesFinish.Click
Try Try
Dim oSelectedRows As Integer() = GridView_Docs.GetSelectedRows() Dim oSelectedRows As Integer() = GridView_Docs.GetSelectedRows()
Dim oHitInfo As GridHitInfo = GridView_Docs.CalcHitInfo(GridCursorLocation) Dim oHitInfo As GridHitInfo = GridView_Docs.CalcHitInfo(GridCursorLocation)
@ -1399,7 +1405,7 @@ Public Class frmMain
TimerRefresh.Enabled = False TimerRefresh.Enabled = False
frmMassValidator.ShowDialog() frmMassValidator.ShowDialog()
LoadNavBar() LoadNavBar()
Decide_Load(False) Await Decide_Load(False)
Else Else
If USER_LANGUAGE = "de-DE" Then If USER_LANGUAGE = "de-DE" Then
MsgBox("Massenabschluss konnte nicht ausgeführt werden, weil windream nicht initialisiert werden konnte!", MsgBoxStyle.Critical, "Massenabschluss") MsgBox("Massenabschluss konnte nicht ausgeführt werden, weil windream nicht initialisiert werden konnte!", MsgBoxStyle.Critical, "Massenabschluss")
@ -1416,14 +1422,18 @@ Public Class frmMain
Item_Scope("CMGROUP") Item_Scope("CMGROUP")
End Sub End Sub
Private Sub NavBarItemOverview_LinkClicked(sender As Object, e As NavBarLinkEventArgs) Handles NavBarItemOverview.LinkClicked Private Async Sub NavBarItemOverview_LinkClicked(sender As Object, e As NavBarLinkEventArgs) Handles NavBarItemOverview.LinkClicked
' Das aktuelle Layout speichern, bevor das neue geladen wird ' Das aktuelle Layout speichern, bevor das neue geladen wird
' und GRID_LOAD_TYPE gesetzt wird. ' und GRID_LOAD_TYPE gesetzt wird.
SaveGridLayout() SaveGridLayout()
Load_Grid_Overview(False)
GridView_Docs.ShowLoadingPanel()
Await Load_Grid_Overview(False)
GridView_Docs.HideLoadingPanel()
RefreshHelper.LoadViewInfo() RefreshHelper.LoadViewInfo()
End Sub End Sub
Sub Load_Grid_Overview(FormLoad As Boolean) Async Function Load_Grid_Overview(FormLoad As Boolean) As Tasks.Task
Dim oStopWatch As New RefreshHelper.SW("Load_Grid_Overview(LGO)") Dim oStopWatch As New RefreshHelper.SW("Load_Grid_Overview(LGO)")
Layout_Single_Profile() Layout_Single_Profile()
GRID_LOAD_TYPE = "OVERVIEW" GRID_LOAD_TYPE = "OVERVIEW"
@ -1441,7 +1451,7 @@ Public Class frmMain
NO_WORKFLOWITEMS = True NO_WORKFLOWITEMS = True
bsiMessage.Caption = "Keine Profile für Ihren User hinterlegt" bsiMessage.Caption = "Keine Profile für Ihren User hinterlegt"
oStopWatch.Done() oStopWatch.Done()
Exit Sub Exit Function
End If End If
Dim oStopWatch1 As New RefreshHelper.SW("LGO#Load_Profiles_for_User") Dim oStopWatch1 As New RefreshHelper.SW("LGO#Load_Profiles_for_User")
Load_Profiles_for_User() Load_Profiles_for_User()
@ -1453,7 +1463,7 @@ Public Class frmMain
bsiMessage.Caption = "No GROUP-CONFIG (SQL_PROFILE_MAIN_VIEW) in Baseconfig" bsiMessage.Caption = "No GROUP-CONFIG (SQL_PROFILE_MAIN_VIEW) in Baseconfig"
oStopWatch.Done() oStopWatch.Done()
oStopWatch2.Done() oStopWatch2.Done()
Exit Sub Exit Function
End If End If
oSQLOverview = clsPatterns.ReplaceInternalValues(oSQLOverview) oSQLOverview = clsPatterns.ReplaceInternalValues(oSQLOverview)
@ -1465,11 +1475,9 @@ Public Class frmMain
oSQLOverview = oSQLOverview.Replace("@DATE", Now.ToShortDateString) oSQLOverview = oSQLOverview.Replace("@DATE", Now.ToShortDateString)
oSQLOverview = oSQLOverview.Replace("@PROFILE_ID", CURRENT_CLICKED_PROFILE_ID) oSQLOverview = oSQLOverview.Replace("@PROFILE_ID", CURRENT_CLICKED_PROFILE_ID)
CURR_DT_OVERVIEW = ClassDatabase.Return_Datatable(oSQLOverview, "Load_Grid_Overview") CURR_DT_OVERVIEW = Await ClassDatabase.Return_DatatableAsync(oSQLOverview, "Load_Grid_Overview")
oStopWatch2.Done() oStopWatch2.Done()
If Not IsNothing(CURR_DT_OVERVIEW) Then If Not IsNothing(CURR_DT_OVERVIEW) Then
LOGGER.Debug($"Datatable CURR_DT_OVERVIEW loaded: {CURR_DT_OVERVIEW.Rows.Count} rows") LOGGER.Debug($"Datatable CURR_DT_OVERVIEW loaded: {CURR_DT_OVERVIEW.Rows.Count} rows")
NO_WORKFLOWITEMS = False NO_WORKFLOWITEMS = False
@ -1494,7 +1502,7 @@ Public Class frmMain
End Try End Try
Exit Sub Exit Function
End If End If
BindingNavigator1.Visible = True BindingNavigator1.Visible = True
@ -1661,7 +1669,7 @@ Public Class frmMain
SaveGridLayout() SaveGridLayout()
If GridView_Docs.Columns.Count <= 2 Then If GridView_Docs.Columns.Count <= 2 Then
LOGGER.Info("GridView_Docs.Columns.Count <= 2 - Reset_Gridlayout will be forced...", False) LOGGER.Info("GridView_Docs.Columns.Count <= 2 - Reset_Gridlayout will be forced...", False)
Reset_GridLayout(FormLoad) Await Reset_GridLayout(FormLoad)
End If End If
Else Else
NO_WORKFLOWITEMS = True NO_WORKFLOWITEMS = True
@ -1683,7 +1691,7 @@ Public Class frmMain
LOGGER.Error(ex) LOGGER.Error(ex)
LOGGER.Info("Load_Grid_Overview - Fehler: " & ex.Message) LOGGER.Info("Load_Grid_Overview - Fehler: " & ex.Message)
End Try End Try
End Sub End Function
Private Sub tsmiValidationProfil_Click(sender As Object, e As EventArgs) Handles tsmiValidationProfil.Click Private Sub tsmiValidationProfil_Click(sender As Object, e As EventArgs) Handles tsmiValidationProfil.Click
If CURRENT_CLICKED_PROFILE_ID <> 0 Then If CURRENT_CLICKED_PROFILE_ID <> 0 Then
@ -1695,11 +1703,11 @@ Public Class frmMain
Private Sub TabellenlayoutZurücksetzenToolStripMenuItem_Click_1(sender As Object, e As EventArgs) Handles TabellenlayoutZurücksetzenToolStripMenuItem.Click Private Async Sub TabellenlayoutZurücksetzenToolStripMenuItem_Click_1(sender As Object, e As EventArgs) Handles TabellenlayoutZurücksetzenToolStripMenuItem.Click
Reset_GridLayout(False) Await Reset_GridLayout(False)
End Sub End Sub
Sub Reset_GridLayout(FormLoad As Boolean) Async Function Reset_GridLayout(FormLoad As Boolean) As Tasks.Task
If GridControl_Docs.Visible = True And FormOpenClose = False Then RefreshHelper.SaveViewInfo() If GridControl_Docs.Visible = True And FormOpenClose = False Then RefreshHelper.SaveViewInfo()
InResetlayout = True InResetlayout = True
' Layout zurücksetzen ' Layout zurücksetzen
@ -1708,10 +1716,10 @@ Public Class frmMain
' Ansicht neu laden ' Ansicht neu laden
LoadNavBar() LoadNavBar()
Decide_Load(FormLoad) Await Decide_Load(FormLoad)
InResetlayout = False InResetlayout = False
RefreshHelper.LoadViewInfo() RefreshHelper.LoadViewInfo()
End Sub End Function
Private Sub GridView_Docs_DoubleClick(sender As Object, e As EventArgs) Handles GridView_Docs.DoubleClick Private Sub GridView_Docs_DoubleClick(sender As Object, e As EventArgs) Handles GridView_Docs.DoubleClick
Item_Scope("DOUBLECLICK") Item_Scope("DOUBLECLICK")
@ -1874,11 +1882,7 @@ Public Class frmMain
End Try End Try
oStopWatch.Done() oStopWatch.Done()
End Sub End Sub
Private Sub frmMain_Shown(sender As Object, e As EventArgs) Handles Me.Shown Private Async Sub frmMain_Shown(sender As Object, e As EventArgs) Handles Me.Shown
Decide_Load(True)
Handling_DEBUG_USER()
If RIBBON_COLOR_SCHEME = "BLUE" Then If RIBBON_COLOR_SCHEME = "BLUE" Then
RibbonControl1.ColorScheme = DevExpress.XtraBars.Ribbon.RibbonControlColorScheme.Blue RibbonControl1.ColorScheme = DevExpress.XtraBars.Ribbon.RibbonControlColorScheme.Blue
ElseIf RIBBON_COLOR_SCHEME = "DarkBlue".ToUpper Then ElseIf RIBBON_COLOR_SCHEME = "DarkBlue".ToUpper Then
@ -1899,6 +1903,9 @@ Public Class frmMain
LOGGER.Debug($" RibbonControl1.ColorScheme [{RIBBON_COLOR_SCHEME}]") LOGGER.Debug($" RibbonControl1.ColorScheme [{RIBBON_COLOR_SCHEME}]")
Me.Text = ADDITIONAL_TITLE Me.Text = ADDITIONAL_TITLE
CurrNavBarGroup = NavBarControl1.Groups(1) CurrNavBarGroup = NavBarControl1.Groups(1)
Await Decide_Load(True)
Handling_DEBUG_USER()
End Sub End Sub
Sub Handling_DEBUG_USER() Sub Handling_DEBUG_USER()
If USER_DEBUG_LOG = True Then If USER_DEBUG_LOG = True Then
@ -2004,14 +2011,14 @@ Public Class frmMain
End Sub End Sub
Private Sub bbtniRefresh_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles bbtniRefresh.ItemClick Private Async Sub bbtniRefresh_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles bbtniRefresh.ItemClick
If GridControl_Docs.Visible = True And FormOpenClose = False Then If GridControl_Docs.Visible = True And FormOpenClose = False Then
RefreshHelper.SaveViewInfo() RefreshHelper.SaveViewInfo()
SaveGridLayout() SaveGridLayout()
End If End If
LoadNavBar() LoadNavBar()
Decide_Load(False) Await Decide_Load(False)
If GridControl_Docs.Visible = True And FormOpenClose = False Then RefreshHelper.LoadViewInfo() If GridControl_Docs.Visible = True And FormOpenClose = False Then RefreshHelper.LoadViewInfo()
End Sub End Sub
@ -2165,7 +2172,7 @@ Public Class frmMain
End If End If
End Sub End Sub
Private Sub BarButtonItem2_ItemClick_1(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles bbtnitmGhostMode.ItemClick Private Async Sub BarButtonItem2_ItemClick_1(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles bbtnitmGhostMode.ItemClick
frmGhostMode.ShowDialog() frmGhostMode.ShowDialog()
If USER_GHOST_MODE_ACTIVE = True And USER_GHOST_MODE_USRNAME <> String.Empty Then If USER_GHOST_MODE_ACTIVE = True And USER_GHOST_MODE_USRNAME <> String.Empty Then
LOGGER.Info($"GHOST MODE for User {USER_GHOST_MODE_USRNAME} will now be initialized!") LOGGER.Info($"GHOST MODE for User {USER_GHOST_MODE_USRNAME} will now be initialized!")
@ -2177,7 +2184,7 @@ Public Class frmMain
_Init.InitBasics2() _Init.InitBasics2()
GetBaseData("Load") GetBaseData("Load")
LoadNavBar() LoadNavBar()
Decide_Load(False) Await Decide_Load(False)
If GridControl_Docs.Visible = True And FormOpenClose = False Then RefreshHelper.LoadViewInfo() If GridControl_Docs.Visible = True And FormOpenClose = False Then RefreshHelper.LoadViewInfo()
End If End If
End Sub End Sub
@ -2198,13 +2205,13 @@ Public Class frmMain
End Sub End Sub
Private Sub BarButtonItem2_ItemClick_2(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonItem2.ItemClick Private Async Sub BarButtonItem2_ItemClick_2(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonItem2.ItemClick
USER_GHOST_MODE_ACTIVE = False USER_GHOST_MODE_ACTIVE = False
USER_GHOST_MODE_USRNAME = String.Empty USER_GHOST_MODE_USRNAME = String.Empty
BarButtonItem2.Visibility = DevExpress.XtraBars.BarItemVisibility.Never BarButtonItem2.Visibility = DevExpress.XtraBars.BarItemVisibility.Never
_Init.InitUserLogin() _Init.InitUserLogin()
LoadNavBar() LoadNavBar()
Decide_Load(False) Await Decide_Load(False)
If GridControl_Docs.Visible = True And FormOpenClose = False Then RefreshHelper.LoadViewInfo() If GridControl_Docs.Visible = True And FormOpenClose = False Then RefreshHelper.LoadViewInfo()
End Sub End Sub

View File

@ -134,9 +134,12 @@ Public Class frmMonitor
MsgBox(ex.Message, MsgBoxStyle.Critical, "Error in LoadDoc:") MsgBox(ex.Message, MsgBoxStyle.Critical, "Error in LoadDoc:")
End Try End Try
End Sub End Sub
Private Sub frmMonitor_Load(sender As Object, e As EventArgs) Handles Me.Load Private Async Sub frmMonitor_Load(sender As Object, e As EventArgs) Handles Me.Load
SplitContainerControlMain.Collapsed = True SplitContainerControlMain.Collapsed = True
Load_Grid_Data()
GridView1.ShowLoadingPanel()
Await Load_Grid_Data()
GridView1.HideLoadingPanel()
Select Case DT_MONITOR_KONFIG.Rows.Count Select Case DT_MONITOR_KONFIG.Rows.Count
Case 2 Case 2
@ -164,7 +167,7 @@ Public Class frmMonitor
LOGGER.Error(ex) LOGGER.Error(ex)
End Try End Try
End Sub End Sub
Sub Load_Grid_Data() Async Function Load_Grid_Data() As Threading.Tasks.Task
Try Try
FormShown = False FormShown = False
Dim oSQL = "SELECT * FROM TBPM_MONITOR_KONFIG" Dim oSQL = "SELECT * FROM TBPM_MONITOR_KONFIG"
@ -173,7 +176,7 @@ Public Class frmMonitor
If DT_MONITOR_KONFIG.Rows.Count >= 1 Then If DT_MONITOR_KONFIG.Rows.Count >= 1 Then
oSQL = DT_MONITOR_KONFIG.Rows(0).Item("GRID_SQL") oSQL = DT_MONITOR_KONFIG.Rows(0).Item("GRID_SQL")
GridView1.Columns.Clear() GridView1.Columns.Clear()
Dim oDTGRID1 As DataTable = ClassDatabase.Return_Datatable(oSQL, "Monitor-Load_Grid_Data2") Dim oDTGRID1 As DataTable = Await ClassDatabase.Return_DatatableAsync(oSQL, "Monitor-Load_Grid_Data2")
GridControl1.DataSource = oDTGRID1 GridControl1.DataSource = oDTGRID1
GRID1_TITLE = DT_MONITOR_KONFIG.Rows(0).Item("GRID_TITLE") GRID1_TITLE = DT_MONITOR_KONFIG.Rows(0).Item("GRID_TITLE")
@ -216,7 +219,7 @@ Public Class frmMonitor
Catch ex As Exception Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.Critical, "Error in Load_Grid_Data:") MsgBox(ex.Message, MsgBoxStyle.Critical, "Error in Load_Grid_Data:")
End Try End Try
End Sub End Function
Sub LoadGrid1Layout() Sub LoadGrid1Layout()
Try Try
Dim Filename As String = String.Format("DevExpressGridViewMonitor_UserLayout_Grid1.xml") Dim Filename As String = String.Format("DevExpressGridViewMonitor_UserLayout_Grid1.xml")
@ -464,7 +467,7 @@ Public Class frmMonitor
End Sub End Sub
Private Sub BarButtonItem4_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonItem4.ItemClick Private Async Sub BarButtonItem4_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonItem4.ItemClick
Select Case DT_MONITOR_KONFIG.Rows.Count Select Case DT_MONITOR_KONFIG.Rows.Count
Case 2 Case 2
RemoveLayout() RemoveLayout()
@ -479,6 +482,9 @@ Public Class frmMonitor
RemoveLayout3() RemoveLayout3()
RemoveLayout4() RemoveLayout4()
End Select End Select
Load_Grid_Data()
GridView1.ShowLoadingPanel()
Await Load_Grid_Data()
GridView1.HideLoadingPanel()
End Sub End Sub
End Class End Class