While introducing SQL-VIEWs via the HNDSCHOOL.APP and SQLite feature study, we began once again -
since we've spoken on this before
- to notice how much of making ABC browse stuff work in new and more
efficient ways -- especially using DATABASE VIEWS directly
-- is an exercise in ABC Browse workarounds.
The Client Server paradigm as it exists already in the SQL world, is the simplest of all models for
displaying and browsing data, yet with the ABC Browse Template we tend to make it into something
way more complex than it actually is.
In short, the client server data paradigm is as follows: "Send a query to the data base and get back matching data".
No query, no data. Simple.
There are a few corollaries to this, and all of them revolve around having the data base do as much of the work
(eg: filtering, field formatting, field qualifying, and so on)
This SQL client server model sets you up to insert the internet between your app and your database and not see a lot of
degredation in performance. Even in a local app, with a shared data repository, this same approach works wonders.
That bit of background introduces our discussion of CHT ListBoxBrowseExtender
. This template is a HandyMarkerBrowse
look-and-act-alike, but it does not need an ABC browse template underneath it to fill the list box queue.
It just needs a Clarion List Control and some files or DB views to build the browse. For our next release, we've added a procedure
to HNDSCHOOL.APP that builds a browse on an SQL view that we defy you to distinguish from any other ABC based browse
. The next image pictures just such a ListBoxBrowseExtender
Here is the HNDSCHOOL.APP procedure we've built to show you how it's done:
And here's the extension template list for that procedure. Note, no ABC Browse!
The next group of images are ListBoxBrowseExtender
configuration dialogs. They assume that a vanilla Clarion
List Control has been dropped on the window which has fields (columns) populated in it in the same way that you populate fields
(columns) to an ABC browse template.
We're uncertain if you knew this existed, or not, since we've not put much emphasis on it, though there are a couple of demos,
for instance HNDPEOPLELBBX.APP a parallel to HandyMarkerBrowse example, HNDPEOPLEHMB.APP.
You may not also know that our remote-across-the-web Client Server system is built on this template, also.
In that case we've just provided more ancillary templates and a procedure template or two to enhance the
experience of building remote browses for Clarion windows.
Look at, HNDCLIENTCLLEAN4VIEWS.APP (client) and HNDCLIENTSCLEAN4VIEW.APP (Server).
We want to work towards merging the act of browse-building for local data with browse building for the remote data.
Let us know what you think via the CHT Forum.
The Clarion Handy Tools Page