/**************************************************************
*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*
*************************************************************/
#ifndef __com_sun_star_form_component_DataForm_idl__
#define __com_sun_star_form_component_DataForm_idl__
#ifndef __com_sun_star_form_component_Form_idl__
#include A database form is a special kind of enhanced database row set
which provides all information for displaying the data and has more
possibilities for configuring the data manipulation. A The insertion row is a virtual row which is used to insert new records. It is reached
by calling
Loading a form is basically the same as executing the underlying row set. In fact, all the
functionality of this interface could be simulated by using setting some properties manually,
One main difference between
If data is needed during loading a form, then this is usually obtained via broadcaster-listener mechanisms. An example for this (and currently the only one) are parameter values.
However, if you use this method, you can pass an interaction handler which should supply these additional data.
@see com::sun::star::sdb::InteractionHandler */ interface com::sun::star::sdb::XCompletedExecution; /** can be used for filling parameters.You can add your component as
In a first approach, the form tries to fill any parameters from it's master-detail relation
(if any). All values which can't be filled are then passed to all listeners, which can
fill them by their own choice.
This is sligtly changed if the form is loaded using the
These columns are typically the foreign key fields of the parent form. The values of theses columns are used to identify the data for the subform. Each time the parent form changes it's current row, the subform requeries it's data based on the values of the master fields.
If the form is no sub form (e.g. it's parent is not a form itself), this property is not evaluated.
*/ [property] sequenceEntries in this sequence can either denote column names in the sub form,
or paramater names.
For instance, you could base the form on the SQL statement
SELECT * FROM invoices WHERE cust_ref = :cid
, and add cid
to the DetailFields property. In this case, the parameter will be filled from
the corresponding master field.
Alternatively, you could simply base your form on the table invoices
,
and add the column name cust_ref
to the DetailFields. In this case,
and implicit filter clause WHERE cust_ref = :<new_param_name>
will
be created, and the artificial parameter will be filled from the corresponding
master field.
If a string in this property denotes both a column name and a parameter name, it
is undefined which way it is interpreted, but implementations of the service are required
to either decide for the parameter or the column, and proceed as usual.
The columns specified herein typically represent a part of the primary key fields or their aliases of the detail form.
If the form is no sub form (e.g. it's parent is not a form itself), this property is not evaluated.
*/ [property] sequenceNote that this is a recommendation for user interface components displaying the
form. Form implementations may decide to allow for insertions done via the API, even
if the property is set to
Note that this is a recommendation for user interface components displaying the
form. Form implementations may decide to allow for updates done via the API, even
if the property is set to
Note that this is a recommendation for user interface components displaying the
form. Form implementations may decide to allow for deletions done via the API, even
if the property is set to