frm main Load Grid Optimierung
This commit is contained in:
@@ -962,28 +962,30 @@ Public Class frmMain
|
||||
End Sub
|
||||
|
||||
Async Function Load_single_Profile(Optional ForceReload As Boolean = False) As Tasks.Task
|
||||
Dim gridUpdateStarted As Boolean = False
|
||||
Dim viewUpdateStarted As Boolean = False
|
||||
|
||||
Try
|
||||
FRONTEND_ACTION = "Load_single_Profile"
|
||||
Load_Profiles_for_User()
|
||||
GridControlWorkflows_Visible()
|
||||
Dim expression As String
|
||||
expression = "GUID = " & CURRENT_CLICKED_PROFILE_ID
|
||||
Dim TEMP_TABLE = CURR_DT_VWPM_PROFILE_ACTIVE
|
||||
Dim foundRows() As DataRow
|
||||
foundRows = TEMP_TABLE.Select(expression)
|
||||
Dim result = 0
|
||||
For i = 0 To foundRows.GetUpperBound(0)
|
||||
result += 1
|
||||
Next
|
||||
|
||||
If result = 1 Then
|
||||
Dim expression As String = "GUID = " & CURRENT_CLICKED_PROFILE_ID
|
||||
Dim foundRow As DataRow = CURR_DT_VWPM_PROFILE_ACTIVE.Select(expression).FirstOrDefault()
|
||||
If foundRow Is Nothing Then
|
||||
Exit Function
|
||||
End If
|
||||
|
||||
If GridControlWorkflows.Visible Then
|
||||
GridControlWorkflows.BeginUpdate()
|
||||
gridUpdateStarted = True
|
||||
GridViewWorkflows.BeginUpdate()
|
||||
viewUpdateStarted = True
|
||||
End If
|
||||
|
||||
Dim oSQL = foundRows(0)("SQL_VIEW")
|
||||
|
||||
Dim oSQL = foundRow.Item("SQL_VIEW")
|
||||
oSQL = clsPatterns.ReplaceInternalValues(oSQL)
|
||||
oSQL = clsPatterns.ReplaceUserValues(oSQL)
|
||||
|
||||
oSQL = oSQL.Replace("@USER_ID", USER_ID)
|
||||
oSQL = oSQL.Replace("@USERNAME", USER_USERNAME)
|
||||
oSQL = oSQL.Replace("@MACHINE_NAME", System.Environment.MachineName)
|
||||
@@ -991,20 +993,19 @@ Public Class frmMain
|
||||
oSQL = oSQL.Replace("@PROFILE_ID", CURRENT_CLICKED_PROFILE_ID)
|
||||
|
||||
DT_CURR_WF_ITEMS = Await DatabaseFallback.GetDatatableECMAsync(oSQL)
|
||||
If ForceReload = True Then
|
||||
LOGGER.Info("ForceReload is true!")
|
||||
End If
|
||||
If Not IsNothing(DT_CURR_WF_ITEMS) Then
|
||||
Dim oADDED = GET_LAST_ADDED(DT_CURR_WF_ITEMS)
|
||||
Dim oChanged = GET_LAST_CHANGED(DT_CURR_WF_ITEMS)
|
||||
Dim oCOUNT = DT_CURR_WF_ITEMS.Rows.Count
|
||||
If oADDED = OVERVIEW_ADDED_WHEN And oChanged = OVERVIEW_CHANGED_WHEN And OVERVIEW_COUNT = oCOUNT Then
|
||||
If ForceReload = False Then
|
||||
LOGGER.Info("No changes on OverviewHash - so exit Refresh")
|
||||
|
||||
If IsNothing(DT_CURR_WF_ITEMS) Then
|
||||
Exit Function
|
||||
End If
|
||||
|
||||
Else
|
||||
Dim oADDED = GET_LAST_ADDED(DT_CURR_WF_ITEMS)
|
||||
Dim oChanged = GET_LAST_CHANGED(DT_CURR_WF_ITEMS)
|
||||
Dim oCOUNT = DT_CURR_WF_ITEMS.Rows.Count
|
||||
|
||||
If ForceReload = False Then
|
||||
If oADDED = OVERVIEW_ADDED_WHEN And oChanged = OVERVIEW_CHANGED_WHEN And OVERVIEW_COUNT = oCOUNT Then
|
||||
Exit Function
|
||||
End If
|
||||
OVERVIEW_ADDED_WHEN = oADDED
|
||||
OVERVIEW_CHANGED_WHEN = oChanged
|
||||
OVERVIEW_COUNT = oCOUNT
|
||||
@@ -1016,24 +1017,27 @@ Public Class frmMain
|
||||
GridControlWorkflows.Visible = False
|
||||
bindsourcegrid.DataSource = Nothing
|
||||
GridControlWorkflows.DataSource = Nothing
|
||||
Else
|
||||
Exit Function
|
||||
End If
|
||||
|
||||
NO_WORKFLOWITEMS = False
|
||||
|
||||
lblCaptionMainGrid.Text = CURRENT_CLICKED_PROFILE_TITLE
|
||||
End If
|
||||
|
||||
Create_Basic_View()
|
||||
|
||||
RestoreLayout()
|
||||
|
||||
End If
|
||||
|
||||
End If
|
||||
|
||||
Catch ex As Exception
|
||||
LOGGER.Error(ex)
|
||||
LOGGER.Info("Load_single_Profile - Error: " & ex.Message)
|
||||
End Try
|
||||
Finally
|
||||
If viewUpdateStarted Then
|
||||
GridViewWorkflows.EndUpdate()
|
||||
End If
|
||||
If gridUpdateStarted Then
|
||||
GridControlWorkflows.EndUpdate()
|
||||
End If
|
||||
FRONTEND_ACTION = FA_NONE
|
||||
End Try
|
||||
End Function
|
||||
Sub Create_Basic_View()
|
||||
Try
|
||||
@@ -1918,6 +1922,11 @@ Public Class frmMain
|
||||
End Sub
|
||||
Async Function Load_Grid_Overview(pFormLoad As Boolean, pForceReload As Boolean, pNavbarClick As Boolean) As Tasks.Task
|
||||
Dim oStopWatch As New RefreshHelper.SW("Load_Grid_Overview(LGO)")
|
||||
Dim gridUpdateStarted As Boolean = False
|
||||
Dim viewUpdateStarted As Boolean = False
|
||||
Dim layoutRestored As Boolean = False
|
||||
Dim resetLayoutTriggered As Boolean = False
|
||||
|
||||
GridControlWorkflows_Visible()
|
||||
GRID_LOAD_TYPE = "OVERVIEW"
|
||||
CURRENT_CLICKED_PROFILE_ID = 0
|
||||
@@ -1931,22 +1940,25 @@ Public Class frmMain
|
||||
bsiMessage.Caption = "NO PROFILES FOR USER"
|
||||
bsiMessage.ItemAppearance.Normal.BackColor = Color.Red
|
||||
bsiMessage.ItemAppearance.Normal.ForeColor = Color.Black
|
||||
If GridControlWorkflows.Visible = True Then
|
||||
GridControlWorkflows.Visible = False
|
||||
End If
|
||||
oStopWatch.Done()
|
||||
Exit Function
|
||||
End If
|
||||
|
||||
If GridControlWorkflows.Visible Then
|
||||
GridControlWorkflows.BeginUpdate()
|
||||
gridUpdateStarted = True
|
||||
GridViewWorkflows.BeginUpdate()
|
||||
viewUpdateStarted = True
|
||||
End If
|
||||
|
||||
Dim oStopWatch1 As New RefreshHelper.SW("LGO#Load_Profiles_for_User")
|
||||
Load_Profiles_for_User()
|
||||
oStopWatch1.Done()
|
||||
'ClassInit.InitBasics()
|
||||
|
||||
Dim oStopWatch2 As New RefreshHelper.SW("LGO#build CURR_DT_OVERVIEW")
|
||||
Dim oSQLOverview = BASEDATA_DT_CONFIG.Rows(0).Item("SQL_PROFILE_MAIN_VIEW")
|
||||
If IsDBNull(oSQLOverview) Then
|
||||
bsiMessage.Caption = "No SQL_PROFILE_MAIN_VIEW in Baseconfig"
|
||||
oStopWatch.Done()
|
||||
oStopWatch2.Done()
|
||||
Exit Function
|
||||
End If
|
||||
If oSQLOverview.ToString.Contains("GROUP_TEXT") = False Then
|
||||
@@ -1961,15 +1973,12 @@ Public Class frmMain
|
||||
GridViewWorkflows.Columns.Clear()
|
||||
Catch ex As Exception
|
||||
LOGGER.Error(ex)
|
||||
|
||||
End Try
|
||||
|
||||
Exit Function
|
||||
End If
|
||||
|
||||
oSQLOverview = clsPatterns.ReplaceInternalValues(oSQLOverview)
|
||||
oSQLOverview = clsPatterns.ReplaceUserValues(oSQLOverview)
|
||||
|
||||
oSQLOverview = oSQLOverview.Replace("@USER_ID", USER_ID)
|
||||
oSQLOverview = oSQLOverview.Replace("@USERNAME", USER_USERNAME)
|
||||
oSQLOverview = oSQLOverview.Replace("@MACHINE_NAME", System.Environment.MachineName)
|
||||
@@ -1979,35 +1988,37 @@ Public Class frmMain
|
||||
DT_CURR_WF_ITEMS = Await DatabaseFallback.GetDatatableECMAsync(oSQLOverview)
|
||||
oStopWatch2.Done()
|
||||
|
||||
If Not IsNothing(DT_CURR_WF_ITEMS) Then
|
||||
LOGGER.Debug($"Datatable CURR_DT_OVERVIEW loaded: {DT_CURR_WF_ITEMS.Rows.Count} rows")
|
||||
If GridControlWorkflows.Visible = False Then
|
||||
GridControlWorkflows.Visible = True
|
||||
If IsNothing(DT_CURR_WF_ITEMS) Then
|
||||
NO_WORKFLOWITEMS = True
|
||||
GridControlWorkflows.Visible = False
|
||||
GridControlWorkflows.DataSource = Nothing
|
||||
Try
|
||||
GridViewWorkflows.Columns.Clear()
|
||||
Catch ex As Exception
|
||||
LOGGER.Error(ex)
|
||||
End Try
|
||||
Exit Function
|
||||
End If
|
||||
|
||||
LOGGER.Debug($"Datatable CURR_DT_OVERVIEW loaded: {DT_CURR_WF_ITEMS.Rows.Count} rows")
|
||||
|
||||
Dim oADDED = GET_LAST_ADDED(DT_CURR_WF_ITEMS)
|
||||
Dim oChanged = GET_LAST_CHANGED(DT_CURR_WF_ITEMS)
|
||||
Dim oCOUNT = DT_CURR_WF_ITEMS.Rows.Count
|
||||
If pForceReload = False Then
|
||||
If oADDED = OVERVIEW_ADDED_WHEN And oChanged = OVERVIEW_CHANGED_WHEN And oCOUNT = OVERVIEW_COUNT Then
|
||||
If pForceReload = False Then
|
||||
LOGGER.Debug("No changes on OverviewHash - so exit Load_Grid_overview")
|
||||
Exit Function
|
||||
End If
|
||||
Else
|
||||
LOGGER.Info("Differences on OverviewHash")
|
||||
LOGGER.Debug($"oADDED/OVERVIEW_ADDED_WHEN: {oADDED}/{OVERVIEW_ADDED_WHEN}#oADDED/OVERVIEW_ADDED_WHEN: {oChanged}/{OVERVIEW_CHANGED_WHEN}")
|
||||
OVERVIEW_ADDED_WHEN = oADDED
|
||||
OVERVIEW_CHANGED_WHEN = oChanged
|
||||
OVERVIEW_COUNT = oCOUNT
|
||||
End If
|
||||
End If
|
||||
|
||||
NO_WORKFLOWITEMS = False
|
||||
If DT_CURR_WF_ITEMS.Rows.Count = 0 Then
|
||||
NO_WORKFLOWITEMS = True
|
||||
NO_WORKFLOWITEMS = (DT_CURR_WF_ITEMS.Rows.Count = 0)
|
||||
If NO_WORKFLOWITEMS Then
|
||||
lblCaptionMainGrid.Text = String.Format(S.Aktuell_keine_Workflowdaten_vorhanden___0_, "")
|
||||
|
||||
GridControlWorkflows.Visible = False
|
||||
bindsourcegrid.DataSource = Nothing
|
||||
GridControlWorkflows.DataSource = Nothing
|
||||
@@ -2019,16 +2030,15 @@ Public Class frmMain
|
||||
Exit Function
|
||||
End If
|
||||
|
||||
|
||||
GridControlWorkflows.Visible = True
|
||||
If TL_ICON = True Then
|
||||
'Spalte für Status Icon erstellen
|
||||
Dim columnStateIcon As New DataColumn()
|
||||
columnStateIcon.DataType = GetType(Image)
|
||||
columnStateIcon.ColumnName = "ICON"
|
||||
columnStateIcon.Caption = ""
|
||||
If TL_ICON = True AndAlso DT_CURR_WF_ITEMS.Columns.Contains("ICON") = False Then
|
||||
Dim columnStateIcon As New DataColumn() With {
|
||||
.DataType = GetType(Image),
|
||||
.ColumnName = "ICON",
|
||||
.Caption = ""
|
||||
}
|
||||
DT_CURR_WF_ITEMS.Columns.Add(columnStateIcon)
|
||||
End If
|
||||
|
||||
RedDocuments = 0
|
||||
YellowDocuments = 0
|
||||
GreenDocuments = 0
|
||||
@@ -2049,74 +2059,31 @@ Public Class frmMain
|
||||
Next
|
||||
End If
|
||||
|
||||
'If IDB_ACTIVE = True Then
|
||||
' ' Spalte für Conversation erstellen
|
||||
' Dim columnConvIcon As New DataColumn()
|
||||
' columnConvIcon.DataType = GetType(Image)
|
||||
' columnConvIcon.ColumnName = "CONVERSATION"
|
||||
' columnConvIcon.Caption = ""
|
||||
' DT_CURR_WF_ITEMS.Columns.Add(columnConvIcon)
|
||||
' For Each oRow As DataRow In DT_CURR_WF_ITEMS.Rows
|
||||
' Try
|
||||
' Dim oCONVYN As Boolean
|
||||
' Try
|
||||
' oCONVYN = oRow.Item("CONV_YN")
|
||||
' Catch ex As Exception
|
||||
' LOGGER.Warn("Load_Grid_Overview - Column CONV_YN obviously is not part of CURR_DT_OVERVIEW")
|
||||
' Exit For
|
||||
' End Try
|
||||
' Select Case oCONVYN
|
||||
' Case True
|
||||
' oRow.Item("CONVERSATION") = My.Resources.conversation
|
||||
' End Select
|
||||
' Catch ex As Exception
|
||||
' LOGGER.Warn("Load_Grid_Overview - Column CONVERSATION obviously is not part of GridViewWorkflows")
|
||||
' Exit For
|
||||
' End Try
|
||||
|
||||
' Next
|
||||
'End If
|
||||
|
||||
|
||||
bindsourcegrid.DataSource = DT_CURR_WF_ITEMS
|
||||
GridControlWorkflows.DataSource = bindsourcegrid
|
||||
GridControlWorkflows.ForceInitialize()
|
||||
|
||||
Create_View_Caption()
|
||||
Dim oColNotPartofLayout As Boolean
|
||||
oColNotPartofLayout = False
|
||||
'GridControlDocRow.ForceInitialize()
|
||||
' GridControl1.DataSource = CURR_DT_PROFILEGRID
|
||||
'If pFormLoad = True Then
|
||||
' If IDB_ACTIVE = True Then
|
||||
' oColNotPartofLayout = Column_inGridViewLayout("CONV_YN")
|
||||
' End If
|
||||
'End If
|
||||
|
||||
Dim oColNotPartofLayout As Boolean = False
|
||||
If pNavbarClick = False Then
|
||||
If pForceReload = True And (GridLayoutChanged() = True Or oColNotPartofLayout = True) Then
|
||||
'ResetLayout()
|
||||
'SaveGridLayout()
|
||||
LOGGER.Debug("Now GridLayout_Reset..")
|
||||
Await GridLayout_Reset(False)
|
||||
Else
|
||||
If oColNotPartofLayout = False Then
|
||||
resetLayoutTriggered = True
|
||||
ElseIf oColNotPartofLayout = False Then
|
||||
RestoreLayout()
|
||||
End If
|
||||
layoutRestored = True
|
||||
End If
|
||||
Else
|
||||
RestoreLayout()
|
||||
layoutRestored = True
|
||||
End If
|
||||
|
||||
|
||||
Try
|
||||
If pForceReload = True And (GridLayoutChanged() = True Or oColNotPartofLayout = True) Then
|
||||
Create_GroupBy_Parts()
|
||||
COLUMNS_INVISIBLE()
|
||||
End If
|
||||
|
||||
|
||||
|
||||
|
||||
If TL_ICON = True Then
|
||||
Try
|
||||
GridViewWorkflows.Columns.Item("ICON").MaxWidth = 24
|
||||
@@ -2124,60 +2091,23 @@ Public Class frmMain
|
||||
GridViewWorkflows.Columns.Item("ICON").AppearanceCell.BackColor = Color.White
|
||||
GridViewWorkflows.Columns.Item("ICON").Fixed = DevExpress.XtraGrid.Columns.FixedStyle.Left
|
||||
Catch ex As Exception
|
||||
|
||||
End Try
|
||||
|
||||
End If
|
||||
|
||||
|
||||
LOGGER.Debug("GridViewWorkflows.Columns loaded...")
|
||||
Try
|
||||
Dim oReducedColName = LAST_EDITED_COLUMN.Replace("[", "")
|
||||
oReducedColName = oReducedColName.Replace("]", "")
|
||||
'If Not IsNothing(GridViewWorkflows.Columns(oReducedColName)) Then
|
||||
' GridViewWorkflows.Columns(oReducedColName).DisplayFormat.FormatType = FormatType.DateTime
|
||||
' GridViewWorkflows.Columns(oReducedColName).DisplayFormat.FormatString = "dd.MM.yyyy HH:MM:ss"
|
||||
'ElseIf Not IsNothing(GridViewWorkflows.Columns("Zuletzt bearbeitet")) Then
|
||||
' GridViewWorkflows.Columns("Zuletzt bearbeitet").DisplayFormat.FormatType = FormatType.DateTime
|
||||
' GridViewWorkflows.Columns("Zuletzt bearbeitet").DisplayFormat.FormatString = "dd.MM.yyyy HH:MM:ss"
|
||||
'End If
|
||||
|
||||
Catch ex As Exception
|
||||
LOGGER.Warn("(Warning LoadGridOverview)Column [Last edited] or [Zuletzt bearbeitet] not part of OverviewSQL")
|
||||
|
||||
End Try
|
||||
|
||||
LOGGER.Debug("finished Formatting Grid!")
|
||||
Catch ex As Exception
|
||||
LOGGER.Error(ex)
|
||||
LOGGER.Info("Unexpected Error in Formatting Grid: " & ex.Message)
|
||||
End Try
|
||||
If GridViewWorkflows.Columns.Count <= 5 Then
|
||||
LOGGER.Info("GridViewWorkflows.Columns.Count <= 2 - Reset_Gridlayout will be forced...", False)
|
||||
Await Reset_GridLayout(pFormLoad)
|
||||
End If
|
||||
Else
|
||||
NO_WORKFLOWITEMS = True
|
||||
GridControlWorkflows.Visible = False
|
||||
'BindingNavigator1.Dock = DockStyle.None
|
||||
|
||||
|
||||
GridControlWorkflows.DataSource = Nothing
|
||||
|
||||
|
||||
Try
|
||||
GridViewWorkflows.Columns.Clear()
|
||||
Catch ex As Exception
|
||||
LOGGER.Error(ex)
|
||||
End Try
|
||||
resetLayoutTriggered = True
|
||||
End If
|
||||
|
||||
If Not layoutRestored And Not resetLayoutTriggered Then
|
||||
RestoreLayout()
|
||||
End If
|
||||
|
||||
COLUMNS_INVISIBLE()
|
||||
|
||||
Try
|
||||
|
||||
For Each oColumn As DevExpress.XtraGrid.Columns.GridColumn In GridViewWorkflows.Columns
|
||||
|
||||
For Each oRow As DataRow In BASEDATA_TBDD_COLUMNS_FORMAT.Rows
|
||||
Dim colName = oRow("COLUMN_TITLE").ToString()
|
||||
|
||||
@@ -2185,7 +2115,6 @@ Public Class frmMain
|
||||
Dim oSollFormatType = oRow("TYPE2FORMAT").ToString()
|
||||
|
||||
If oSollFormatType = "DateTime" Then
|
||||
|
||||
If oColumn.ColumnType <> GetType(DateTime) Then
|
||||
oColumn.DisplayFormat.FormatType = DevExpress.Utils.FormatType.DateTime
|
||||
End If
|
||||
@@ -2205,11 +2134,17 @@ Public Class frmMain
|
||||
LOGGER.Warn("Fehler beim Anwenden der Formatierung aus TBDD_COLUMNS_FORMAT: " & ex.Message)
|
||||
End Try
|
||||
|
||||
oStopWatch.Done()
|
||||
|
||||
Catch ex As Exception
|
||||
LOGGER.Error(ex)
|
||||
LOGGER.Info("Load_Grid_Overview - Fehler: " & ex.Message)
|
||||
Finally
|
||||
If viewUpdateStarted Then
|
||||
GridViewWorkflows.EndUpdate()
|
||||
End If
|
||||
If gridUpdateStarted Then
|
||||
GridControlWorkflows.EndUpdate()
|
||||
End If
|
||||
oStopWatch.Done()
|
||||
End Try
|
||||
End Function
|
||||
Private Sub tsmiValidationProfil_Click(sender As Object, e As EventArgs) Handles tsmiValidationProfil.Click
|
||||
|
||||
Reference in New Issue
Block a user