' 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