you are not or only partly satisfied with your
current data browser, than you should have a closer
look to the demo.
It introduces you into the abilities of the bBrowser
and enables you to compare your data browser with
The bBrowser is a data browser like the VO-DataBrowser which can be connected
with an almost arbitrary data server like the class DBServer, SQLSelect,
AdoServer or ArrayServer (contained in bBrowser library). The data server
must not be inherited from the VO class DataServer but can be an arbitrary
VO class. The data server must only provide certain methods and accesses
as an interface for the bBrowser. Which methods and accesses these are,
is documented exactly in the help of the bBrowser.
Because the bBrowser is inherited from the VO class CustomControl, it
can integrated into any window class.
The following list defines some feature of the bBrowser:
to the VO DataBrowser the bBrowser is faster at the factor 10
be displayed on calculated fields and/or on any expressions.
grids can be specified globally in the bBrowser for all columns
as well as for every single column.
color, font and grid conditions can be specified globally in
the bBrowser for all columns as well as for every single
be moved with the mouse and changed in the width.
can be edited in various way. Integrating own controls for
the edit is supported.
can be adjusted in such a way that it examines cyclically whether
the data in the linked server changed, in order to update the
display if necessary. This is meaningful whenever a data base
is used by several programs.
column captions are supported.
column footers are supported.
column values are supported.
Icons and bitmaps can be displayed as column values, column captions
or as column footers.
in the bBrowser can be shown in record groups like in a TreeView.
The record groups can be expanded and collapsed with the mouse
or the keyboard.
can be formed from several cells in the bBrowser. The cell groups
can be moved with the mouse in the bBrowser. With cell groups
a simple scheduler can be realized with the bBrowser.
bar can be shown during reading
the records into the bBrowser if a slow data connections exists.
values can be displayed as CheckBox or PushButton.
with variable height are supported. The bBrowser determines the
respective row height on the basis of the column values automatically.
(like 0 or empty date) can be removed automatically from the
display. Through this the realy important column values will
be emphasized better.
of several cells or columns are supported.
One or more
columns can be frozen.
For each column
editing, selecting, moving and changing the column width can
be enabled or disabled.
supported for each row, column or cell.
contains an information area in which special messages can be
displayed. Similar to Microsoft Outlook texts, icons or bitmaps
can be shown in this area, if for example no records are existing.
integrates itself in the TAB-order of the window.
bBrowser is offered in the following editions:
The bBrowser 1.4 (Limited) is offered as a free version for Visual
Objects 2.8 SP4. The bBrowser 1.4 (Limited) is a time unlimited, function
reduced version. The functionality of the bBrowser 1.4 (Limited) is based
on the bBrowser 1.4, in which some functions are not supported.
The following table lists the differences between the bBrowser 4 and
bBrowser 1.4 (Limited):
for Visual Objects 2.8 SP4
for Visual Objects 2.8 SP2 / SP3
for Visual Objects 2.7b
of Visual Styles
of Color Alpha Blending
of Drag & Drop
of a Title Bar
of Info Values
of RTF Texts
of Icons and Bitmaps
of Column Values
in the Data Area
Scrolling in Pixel Steps
Support for RightSLE
support of SQL is optimized in the bBrowser
4 (Standard and Professional).
bBrowser 4 extends the pallet of supported features
by interesting possibilities again. So record
groups are supported now. With these a representation
of records like in a TreeView is in a simple way
possible. Furthermore cell groups can
be defined in the bBrowser control. These can be
moved interactively with the mouse inside the bBrowser.
With cell groups scheduler can be realized now. In
addition to the already available color conditions grid
supported now, too. Dependent on conditions different
grids can be defined for a cell. But all this new
features are only a part of the innovations in the
here which innovations the bBrowser 4 contains
and get an overview of the new features.
The bBrowser control supports record groups now with that the records
are grouped automatically in the bBrowser. The records are shown like
in a TreeView control. The record groups can be expanded and collapsed
in the record group column.
values can be shown within the record group column
for any defined record group.
the data server does not contain any records for
group headers then virtual group headers can be defined.
A virtual group header extends over the entire width
of a data row.
The bBrowser control
supports cell groups now. Cell groups are drawn over the grid of the bBrowser.
The bBrowser supports unrestriced number of cell groups. The number is only
limited by the size of the dynamic memory of Visual Objects. Cell groups can
be nested into each other. Furthermore cell groups can be moved interactively
with the mouse
inside the bBrowser control.
groups scheduler can be realized
now. The bBrowser 4 contains a simple sample
application for this.
Similarly to color and font conditions grid conditions are supported now.
With grid conditions different grids can be shown in the bBrowser. The Grid conditions
can be defined both in the bBrowser control and in data
bar when reading data with a slow data connection
An info text with progress bar can be shown in the bBrowser control now
when it is reading from the linked data server with a slow data connection.
support for RightSLE in bBrowser
The support for the class library RightSLE from wmConsulting is improved.
Particularly for this the calendar button in the control DateSLE is shown
and managed correctly.
bBrowser 3 extends the pallet of supported features
by interesting possibilities again. The Visual
Styles are supported
in all areas of the bBrowser control now.
Representing of colors with overlapped effect, called Color Alpha Blending,
is possibly in the bBrowser control now, too. Furthermore group columns are supported
that several data columns can be united to a group. But all this new features
are only a part of the innovations in the bBrowser 3.
here which innovations the bBrowser 3 contains
and get an overview of the new features.
of Visual Styles
The bBrowser control supports the Visual Styles in all areas now. The
Visual Styles were supported only in the Scrollbars and partitial in
the data area till now. But the Visual Styles are supported also in the
following areas now:
in Data Area
Visual Styles can be enabled or disabled for
some areas. It is therefore also possible to
disable the Visual Styles completely or to enable
the Visual Styles only in certain areas.
The bBrowser supports color alpha blending now. This means that one
color overlaps another color. The overlapped color is seen through the
other one. The top color is transparent. The higher the ratio of the
overlapping, the lower is the transparency. The lower the ratio, the
more it shows through the other. The bBrowser supports color
alpha blending for the following areas:
An arbitrary number
of columns can be added to a group column. The
group. For example, the two data columns "FIRSTNAME" and "LASTNAME" could
be added to the group column "Name" (see
Both data columns and other group columns can be added to a group column.
In this manner, complex groups can be created.
The behaviour of the ToolTip was extented now so that the column value
is displayed as ToolTip if the cell value does not cover the complete
Selection of Cells
When selecting several cells in the bBrowser Control the appropriate
cells had to be clicked till now one by one with the mouse. The cells
simply can be selected now by dragging the mouse with left mouse button
representation options for the focus rectangle
With the new access the graphic representation of the focus rectangle
can be defined. The focus rectangle highlights the cell that owns the
The style, thickness and color of the rectangle can be defined.
bBrowser 2 extends the pallet of supported features
with interesting new features. New features were
implemented in the following areas:
the many new features the high speed of the bBrowser
could be retained. In some areas the speed
could be improved.
here which innovations the bBrowser 2 contains
and get an overview of the new features.
The documentation was revised completely and converted from the HLP format
into the CHM format. The CHM format is the current format for documentations
and offers some expansions opposite the HLP format at representation
The control classes
the XP Designs from Windows XP now too.
For the term XP-Design the terms "Visual styles" or "XP-Themes" are
often used. However, all these terms describe the same possibility
of changing the skin of the graphic user interface of Windows
of a title bar in the bBrowser
The bBrowser 2 supports a title bar now similarly like the VO DataBrowser. The
title bar is shown above the column captions and can be formatted in a various
way. For example the Grid and the foreground or the background color can be defined.
Furthermore the height of the title bar can be either defined freely or calculated
by the bBrowser control automatically. The following values can be assigned to
the title bar:
The bBrowser control supports now the representation of RTF texts in
the representation of RTF text the MS RichEdit control
is used internally. All formattings which are supported
by this control should be supported also in the bBrowser.
control of cell editing
The bBrowser offered various support of editing cell values in previous
versions. This support is enlarged strongly
once again by the new accesses
accesses defines bit masks with various flags with
which the behavior can be defined when
starting or ending a cell edit.
With the access EditStartFlags can be defined for example, at which mouse
or keyboard action a cell edit shall be started.
With the access EditCloseFlags the behavior can be defined when ending
a cell edit. For example it is possible when pressing the RETURN
key that the table cursor is moved automatically to the next column or
of editable conditions
the new classes
conditions are supported in the classes bBrowser
and bDataColumn now, too.
With an editable condition can be define, whether
a cell edit is supported.
condition is defined with the class bEditCondition and consists of a
condition and the accompanying editable attribute. The editable attribute
is used if the condition is TRUE. Several editable conditions can be
added in the class bEditConditionList.
If editable conditions are defined in the class bBrowser, then these
define whether a record can be edited. Editable conditions in the class
bDataColumn define whether a cell in the column can be edited.
of selectable conditions
the new classes
conditions are supported in the class bDataColumn
now, too. With a selectable condition can be define,
whether a cell can be selected.
condition is defined with the class bSelectCondition and consists of
a condition and the accompanying selectable attribute. The selectable
attribute is used if the condition is TRUE. Several selectable conditions
added in the class bSelectConditionList.
scrolling in pixel steps
Only a whole column could be scrolled left or right in the bBrowser control
till now. This behavior caused problems if the column width was greater
than the visible area in the bBrowser control and therefore a part of
the column was hidden. The hidden area of the column could never scrolled
to the visible area.
The bBrowser 2 supports the horizontal scrolling in pixel steps now.
When scrolling in page steps the columns are scrolled by the width of
the data area. When scrolling in single steps the columns are scrolled
in steps of 10 pixels. The number of pixels which shall be scrolled in
single steps can be adjusted to the needs of its own.
A side-effect at the pixel scrolling is that the last column is shown
right justified now. This is always the case if all columns cannot be
shown on the visible area and the last column is whole visible. In this
case the last column is adjusted on the right border of the data area.
In previous versions of the bBrowser it could happen that a free area
was shown between the last column and the right border of the data area.
With the bBrowser 2 this is not the case any more.
The new behavior at horizontal scrolling has influence on moving columns
interactively with the mouse. If the column to be moved touches the left
or right border of the data area, then the columns are scrolled horizontally
in pixel steps now. In previous versions of bBrowser the columns
are scrolled in whole column steps.
The bBrowser 2 supports virtual columns now. A virtual column is a column
which determines the values about an expression. Till now, this was already
possible in previous versions of the bBrowser, too. It is the new one
in the bBrowser 2 that the values can be edit. The virtual column manages
the edit values autonomously. The virtual column contains an interface
with which the edited cell values can be determined to be able to process
The new class bVirtualColumn is the base class for virtual columns. This
class implements the basic functionality of a virtual column. From this
class the classes
The class bCheckColumn implements a virtual column
for a logical field. For example the values of this
column can be shown as a CheckBox. A possible use
of this column class could be selecting several records
for the further processing.
The class bVirtualFieldColumn implements a virtual column for a field
of arbitrary data type. The data type, the length and the number of decimals
of the field are defined with a FieldSpec. The values of the field are
determined with an expression which must be defined in the Init() method
of the bVirtualFieldColumn.
Several bBrowser controls can be connected to a group and synchronized
at certain actions automatically with the class bBrowserCollection.
For example such actions can be:
or horizontal scrolling
the table cursor
of an AutoWidthColumn:
With the new access bBrowser:AutoWidthColumn a column
can be defined whose width is adapted automatically,
new column is opened,
opened column is closed,
width of the bBrowser is changed or
width of an opened column is changed.
support of column captions:
If a column caption can be not completely shown, then
ellipsis at the end are shown.
Support of bitmaps as column values:
The support of bitmaps was improved. Bitmaps are drawn
now transparency. This means that the background colours
remain from color conditions and colored grids. In addition
bitmaps can be stretched.
alignment of column values:
The access bViewStyle:Alignment supports now vertical
display types for logical column values:
Column values can be shown now as
without frame and as
of transformation list for column values:
For each column a transformation list can be defined,
with that values can be transformed into another value.
a transformation list short values (IDs) can
be transformed into more understandable values. Instead
of the short values the transformed values are displayed
as column values.
support to suspend empty values:
For the access bDataColumn:SuspendEmptyValues now conditions
are supported, to define when a value is not to be shown.
support of info values:
With the bBrowser 1.4 the display of information texts
was introduced. Similarly like Microsoft Outlook texts
can be shown in the bBrowser, if no data exists in the
to texts are supported now
edit modes for columns:
With the new access bDataColumn:AutoEdit for each column
its own edit mode can be defined.
foreground and background colours in selector:
In the selector for different states foreground and
background colours as well as color conditions are supported
The bBrowser supports now Tooltips for columns and cells.
In the bBrowser the new SelectionMode #Permanent is
supported. With this mode several cell/rows can be
selected without pressing additional keys (Shift or
support of multiple selection:
The multiple selection was optimized for large databases.
So far it was problematic, if in a database with many
records all records or a large range were selected.
This action could need much time. This problem is now
speed for selective relations:
The speed of selective relations was improved with large
of relations in bArrayServer:
The class bArrayServer supports now relations and