8
0
2024-01-24 16:42:38 +01:00

139 lines
5.0 KiB
Plaintext

' SwitchDuplicateChecker_TableContent
' ----------------------------------------------------------------------------
' Diese Subroutine läd Daten beim Zeilenwechel im Grid und zeigt diese ggf. an.
' Parameter 1 (LEVEL) = Das aktuelle Showlevel übergeben.
' Parameter 2 (GRID) = Falls mehrere Grids auf einem Level vorkommen, kann über diesen Parameter nochmals unterscheiden werden.
' Parameter 3 (UPDATE) = Falls vor dem Wechsel eine Prüfung auf geänderte Daten durchgeführt werden soll.
'
' ----------------------------------------------------------------------------
' Copyright (c) 2021 by Digital Data GmbH
'
' Digital Data GmbH • Ludwig-Rinn-Strasse 16 • D-35452 Heuchelheim
' Tel.: 0641/202360 • E-Mail: info-flow@digitaldata.works
' ----------------------------------------------------------------------------
' Creation Date / Author: 01.11.2021 / MK
' Version Date / Editor: 01.11.2021 / MK
' Version Number: 1.0.0.0
Sub SwitchDuplicateChecker_TableContent(LEVEL,GRID,UPDATE)
'Set global var to prevent focus change -> "rumflackern"
PREVENT_FOCUS_CHANGE = True
If (LEVEL = 1) or (LEVEL = "1") Then
If (GRID = LEVEL1_GRID1_ID) Then
LEVEL1_GRID1.GetCurrentCell CURRENT_ROW, CURRENT_COLUMN
LEVEL1_GRID1SelectedLines = LEVEL1_GRID1.SelectedLines
If isarray (LEVEL1_GRID1SelectedLines) Then
If Ubound(LEVEL1_GRID1SelectedLines) = 0 Then
LEVEL1_GRID1_CURRENT_ROW = LEVEL1_GRID1SelectedLines(0)
LEVEL1_GRID1_CURRENT_GUID = LEVEL1_GRID1.GetCellValue(CURRENT_ROW,LEVEL1_GRID1_COLUMN_GUID)
LEVEL1_GRID1_CURRENT_COUNT = LEVEL1_GRID1.GetCellValue(CURRENT_ROW,LEVEL1_GRID1_COLUMN_COUNT)
LEVEL1_GRID1_CURRENT_FIELD_OR_ATTRIBUTE = LEVEL1_GRID1.GetCellValue(CURRENT_ROW,LEVEL1_GRID1_COLUMN_FIELD_OR_ATTRIBUTE)
If (DEBUG_ON = True) Or (DebugMode = "Enabled") Then
msgbox "CURRENT_ROW: " & LEVEL1_GRID1_CURRENT_ROW & vbCrlf & _
"CURRENT_COUNT: " & LEVEL1_GRID1_CURRENT_COUNT & vbCrlf & _
"CURRENT_FIELD_OR_ATTRIBUTE: " & LEVEL1_GRID1_CURRENT_FIELD_OR_ATTRIBUTE & vbCrlf & _
"",vbOkayonly+vbInformation, DEBUG_TITLE & "SwitchDuplicateChecker_TableContent"
End If
If (LEVEL1_GRID1_CURRENT_COUNT > 0) Then
'Okay then fill right grid
SetDuplicateChecker_TableContent CURRENT_LEVEL,LEVEL1_GRID2_ID
End If
Else
'Important in this case, to set these vars to 0 at first
LEVEL1_GRID1_CURRENT_ROW = 0
LEVEL1_GRID1_CURRENT_COUNT = 0
LEVEL1_GRID1_CURRENT_FIELD_OR_ATTRIBUTE = 0
'Clear child grid
LEVEL1_Grid2.IsRedraw = False
LEVEL1_Grid2.Clear
LEVEL1_Grid2.InitUserGrid
LEVEL1_Grid2.Header
CWLCurrentWindow.ActiveWindow.Vars.Value(495,20) = ""
LEVEL1_Grid2.SetFooterColumn LEVEL1_GRID2_COLUMN_PRODUCT_DESCRIPTION,"T21,Z10,L30,H10,Zeilenzähler","l","V",0,495,20,true
LEVEL1_Grid2.Footer
LEVEL1_Grid2.IsRedraw = True
End If
End If
End If
'--------------------------------------------------------------------------------------------------------------------------------------------
ElseIf (LEVEL = 2) or (LEVEL = "2") Then
If (GRID = LEVEL2_GRID1_ID) Then
LEVEL2_GRID1.GetCurrentCell CURRENT_ROW, CURRENT_COLUMN
LEVEL2_GRID1SelectedLines = LEVEL2_GRID1.SelectedLines
If isarray (LEVEL2_GRID1SelectedLines) Then
If Ubound(LEVEL2_GRID1SelectedLines) = 0 Then
LEVEL2_GRID1_CURRENT_ROW = LEVEL2_GRID1SelectedLines(0)
LEVEL2_GRID1_CURRENT_GUID = LEVEL2_GRID1.GetCellValue(CURRENT_ROW,LEVEL1_GRID1_COLUMN_GUID)
LEVEL2_GRID1_CURRENT_COUNT = LEVEL2_GRID1.GetCellValue(CURRENT_ROW,LEVEL2_GRID1_COLUMN_COUNT)
LEVEL2_GRID1_CURRENT_FIELD_OR_ATTRIBUTE = LEVEL2_GRID1.GetCellValue(CURRENT_ROW,LEVEL2_GRID1_COLUMN_FIELD_OR_ATTRIBUTE)
If (DEBUG_ON = True) Or (DebugMode = "Enabled") Then
msgbox "CURRENT_ROW: " & LEVEL2_GRID1_CURRENT_ROW & vbCrlf & _
"CURRENT_COUNT: " & LEVEL2_GRID1_CURRENT_COUNT & vbCrlf & _
"CURRENT_FIELD_OR_ATTRIBUTE: " & LEVEL2_GRID1_CURRENT_FIELD_OR_ATTRIBUTE & vbCrlf & _
"",vbOkayonly+vbInformation, DEBUG_TITLE & "SwitchDuplicateChecker_TableContent"
End If
If (LEVEL2_GRID1_CURRENT_COUNT > 0) Then
'Okay then fill right grid
SetDuplicateChecker_TableContent CURRENT_LEVEL,LEVEL2_GRID2_ID
End If
Else
'Important in this case, to set these vars to 0 at first
LEVEL2_GRID1_CURRENT_ROW = 0
LEVEL2_GRID1_CURRENT_COUNT = 0
LEVEL2_GRID1_CURRENT_FIELD_OR_ATTRIBUTE = 0
'Clear child grid
LEVEL2_Grid2.IsRedraw = False
LEVEL2_Grid2.Clear
LEVEL2_Grid2.InitUserGrid
LEVEL2_Grid2.Header
CWLCurrentWindow.ActiveWindow.Vars.Value(495,50) = ""
LEVEL2_Grid2.SetFooterColumn LEVEL2_GRID2_COLUMN_ACCOUNT_DESCRIPTION,"T21,Z10,L30,H10,Zeilenzähler","l","V",0,495,50,true
LEVEL2_Grid2.Footer
LEVEL2_Grid2.IsRedraw = True
End If
End If
End If
End if
PREVENT_FOCUS_CHANGE = False
End Sub