CxGrpGrid and FacNavBar Example
The following is an example using the CxHmiGrp CxGrpGrid object and the CxHmiFac FacNavBar object in CygNet Studio. See FacNavBar_GrpGrid.csf found in the APPS SCREXAMP folder.
For an example using CxGrpGrid with CxGrpNavBar, see CxGrpNavBar and CxGrpGrid Example.
|
| CxGrpGrid and FacNavBar Example |
CygNet Studio Screen Script
Copy
CxGrpGrid and FacNavBar Example
'(Declarations)
Sub UpdateUI()
eboLevels.Text = FacNavBar.X.Levels - 1
eboInitialFilter.Text = FacNavBar.X.InitialFilter
If FacNavBar.X.RuntimeCfgAutoPersist Then
ckbRTimeCfgAutoPersist.Check = 1
Else
ckbRTimeCfgAutoPersist.Check = 0
End If
btnNext.Enable = FacNavBar.X.CanSelNext(eboLevel.Text, ckbWrap.Value)
btnPrev.Enable = FacNavBar.X.CanSelPrev(eboLevel.Text, ckbWrap.Value)
btnNavNext.Enable = FacNavBar.X.CanNavNext(ckbNavWrap.Value)
btnNavPrev.Enable = FacNavBar.X.CanNavPrev(ckbNavWrap.Value)
End Sub
Sub LoadGrid()
Dim arrUdcList
Dim iLowerBound
Dim iUpperBound
Dim strFacTag
Dim strUis
strUis = FacNavBar.X.SiteService
strFacTag = FacNavBar.X.GetSelectedTargetFacTag()
If strUis = "" Then
msgbox "Set the Site.Service"
Exit Sub
End If
If strFacTag = "" Then
msgbox "Invalid FacilityTag (" + strFacTag + ")"
Exit Sub
End If
Dim aryFacTag, strFacility
aryFacTag = Split(strFacTag, "::")
strFacility = aryFacTag(1)
'
' Get the udc list for this facility.
'
GetUdcList strFacTag, arrUdcList
iLowerBound = 0
iUpperBound = ubound(arrUdcList)
'
' Load up the grid rows/columns
'
Dim i, j, itemid
CxGrpGrid.x.Stop
CxGrpGrid.x.ClearRows
CxGrpGrid.x.ClearColumns
CxGrpGrid.x.Columns = 4
For j=0 To 3
CxGrpGrid.x.ColSiteService(j) = strUis
CxGrpGrid.x.ColFacility(j) = strFacility
Next
CxGrpGrid.x.ColLabelText(0) = "Description"
CxGrpGrid.x.ColDisplayItem(0) = 10007
CxGrpGrid.x.ColLabelText(1) = "Value"
CxGrpGrid.x.ColDisplayItem(1) = 10001
CxGrpGrid.x.ColLabelText(2) = "Units"
CxGrpGrid.x.ColDisplayItem(2) = 10008
CxGrpGrid.x.ColLabelText(3) = "Time"
CxGrpGrid.x.ColDisplayItem(3) = 10002
For i=iLowerBound To iUpperBound
CxGrpGrid.x.RowUdc(i) = arrUdcList(i)
CxGrpGrid.x.RowLabelText(i) = CxGrpGrid.x.RowUdc(i)
Next
CxGrpGrid.x.Start
End Sub
Sub ListInitialFilterRules()
lboEnabledRules.ResetContent
lboDisabledRules.ResetContent
Dim aryEnabledRules, aryDisabledRules
FacNavBar.X.GetInitialFilterRuleNames aryEnabledRules, aryDisabledRules
Dim i
For i = 0 To UBound(aryEnabledRules)
lboEnabledRules.AddString(aryEnabledRules(i))
Next
For i = 0 To UBound(aryDisabledRules)
lboDisabledRules.AddString(aryDisabledRules(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
FacNavBar.X.EnableInitialFilterRule lboEnabledRules.GetText(lboEnabledRules.GetCurSel()), False
ListInitialFilterRules()
ckbEnableAllInitialFilterRules.Check = 2
End Sub
Sub btnEnableRule_EventClick()
Dim This : Set This = btnEnableRule
If lboDisabledRules.GetCurSel() < 0 Then
Exit Sub
End If
FacNavBar.X.EnableInitialFilterRule lboDisabledRules.GetText(lboDisabledRules.GetCurSel()), True
ListInitialFilterRules()
ckbEnableAllInitialFilterRules.Check = 2
End Sub
Sub btnNavNext_EventClick()
Dim This : Set This = btnNavNext
Dim iLevel
iLevel = FacNavBar.X.NavNext(ckbNavWrap.Value)
UpdateUI()
LoadGrid()
End Sub
Sub btnNavPrev_EventClick()
Dim This : Set This = btnNavPrev
Dim iLevel
iLevel = FacNavBar.X.NavPrev(ckbNavWrap.Value)
UpdateUI()
LoadGrid()
End Sub
Sub btnNext_EventClick()
Dim This : Set This = btnNext
Dim iRet
iRet = FacNavBar.X.SelNext(eboLevel.Text, ckbWrap.Value)
UpdateUI()
LoadGrid()
End Sub
Sub btnPersistRTimeCfg_EventClick()
Dim This : Set This = btnPersistRTimeCfg
FacNavBar.X.PersistRunTimeCfg
End Sub
Sub btnPrev_EventClick()
Dim This : Set This = btnPrev
Dim iRet
iRet = FacNavBar.X.SelPrev(eboLevel.Text, True)
UpdateUI()
LoadGrid()
End Sub
Sub btnRestoreDTimeCfg_EventClick()
Dim This : Set This = btnRestoreDTimeCfg
FacNavBar.X.RestoreDesignTimeCfg
UpdateUI()
ListInitialFilterRules()
LoadGrid()
End Sub
Sub btnRestoreRTimeCfg_EventClick()
Dim This : Set This = btnRestoreRTimeCfg
FacNavBar.X.RestoreRunTimeCfg()
UpdateUI()
ListInitialFilterRules()
LoadGrid()
End Sub
Sub btnSetInitialFilter_EventClick()
Dim This : Set This = btnSetInitialFilter
FacNavBar.X.InitialFilter = eboInitialFilter.Text
UpdateUI()
ListInitialFilterRules()
End Sub
Sub btnSetLevelCnt_EventClick()
Dim This : Set This = btnSetLevelCnt
FacNavBar.X.Levels = eboLevels.Text
End Sub
Sub btnSetSiteService_EventClick()
Dim This : Set This = btnSetSiteService
TheView.SiteService = eboSiteService.Text
TheView.Restart
End Sub
Sub ckbEnableAllInitialFilterRules_EventChange()
Dim This : Set This = ckbEnableAllInitialFilterRules
If ckbEnableAllInitialFilterRules.Check <> 2 Then
FacNavBar.X.EnableAllInitialFilterRules ckbEnableAllInitialFilterRules.Check()
ListInitialFilterRules()
End If
End Sub
Sub ckbNavWrap_EventChange()
Dim This : Set This = ckbNavWrap
UpdateUI()
End Sub
Sub ckbRTimeCfgAutoPersist_EventChange()
Dim This : Set This = ckbRTimeCfgAutoPersist
FacNavBar.X.RuntimeCfgAutoPersist = ckbRTimeCfgAutoPersist.Check
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 = FacNavBar.X.CanSelNext(eboLevel.Text, ckbWrap.Value)
btnPrev.Enable = FacNavBar.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 = FacNavBar.X.Levels - 1
End Sub
Sub eboSiteService_EventInitialize()
Dim This : Set This = eboSiteService
eboSiteService.Text = TheView.SiteService
End Sub
Sub FacNavBar_EventInitialize()
Dim This : Set This = FacNavBar
UpdateUI()
End Sub
Sub FacNavBar_EventOnSelChangeLevel(Level)
Dim This : Set This = FacNavBar
LoadGrid()
End Sub
Sub TheView_EventInitialize()
Dim This : Set This = TheView
FacNavBar.X.SiteService = TheView.SiteService
ckbEnableAllInitialFilterRules.Check 0
ListInitialFilterRules()
LoadGrid()
End Sub
Sub TheView_EventRestarted()
Dim This : Set This = TheView
FacNavBar.X.SiteService = TheView.SiteService
eboSiteService.Text = TheView.SiteService
ListInitialFilterRules()
LoadGrid()
End Sub


