www.icetips.com  Icetips Xplore Documentation 9/11/2011    

Tips & Tricks

Previous  Top   


Bullet Suggestion: to find out exactly what is going on with filters/orders - place two STRING controls on your window called 'Filter' & 'Order' and then in the ThisWindow.TakeEvent Embed (PRIORITY=4000) simply code:

 

Filter = BRW1::View:Browse{PROP:Filter}

Order  = BRW1::View:Browse{PROP:Order}

 

 

There are number of Xplore class properties that can be set to have that little extra control:

 

Xplore1.Graph         = False             !turn off right click graphing capability

Xplore1.PrintView     = False             !turn off right click Print Page capability

Xplore1.PrintPage     = False             !turn off right click Print ALL capability

Xplore1.AsciiFileName = 'C:\dir\what.CSV' !specify path/filename for the output CSV file

Xplore1.HtmlFileName  = 'C:\dir\what.HTM' !specify path/filename HTML file output

Xplore1.MaxFontSize   = 14                !maximum font size used in auto sizing

                                         !of print report

Xplore1.MaxFontSize   = 6                 !minimum font size used in auto sizing

                                         !of print report

etc...

 

Bullet Firing an event (listed in XploreRt.INC) usually from the right click POPUP menu by code - will work, but only if the LIST control has focus.  Because it is possible to have more than one List control (using xPlore) on a Window, a test for focus() is required to pop-up the appropriate “Properties Window”  for the List control in focus, using

 

POST(xpEVENT:PRP)

SELECT(?List)

 

Bullet Embed points are provided where the developer can set a specific filter for all columns depending on which 'Browse Condition' is set.  These include an embed called 'Xplore: Set Column Filter' and one each for 'Conditional Behavior' inherited from the Browse template dialog.

 

As an example: The developer could set on say, the 'Xplore: Set Column Filter' an embed condition of CHOICE(?CurrentTab) = 2 and conditions specify a filter such as: BRW1.SetFilter('CUST:Country=''Canada''')

 

Bullet Each column in Xplore has it's own sort order. Typically, a filter gets applied against the current sort order only.  If you wish to inherit a filter (those specified at runtime filter from QBE) for all Sort Orders, then just issue BRW1.QueryShared = 1 at any embed point after the browse is initiated (e.g. BRW1.INIT).  If you do use this Browse Class property, I would strongly recommend displaying the PROP:Filter on your window, as outlined above.

 

Bullet The new right click menu option to set a filter will apply a filter based on the cell value to the current sort order only if FilterShared = False. However, if FiklterShared = True then th efilter is applied to ALL sort orders, which means that after a filter has been applied, the end-user can re-sort the cuurent view on any column withe filter still applied.

 

Bullet If you choose to the RPM previewer, then you must apply a supplied RPM CODE template called RPM: Indirect Viewer Launch at an Xplore embed point just for that purpose. The embed point text supplies the Queue name to use and you should also specify Landscape mode.

 

Bullet If you have a window that contains a pair of related Parent/Child Browse Boxes and the scrolling of the parent is causing undue delay in displaying the child, then here is what is happening:

 

The scroll of the parent actually applies a different filter for each new line (NewSelection). The child list box then gets re-sorted to create a new dynamic index....for each scroll.

 

Try implementing this:

 

At the NewSelection embed of the Parent LIST:

 

IF BRW2.ViewOrder = True OR BRW2.FileSeqOn = True

  BRW2.ViewOrder = False

  BRW2.FileSeqOn = False

  Xplore2.EraseVisual()

  BRW2.SequenceNbr = 0

END

 

where '2' is the Instance number of the Child BrowseBox.

 

This code tests if there is a non-key sort order on the child Browse Box and if so, sets the non-key sort(s) to OFF, erases the '>Header' indicator, sets the 'current sort column' to null....and then proceeds as normal.

This should speed up parent scrolling considerably.



Direct link to this page: http://www.icetips.com/manuals/xplore/old_tips_tricks.htm