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 |
|
'(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 |