GetNavigateData - cWebView

Gets the tWebNavigateData for the view

Type: Function

Return Data Type: tWebNavigateData

Parameters: None

Return Value

Function GetNavigateData Returns tWebNavigateData

Call: Get GetNavigateData to tWebNavigateDataVariable


GetNavigateData returns the current tWebNavigate data for view by accessing a private web property. Often, this data will be passed into the event or method you are augmenting. If it is not, the data must be accessed using GetNavigateData.

Any time the tWebNavigateData data is passed into a method or event you are augmenting, you should use that passed data and not by calling GetNavigateData. Those methods are OnGetNavigateBackData, OnGetNavigateForwardData, OnNavigateBack, OnNavigateForward and OnNavigateForwardPreFindInit.

You can use SetNavigateData to store this changed data.

GetNavigateData will often be used in select views to determine how the OnRowClick of a cWebList should respond. A developer must get the NavigateData, analyze the data and make decisions based on this.

Procedure OnRowClick String sRowID
    tWebNavigateData NavigateData
    String sTask
    Boolean bFound
    Get GetNavigateData to NavigateData
    Case Begin
        Case (NavigateData.eNavigateType=nfFromChild)
        Case (NavigateData.eNavigateType=nfFromMain)
            // a child or main lookup 
            Send NavigateClose Self
            Case Break
        Case (NavigateData.eNavigateType=nfFromParent)
            // not used yet
            Case Break
        Case Else
            Get NamedValueGet NavigateData.NamedValues "task" to sTask
            If (sTask="maint") Begin
                Send NavigateForward to oZoomCustomer Self
            Else Begin
                Register_Object oSelectOrder
                Send NavigateForward to oSelectOrder Self
    Case End

In views, GetNavigateData might be used to determine how action menu items should behave. Zoom views will often have code similar to this:

Procedure SetActionButtons
    String sCaption
    Integer iMode
    tWebNavigateData NavigateData
    Get GetNavigateData to NavigateData
    Move NavigateData.eNavigateType to iMode

    WebSet pbRender of oEditBtn to False 
    WebSet pbRender of oSaveBtn to False

    If (iMode= nfFromMain or iMode=nfFromChild) Begin
        If (NavigateData.bReadOnly) Begin 
            WebSet pbRender of oEditBtn to True 
        Else Begin
            WebSet pbRender of oSaveBtn to True

While you may use the data in the tWebNavigateData.eNavigateType struct member array directly, you are encouraged to use the NamedValueAdd and NamedValueGet interfaces defined in the cWebObject class.