Scripting > CxHmiGrp > CxGrpGrid Object > CxGrpGrid and FacNavBar Example

CxGrpGrid and FacNavBar Example

The following is an example using the CxHmiGrp CxGrpGrid object and the CxHmiFac FacNavBar object in CygNet Studio. For an example using CxGrpGrid with CxGrpNavBar, see CxGrpNavBar and CxGrpGrid Example.

CxGrpGrid and FacNavBar Example
CxGrpGrid and FacNavBar Example

Script File

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

Back to top

Let us know how we can improve this topic.

CygNet at weatherford.com

© 2020 Weatherford. All rights reserved.