This service implements a user interface for browsing data sources registered on the
DatabaseContext
instance of the system.
It is possible to navigate through all the data sources, it's queries and it's tables.
The queries/tables can be displayed in a grid-like view, where functionality for searching,
sorting, filtering, and such is provided.
Usually, you won't instantiate this service directly, instead you use the dispatch mechanisms
of the application framework to load the URL .component:DB/DataSourceBrowser into an arbitrary
frame. This should involve a
ContentLoader
service, which creates and initializes
the browser.
Some aspects of the browser can be controlled from outside, eg.,
it is possible to dispatch a sort or filter
request, if a table or query is being displayed.
The communication between the browser and external instances works in two ways.
The way in is provided by the
::com::sun::star::frame::XDispatchProvider
interface the service exports (Please see below for more details on this).
The way out works in another way. There are several URL's which an external
instance can provide dispatches for (usually by implementing a
::com::sun::star::frame::XDispatchProviderInterceptor
for the parent frame of the browser), thus indicating that the browser should provide special functionality.
In this case, the browser displays and maintains some additional slots (to be more concrete: toolbox items), which,
upon triggering, call the
::com::sun::star::frame::XDispatch::dispatch() methodoftheobject
provided by the external instance.
In particular, the supported URL's for communicating to an external instance are:
- .uno:DataSourceBrowser/InsertColumns
Available whenever an external instance provides a dispatcher (
::com::sun::star::frame::XDispatch )
for this URL.
Enabled, if at least one row in the grid view of a table or query is selected.
It is the task of the external instance to provide functionality for this URL, but usually it is used
to implement some kind of "Data To Text" functionality.
- .uno:DataSourceBrowser/InsertContent
Available whenever an external instance provides a dispatcher(
::com::sun::star::frame::XDispatch
) for this URL.
Enabled, if at least one row in the grid view of a table or query is selected.
It is the task of the external instance to provide functionality for this URL, but usually it is used
to implement some kind of "Data To Fields" functionality.
- .uno:DataSourceBrowser/FormLetter
Available whenever an external instance provides a dispatcher (
::com::sun::star::frame::XDispatch )forthisURL.
It is the task of the external instance to provide functionality for this URL, but usually it is used
to implement some kind of "Form Letter" functionality.
For all kinds of URL's, the parameters supplied when dispatching it are as follows:
- DataSourceName
The name of the globally registered
DataSource
from which the currently displayed data is taken.
- CommandType
A
CommandType
value, specifying the type of the object displayed currently.
- Command
A string value, specifying the name of the object displayed currently (or the SQL statement used to populate
the grid view).
- Selection
A sequence of integers, containing the numbers of the rows currently selected.
- Cursor (optional)
If available, this parameter contains an object implementing the
ResultSet
service.
It may be used to obtain the data described by the Selection parameter (which otherwise
would have to be retrieved from the
DatabaseContext
, using the information given in the other parameters).