Child pages
  • JSRelation

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Rev: 1381948887907

...

HTML Table
id
classservoy sSummary
Colgroup Tag
Column
padding0px
width80px

Column

Table Row (tr)
styleheight: 30px;
Table Head (th)
colspan2
Constants Summary
Table Body (tbody)
Table Row (tr)
Table Cell (td)
Number
Table Cell (td)
#FULLFULL_JOIN
Constant for the joinType of a Query Builder join.
tbody
Table Body (tbody)
Table Row (tr)
Table Cell (td)
Number
Table Cell (td)
#INNERINNER_JOIN
Constant for the joinType of a JSRelation.
tbody
Table Row (tr)
Table Cell (td)
Number
Table Cell (td)
#LEFTLEFT_OUTER_JOIN
Constant for the joinType of a JSRelation.
Table Row (tr)
Table Cell (td)
Number
Table Cell (td)
#RIGHTRIGHT_OUTER_JOIN
Constant for the joinType of a Query Builder join.

HTML Table
id
classservoy sSummary
Colgroup Tag
Column
padding0px
width80px

Column

tbody
Table Row (tr)
styleheight: 30px;
Table Head (th)
colspan2
Property Summary
tbody
Table Row (tr)
Table Cell (td)
Boolean
Table Cell (td)
#allowCreationRelatedRecordsallowCreationRelatedRecords
Flag that tells if related records can be created through this relation.
Table Row (tr)
Table Cell (td)
Boolean
Table Cell (td)
#allowParentDeleteWhenHavingRelatedRecordsallowParentDeleteWhenHavingRelatedRecords
Flag that tells if the parent record can be deleted while it has related records.
tbody
Table Body (tbody)
Table Row (tr)
Table Cell (td)
Boolean
Table Cell (td)
#deleteRelatedRecordsdeleteRelatedRecords
Flag that tells if related records should be deleted or not when a parent record is deleted.
Table Row (tr)
Table Cell (td)
String
Table Cell (td)
#foreignDataSourceforeignDataSource
Qualified name of the foreign data source.
tbody
Table Body (tbody)
Table Row (tr)
Table Cell (td)
String
Table Cell (td)
#initialSortinitialSort
A String which specified a set of sort options for the initial sorting of data
retrieved through this relation.
tbody
Table Row (tr)
Table Cell (td)
Number
Table Cell (td)
#joinTypejoinType
The join type that is performed between the primary table and the foreign table.
tbody
Table Row (tr)
Table Cell (td)
String
Table Cell (td)
#namename
The name of the relation.
Table Row (tr)
Table Cell (td)
String
Table Cell (td)
#primaryDataSourceprimaryDataSource
Qualified name of the primary data source.

HTML Table
id
classservoy sSummary
Colgroup Tag
Column
padding0px
width80px

Column

tbody
Table Row (tr)
styleheight: 30px;
Table Head (th)
colspan2
Method Summary
Table Row (tr)
Table Cell (td)
JSRelationItem[]
Table Cell (td)
#getRelationItemsgetRelationItems()
Returns an array of JSRelationItem objects representing the relation criteria defined for this relation.
tbody
Table Body (tbody)
Table Row (tr)
Table Cell (td)
UUID
Table Cell (td)
#getUUIDgetUUID()
Returns the UUID of the relation object
Table Row (tr)
Table Cell (td)
JSRelationItem
Table Cell (td)
#newRelationItemnewRelationItem(dataprovider, operator, foreinColumnName)
Creates a new relation item for this relation.
Table Body (tbody)
Table Row (tr)
Table Cell (td)
void
Table Cell (td)
#removeRelationItemremoveRelationItem(primaryDataProviderID, operator, foreignColumnName)
Removes the desired relation item from the specified relation.

HTML Table
idconstant
classservoy sDetail
Colgroup Tag
Column
padding0px
width100%

Table Row (tr)
styleheight: 30px;
Table Head (th)
colspan1
Constants Details
Table Body (tbody)
idFULL_JOIN
Table Row (tr)
idname
Table Cell (td)
FULL_JOIN
Table Row (tr)
iddes
Table Cell (td)
Div
classsIndent
Constant for the joinType of a Query Builder join.
Table Row (tr)
idret
Table Cell (td)
Returns
Div
classsIndent
Number
Table Row (tr)
idsam
Table Cell (td)
Sample
Div
classsIndent
Code Block
languagejavascript

/** @type {QBSelect<db:/example_data/orders>} */
	var query = databaseManager.createSelect('db:/example_data/orders')
 /** @type {QBJoin<db:/example_data/order_details>} */
	var join = query.joins.add('db:/example_data/order_details', JSRelation.RIGHT_OUTER_JOIN, 'odetail')
	join.on.add(join.columns.orderid.eq(query.columns.orderid))
Table Row (tr)
classlastDetailRow
Table Cell (td)

Table Body (tbody)
idINNER_JOIN
Table Row (tr)
idname
Table Cell (td)
INNER_JOIN
Table Row (tr)
iddes
Table Cell (td)
Div
classsIndent
Constant for the joinType of a JSRelation. It is also used in solutionModel.newRelation(...) and in the QueryBuilder.
Table Row (tr)
idret
Table Cell (td)
Returns
Div
classsIndent
Number
Table Row (tr)
idsam
Table Cell (td)
Sample
Div
classsIndent
Code Block
languagejavascript

var relation = solutionModel.newRelation('parentToChild', 'db:/example_data/parent_table', 'db:/example_data/child_table', JSRelation.INNER_JOIN);
relation.joinType = JSRelation.LEFT_OUTER_JOIN;

 /** @type {QBSelect<db:/example_data/orders>} */
	var query = databaseManager.createSelect('db:/example_data/orders')
 /** @type {QBJoin<db:/example_data/order_details>} */
	var join = query.joins.add('db:/example_data/order_details', JSRelation.INNER_JOIN, 'odetail')
	join.on.add(join.columns.orderid.eq(query.columns.orderid))
Table Row (tr)
classlastDetailRow
Table Cell (td)

Table Body (tbody)
idLEFT_OUTER_JOIN
Table Row (tr)
idname
Table Cell (td)
LEFT_OUTER_JOIN
Table Row (tr)
iddes
Table Cell (td)
Div
classsIndent
Constant for the joinType of a JSRelation. It is also used in solutionModel.newRelation(...) and in the QueryBuilder.
Table Row (tr)
idret
Table Cell (td)
Returns
Div
classsIndent
Number
Table Row (tr)
idsam
Table Cell (td)
Sample
Div
classsIndent
Code Block
languagejavascript

var relation = solutionModel.newRelation('parentToChild', 'db:/example_data/parent_table', 'db:/example_data/child_table', JSRelation.INNER_JOIN);
relation.joinType = JSRelation.LEFT_OUTER_JOIN;

 /** @type {QBSelect<db:/example_data/orders>} */
	var query = databaseManager.createSelect('db:/example_data/orders')
 /** @type {QBJoin<db:/example_data/order_details>} */
	var join = query.joins.add('db:/example_data/order_details', JSRelation.INNER_JOIN, 'odetail')
	join.on.add(join.columns.orderid.eq(query.columns.orderid))
Table Row (tr)
classlastDetailRow
Table Cell (td)

Table Body (tbody)
idRIGHT_OUTER_JOIN
Table Row (tr)
idname
Table Cell (td)
RIGHT_OUTER_JOIN
Table Row (tr)
iddes
Table Cell (td)
Div
classsIndent
Constant for the joinType of a Query Builder join.
Table Row (tr)
idret
Table Cell (td)
Returns
Div
classsIndent
Number
Table Row (tr)
idsam
Table Cell (td)
Sample
Div
classsIndent
Code Block
languagejavascript

/** @type {QBSelect<db:/example_data/orders>} */
	var query = databaseManager.createSelect('db:/example_data/orders')
 /** @type {QBJoin<db:/example_data/order_details>} */
	var join = query.joins.add('db:/example_data/order_details', JSRelation.RIGHT_OUTER_JOIN, 'odetail')
	join.on.add(join.columns.orderid.eq(query.columns.orderid))
Table Row (tr)
classlastDetailRow
Table Cell (td)


HTML Table
idproperty
classservoy sDetail
Colgroup Tag
Column
padding0px
width100%

Table Row (tr)
styleheight: 30px;
Table Head (th)
colspan1
Property Details
Table Body (tbody)
idallowCreationRelatedRecords
Table Row (tr)
idname
Table Cell (td)
allowCreationRelatedRecords
Table Row (tr)
iddes
Table Cell (td)
Div
classsIndent

Flag that tells if related records can be created through this relation.

The default value of this flag is "false".

Table Row (tr)
idret
Table Cell (td)
Returns
Div
classsIndent
Boolean
Table Row (tr)
idsam
Table Cell (td)
Sample
Div
classsIndent
Code Block
languagejavascript

...

var relation = solutionModel.newRelation('parentToChild', 'db:/example_data/parent_table', 'db:/example_data/child_table', JSRelation.INNER_JOIN);
relation.allowCreationRelatedRecords = true;

...

Table Row (tr)
classlastDetailRow
Table Cell (td)

Table Body (tbody)
idallowParentDeleteWhenHavingRelatedRecords
Table Row (tr)
idname
Table Cell (td)
allowParentDeleteWhenHavingRelatedRecords
Table Row (tr)
iddes
Table Cell (td)
Div
classsIndent

Flag that tells if the parent record can be deleted while it has related records.

The default value of this flag is "true".

Table Row (tr)
idret
Table Cell (td)
Returns
Div
classsIndent
Boolean
Table Row (tr)
idsam
Table Cell (td)
Sample
Div
classsIndent
Code Block
languagejavascript

...

var relation = solutionModel.newRelation('parentToChild', 'db:/example_data/parent_table', 'db:/example_data/child_table', JSRelation.INNER_JOIN);
relation.allowParentDeleteWhenHavingRelatedRecords = false;

...

Table Row (tr)
classlastDetailRow
Table Cell (td)

Table Body (tbody)
iddeleteRelatedRecords
Table Row (tr)
idname
Table Cell (td)
deleteRelatedRecords
Table Row (tr)
iddes
Table Cell (td)
Div
classsIndent

Flag that tells if related records should be deleted or not when a parent record is deleted.

The default value of this flag is "false".

Table Row (tr)
idret
Table Cell (td)
Returns
Div
classsIndent
Boolean
Table Row (tr)
idsam
Table Cell (td)
Sample
Div
classsIndent
Code Block
languagejavascript

...

var relation = solutionModel.newRelation('parentToChild', 'db:/example_data/parent_table', 'db:/example_data/child_table', JSRelation.INNER_JOIN);
relation.deleteRelatedRecords = true;

...

Table Row (tr)
classlastDetailRow
Table Cell (td)

Table Body (tbody)
idforeignDataSource
Table Row (tr)
idname
Table Cell (td)
foreignDataSource
Table Row (tr)
iddes
Table Cell (td)
Div
classsIndent
Qualified name of the foreign data source. Contains both the name of the foreign
server and the name of the foreign table.
Table Row (tr)
idret
Table Cell (td)
Returns
Div
classsIndent
String
Table Row (tr)
idsam
Table Cell (td)
Sample
Div
classsIndent
Code Block
languagejavascript

...

var relation = solutionModel.newRelation('parentToChild', 'db:/example_data/parent_table', 'db:/example_data/child_table', JSRelation.INNER_JOIN);
relation.primaryDataSource = 'db:/user_data/another_parent_table';
relation.foreignDataSource = 'db:/user_data/another_child_table';

...

Table Row (tr)
classlastDetailRow
Table Cell (td)

Table Body (tbody)
idinitialSort
Table Row (tr)
idname
Table Cell (td)
initialSort
Table Row (tr)
iddes
Table Cell (td)
Div
classsIndent

A String which specified a set of sort options for the initial sorting of data
retrieved through this relation.

Has the form "column_name asc, another_column_name desc, ...".

Table Row (tr)
idret
Table Cell (td)
Returns
Div
classsIndent
String
Table Row (tr)
idsam
Table Cell (td)
Sample
Div
classsIndent
Code Block
languagejavascript

...

var relation = solutionModel.newRelation('parentToChild', 'db:/example_data/parent_table', 'db:/example_data/child_table', JSRelation.INNER_JOIN);
relation.initialSort = 'another_child_table_text asc';

...

Table Row (tr)
classlastDetailRow
Table Cell (td)

Table Body (tbody)
idjoinType
Table Row (tr)
idname
Table Cell (td)
joinType
Table Row (tr)
iddes
Table Cell (td)
Div
classsIndent
The join type that is performed between the primary table and the foreign table.
Can be "inner join" or "left outer join".
Table Row (tr)
idret
Table Cell (td)
Returns
Div
classsIndent
Number
Table Row (tr)
idsam
Table Cell (td)
Sample
Div
classsIndent
Code Block
languagejavascript

...

var relation = solutionModel.newRelation('parentToChild', 'db:/example_data/parent_table', 'db:/example_data/child_table', JSRelation.INNER_JOIN);
relation.joinType = JSRelation.LEFT_OUTER_JOIN;

 /** @type {QBSelect<db:/example_data/orders>} */
	var query = databaseManager.createSelect('db:/example_data/orders')
 /** @type {QBJoin<db:/example_data/order_details>} */
	var join = query.joins.add('db:/example_data/order_details', JSRelation.INNER_JOIN, 'odetail')
	join.on.add(join.columns.orderid.eq(query.columns.orderid))

...

Table Row (tr)
classlastDetailRow
Table Cell (td)

Table Body (tbody)
idname
Table Row (tr)
idname
Table Cell (td)
name
Table Row (tr)
iddes
Table Cell (td)
Div
classsIndent
The name of the relation.
Table Row (tr)
idret
Table Cell (td)
Returns
Div
classsIndent
String
Table Row (tr)
idsam
Table Cell (td)
Sample
Div
classsIndent
Code Block
languagejavascript

...

var relation = solutionModel.newRelation('parentToChild', 'db:/example_data/parent_table', 'db:/example_data/child_table', JSRelation.INNER_JOIN);
relation.name = 'anotherName';
var firstTab = tabs.newTab('firstTab', 'Child Form', childForm, relation);
firstTab.relationName = relation.name;

...

Table Row (tr)
classlastDetailRow
Table Cell (td)

Table Body (tbody)
idprimaryDataSource
Table Row (tr)
idname
Table Cell (td)
primaryDataSource
Table Row (tr)
iddes
Table Cell (td)
Div
classsIndent
Qualified name of the primary data source. Contains both the name of the primary server
and the name of the primary table.
Table Row (tr)
idret
Table Cell (td)
Returns
Div
classsIndent
String
Table Row (tr)
idsam
Table Cell (td)
Sample
Div
classsIndent
Code Block
languagejavascript

...

var relation = solutionModel.newRelation('parentToChild', 'db:/example_data/parent_table', 'db:/example_data/child_table', JSRelation.INNER_JOIN);
relation.primaryDataSource = 'db:/user_data/another_parent_table';
relation.foreignDataSource = 'db:/user_data/another_child_table';

...

Table Row (tr)
classlastDetailRow
Table Cell (td)

HTML Table
idfunction
classservoy sDetail
Colgroup Tag
Column
padding0px
width100%

Table Row (tr)
styleheight: 30px;
Table Head (th)
colspan1
Method Details
Table Body (tbody)
idgetRelationItems
Table Row (tr)
idname
Table Cell (td)
getRelationItems
Table Row (tr)
idsig
Table Cell (td)
Span
stylemargin-right: 5px;
JSRelationItem[]
Span
stylefont-weight: bold;
getRelationItems
Span
()
Table Row (tr)
iddes
Table Cell (td)
Div
classsIndent
Returns an array of JSRelationItem objects representing the relation criteria defined for this relation.
Table Row (tr)
idret
Table Cell (td)
Returns
Div
classsIndent
JSRelationItem[]

...

- An array of JSRelationItem instances representing the relation criteria of this relation.
Table Row (tr)
idsam
Table Cell (td)
Sample
Div
classsIndent
Code Block
languagejavascript

...

var criteria = relation.getRelationItems();
for (var i=0; i<criteria.length; i++)
{
	var item = criteria[i];
	application.output('relation item no. ' + i);
	application.output('primary column: ' + item.primaryDataProviderID);
	application.output('operator: ' + item.operator);
	application.output('foreign column: ' + item.foreignColumnName);
}

...

Table Row (tr)
classlastDetailRow
Table Cell (td)

Table Body (tbody)
idgetUUID
Table Row (tr)
idname
Table Cell (td)
getUUID
Table Row (tr)
idsig
Table Cell (td)
Span
stylemargin-right: 5px;
UUID
Span
stylefont-weight: bold;
getUUID
Span
()
Table Row (tr)
iddes
Table Cell (td)
Div
classsIndent
Returns the UUID of the relation object
Table Row (tr)
idret
Table Cell (td)
Returns
Div
classsIndent
UUID
Table Row (tr)
idsam
Table Cell (td)
Sample
Div
classsIndent
Code Block
languagejavascript

...

var relation = solutionModel.newRelation('parentToChild', 'db:/example_data/parent_table', 'db:/example_data/child_table', JSRelation.INNER_JOIN);
application.output(relation.getUUID().toString())

...

Table Row (tr)
classlastDetailRow
Table Cell (td)

Table Body (tbody)
idnewRelationItem-String_String_String
Table Row (tr)
idname
Table Cell (td)
newRelationItem
Table Row (tr)
idsig
Table Cell (td)
Span
stylemargin-right: 5px;
JSRelationItem
Span
stylefont-weight: bold;
newRelationItem
Span
(dataprovider, operator, foreinColumnName)
Table Row (tr)
iddes
Table Cell (td)
Div
classsIndent
Creates a new relation item for this relation. The primary dataprovider, the foreign data provider
and one relation operators (like '=' '!=' '>' '<') must be provided.
Table Row (tr)
idprs
Table Cell (td)
Parameters
Div
classsIndent
{String} dataprovider

...

- The name of the primary dataprovider.
{String} operator

...

- The operator used to relate the primary and the foreign dataproviders.
{String} foreinColumnName

...

- The name of the foreign dataprovider.
Table Row (tr)
idret
Table Cell (td)
Returns
Div
classsIndent
JSRelationItem

...

- A JSRelationItem instance representing the newly added relation item.
Table Row (tr)
idsam
Table Cell (td)
Sample
Div
classsIndent
Code Block
languagejavascript

...

var relation = solutionModel.newRelation('parentToChild', 'db:/example_data/parent_table', 'db:/example_data/child_table', JSRelation.INNER_JOIN);
relation.newRelationItem('another_parent_table_id', '=', 'another_child_table_parent_id');
// for literals use a prefix
relation.newRelationItem(JSRelationItem.LITERAL_PREFIX + "'hello'",'=', 'mytextfield');

...

Table Row (tr)
classlastDetailRow
Table Cell (td)

Table Body (tbody)
idremoveRelationItem-String_String_String
Table Row (tr)
idname
Table Cell (td)
removeRelationItem
Table Row (tr)
idsig
Table Cell (td)
Span
stylemargin-right: 5px;
void
Span
stylefont-weight: bold;
removeRelationItem
Span
(primaryDataProviderID, operator, foreignColumnName)
Table Row (tr)
iddes
Table Cell (td)
Div
classsIndent
Removes the desired relation item from the specified relation.
Table Row (tr)
idprs
Table Cell (td)
Parameters
Div
classsIndent
{String} primaryDataProviderID

...

- the primary data provider (column) name
{String} operator

...

- the operator
{String} foreignColumnName

...

- the foreign column name
Table Row (tr)
idret
Table Cell (td)
Returns
Div
classsIndent
void
Table Row (tr)
idsam
Table Cell (td)
Sample
Div
classsIndent
Code Block
languagejavascript

...

var relation = solutionModel.newRelation('myRelation', 'db:/myServer/parentTable', 'db:/myServer/childTable', JSRelation.INNER_JOIN);
relation.newRelationItem('someColumn1', '=', 'someColumn2');
relation.newRelationItem('anotherColumn', '=', 'someOtherColumn');
relation.removeRelationItem('someColumn1', '=', 'someColumn2');
var criteria = relation.getRelationItems();
for (var i = 0; i < criteria.length; i++) {
	var item = criteria[i];
	application.output('primary column: ' + item.primaryDataProviderID);
	application.output('operator: ' + item.operator);
	application.output('foreign column: ' + item.foreignColumnName);
}

...

Table Row (tr)
classlastDetailRow
Table Cell (td)