A small Base-Demo (dependent on vbRichClient5), to show how a seemingly complex,
hierarchical Control can be implemented with only two Base-Widgets.
The visual appearance is quite similar to the jQuery-based implementation here:
http://mistic100.github.io/jQuery-QueryBuilder/
But the Codebase is much smaller (about 250 lines currently, whereas the jQuery-
implementation is about 1700 lines ... when fully completed with the yet missing ComboBoxes
and Field-Value-Widgets, I guess that the VB6-version will end up with about 550 lines).
Here's a ScreenShot what it currently looks like:
![]()
- cwQueryGroup (about 160 lines of code - this is the red-bordered Widget with the Buttons)
- cwQueryRule (about 70 lines of code - this is the "Stripe-Widget" with the green Border)
What remains is now only the introducion of 2 cwDropDown-Widgets (one for the FieldNames
and one for the logic-Operators) - and a Handler-Widget for the comparison-value -
which in the simplest case could be a cwTextBox) - the Demo as it currently is, depends only
on RC5 (to make it easier for a first fast test) - the just mentioned additional Widgets for the
Field-Comparison-Logic are located in vbWidgets.dll, which is available as a Zip-Download on:
http://vbrichclient.com/#/en/Downloads.htm
(3rd section - Zip-Download from the GitHub-Repo).
Let me know when there's interest, to complete the current Base-implementation (e.g. later handing over
the Field-List and Field-Types of an ADO- or SQLite-Recordset, then dynamically creating the DropDown-Contents
and dynamically adding the appropriate Field-Value-Input-Widgets, which are matching the selected Fields Type)...
I could help with suggestions and code-snippets, where to plug the missing functionality in, and with
general "how-to-do-RC5-Widgets"... :)
Here's the Download for the Demo-Code:
QueryDesigner.zip
Hoping this Base-Implemenation is nice and encouraging enough for others, to complete what was
started here - (the Demo already does the nested Tree-Rendering, adding, removing, MouseHovering,
and MouseWheel-based Scrolling when the Widgets run out of Space of their Root-Container -
so the heavy lifting with regards to the graphics-rendering is already "out of the way")...
Olaf
hierarchical Control can be implemented with only two Base-Widgets.
The visual appearance is quite similar to the jQuery-based implementation here:
http://mistic100.github.io/jQuery-QueryBuilder/
But the Codebase is much smaller (about 250 lines currently, whereas the jQuery-
implementation is about 1700 lines ... when fully completed with the yet missing ComboBoxes
and Field-Value-Widgets, I guess that the VB6-version will end up with about 550 lines).
Here's a ScreenShot what it currently looks like:

- cwQueryGroup (about 160 lines of code - this is the red-bordered Widget with the Buttons)
- cwQueryRule (about 70 lines of code - this is the "Stripe-Widget" with the green Border)
What remains is now only the introducion of 2 cwDropDown-Widgets (one for the FieldNames
and one for the logic-Operators) - and a Handler-Widget for the comparison-value -
which in the simplest case could be a cwTextBox) - the Demo as it currently is, depends only
on RC5 (to make it easier for a first fast test) - the just mentioned additional Widgets for the
Field-Comparison-Logic are located in vbWidgets.dll, which is available as a Zip-Download on:
http://vbrichclient.com/#/en/Downloads.htm
(3rd section - Zip-Download from the GitHub-Repo).
Let me know when there's interest, to complete the current Base-implementation (e.g. later handing over
the Field-List and Field-Types of an ADO- or SQLite-Recordset, then dynamically creating the DropDown-Contents
and dynamically adding the appropriate Field-Value-Input-Widgets, which are matching the selected Fields Type)...
I could help with suggestions and code-snippets, where to plug the missing functionality in, and with
general "how-to-do-RC5-Widgets"... :)
Here's the Download for the Demo-Code:
QueryDesigner.zip
Hoping this Base-Implemenation is nice and encouraging enough for others, to complete what was
started here - (the Demo already does the nested Tree-Rendering, adding, removing, MouseHovering,
and MouseWheel-based Scrolling when the Widgets run out of Space of their Root-Container -
so the heavy lifting with regards to the graphics-rendering is already "out of the way")...
Olaf