139 lines
5.0 KiB
Plaintext
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 |