CxGrpNavBar and CxGrpGrid Example

The following is an example using the CxGrpNavBar object and the CxGrpGrid object in CygNet Studio.

For an example using CxGrpGrid with CxFacNavBar, see CxFacNavBar and CxGrpGrid Example.

CxGrpNavBar and CxGrpGrid Example
CxGrpNavBar and CxGrpGrid Example

CygNet Studio Screen Script

Copy
CxGrpNavBar and CxGrpGrid Example
'(Declarations)
 
Dim g_iSelectedLevel
g_iSelectedLevel = 0
 
Sub UpdateUI()
 
    eboLevels.Text = GrpNavBar.X.Levels - 1
     
    If cboLevel.Selection = 0 Then
        eboRules.Text = GrpNavBar.X.RootNodeRules
    Else
        eboRules.Text = GrpNavBar.X.Rules(CInt(cboLevel.GetText(cboLevel.Selection)))
    End If
     
    btnNext.Enable = GrpNavBar.X.CanSelNext(eboLevel.Text, ckbWrap.Value)
    btnPrev.Enable = GrpNavBar.X.CanSelPrev(eboLevel.Text, ckbWrap.Value)
    btnNavNext.Enable = GrpNavBar.X.CanNavNext(ckbNavWrap.Value)
    btnNavPrev.Enable = GrpNavBar.X.CanNavPrev(ckbNavWrap.Value)
 
End Sub
 
Sub ListFilterRules()
 
    lboEnabledRules.ResetContent
    lboDisabledRules.ResetContent
     
    Dim aryEnabled, aryDisabled
     
    If cboLevel.Selection = 0 Then
        GrpNavBar.X.GetRootNodeRuleNames aryEnabled, aryDisabled
    Else
        GrpNavBar.X.GetRuleNames _cboLevel.GetText(cboLevel.Selection), aryEnabled, aryDisabled
    End If
     
    Dim i
    For i = 0 To UBound(aryEnabled)
        lboEnabledRules.AddString aryEnabled(i)
    Next
     
    For i = 0 To UBound(aryDisabled)
        lboDisabledRules.AddString aryDisabled(i)
    Next
 
End Sub
 
'End of (Declarations)
 
'(GlobalDeclarations)
 
'End of (GlobalDeclarations)
 
Sub btnDisableRule_EventClick()
Dim This : Set This = btnDisableRule
 
    If lboEnabledRules.GetCurSel() < 0 Then
        Exit Sub
    End If
     
    If cboLevel.Selection = 0 Then
        GrpNavBar.X.EnableRootNodeRule lboEnabledRules.GetText(lboEnabledRules.GetCurSel()), False
    Else
        GrpNavBar.X.EnableRule CInt(cboLevel.GetText(cboLevel.Selection)), lboEnabledRules.GetText(lboEnabledRules.GetCurSel()), False
    End If
     
    ListFilterRules()
     
    ckbEnableAllFilterRules.Check = 0
 
End Sub 
 
Sub btnEnableRule_EventClick()
Dim This : Set This = btnEnableRule
 
    If lboDisabledRules.GetCurSel() < 0 Then
        Exit Sub
    End If
     
    If cboLevel.Selection = 0 Then
        GrpNavBar.X.EnableRootNodeRule lboDisabledRules.GetText(lboDisabledRules.GetCurSel()), True
    Else
        GrpNavBar.X.EnableRule CInt(cboLevel.GetText(cboLevel.Selection)), lboDisabledRules.GetText(lboDisabledRules.GetCurSel()), True
    End If
     
    ListFilterRules()
 
End Sub 
 
Sub btnNavNext_EventClick()
Dim This : Set This = btnNavNext
 
    Dim iLevel
        iLevel = GrpNavBar.X.NavNext(ckbNavWrap.Value)
    UpdateUI()
     
End Sub 
 
Sub btnNavPrev_EventClick()
Dim This : Set This = btnNavPrev
 
    Dim iLevel
        iLevel = GrpNavBar.X.NavPrev(ckbNavWrap.Value)
    UpdateUI()
 
End Sub 
 
Sub btnNext_EventClick()
Dim This : Set This = btnNext
 
    Dim iRet
        iRet = GrpNavBar.X.SelNext(eboLevel.Text, ckbWrap.Value)
    UpdateUI()
 
End Sub 
 
Sub btnPrev_EventClick()
Dim This : Set This = btnPrev
 
    Dim iRet
        iRet = GrpNavBar.X.SelPrev(eboLevel.Text, True)
    UpdateUI()
 
End Sub 
 
Sub btnSetLevelCnt_EventClick()
Dim This : Set This = btnSetLevelCnt
 
    GrpNavBar.X.Levels = eboLevels.Text
 
End Sub 
 
Sub btnSetRules_EventClick()
Dim This : Set This = btnSetRules
 
    If cboLevel.Selection = 0 Then
        GrpNavBar.X.RootNodeRules = eboRules.Text
    Else
        GrpNavBar.X.Rules(CInt(cboLevel.GetText(cboLevel.Selection))) = eboRules.Text
    End If
     
    ListFilterRules
    UpdateUI
 
End Sub 
 
Sub btnSetSiteService_EventClick()
Dim This : Set This = btnSetSiteService
 
    GrpNavBar.X.SiteService = eboSiteService.Text
    TheView.Restart
 
End Sub 
 
Sub cboLevel_EventChange()
Dim This : Set This = cboLevel
 
    g_iSelectedLevel = cboLevel.Selection
     
    ListFilterRules
    UpdateUI
 
End Sub 
 
Sub cboLevel_EventInitialize()
Dim This : Set This = cboLevel
 
    cboLevel.AddString "Root"
     
    Dim i
    i = 0
    For i = 0 To GrpNavBar.X.Levels
        cboLevel.AddString CStr(i)
    Next
     
    cboLevel.Selection = g_iSelectedLevel
     
    ListFilterRules
    UpdateUI
 
End Sub 
 
Sub ckbEnableAllFilterRules_EventChange()
Dim This : Set This = ckbEnableAllFilterRules
 
    If ckbEnableAllFilterRules.Check = 1 Then
     
    If cboLevel.Selection = 0 Then
        GrpNavBar.X.EnableAllRootNodeRules True
    Else
        GrpNavBar.X.EnableAllRules CInt(cboLevel.GetText(cboLevel.Selection)), True
    End If 
     
    ListFilterRules
End If
 
End Sub 
 
Sub ckbNavWrap_EventChange()
Dim This : Set This = ckbNavWrap

    UpdateUI
 
End Sub 
 
Sub ckbWrap_EventChange()
Dim This : Set This = ckbWrap
 
    UpdateUI
 
End Sub 
 
Sub eboLevel_EventChange()
Dim This : Set This = eboLevel
 
    If eboLevel.Text <> "" Then
        btnNext.Enable = GrpNavBar.X.CanSelNext(eboLevel.Text, ckbWrap.Value)
        btnPrev.Enable = GrpNavBar.X.CanSelPrev(eboLevel.Text, ckbWrap.Value)
    Else
        btnNext.Enable = False
        btnPrev.Enable = False
    End If
 
End Sub 
 
Sub eboLevel_EventInitialize()
Dim This : Set This = eboLevel
 
    eboLevel.Text = GrpNavBar.X.Levels - 1
 
End Sub 
 
Sub eboSiteService_EventInitialize()
Dim This : Set This = eboSiteService
 
    eboSiteService.Text = GrpNavBar.X.SiteService
 
End Sub 
 
Sub GrpNavBar_EventOnSelChangeLevel(Level)
Dim This : Set This = GrpNavBar
 
    cboLevel.Selection = Level + 1
 
    ListfilterRules
 
End Sub 
 
Sub TheView_EventInitialize()
Dim This : Set This = TheView
 
    eboLevel.Text = GrpNavBar.X.Levels - 1
    ckbEnableAllFilterRules.Check 0
 
End Sub 
 
Sub TheView_EventRestarted()
Dim This : Set This = TheView
 
    GrpGrid.X.Restart
 
End Sub

Back to top