Child pages
  • JSFoundset

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migration of unmigrated content due to installation of a new plugin
Hidden
DO NOT EDIT THE CONTENT OF THIS PAGE DIRECTLY, UNLESS YOU KNOW WHAT YOU'RE DOING.
		THE STRUCTURE OF THE CONTENT IS VITAL IN BEING ABLE TO EXTRACT CHANGES FROM THE PAGE AND MERGE THEM BACK INTO SERVOY SOURCE

A JSFoundset is a scriptable object, it contains record objects defined by its SQL. It does lazy load the PKs and records.
Each foundset has its own record set and selected index

HTML Table
classservoy sSummary
Colgroup Tag
Column
padding0px
width80px

Column

Table Row (tr)
styleheight: 30px;
Table Head (th)
colspan2
Property Summary
Table Body (tbody)
Table Row (tr)
Table Cell (td)
Boolean
Table Cell (td)
#multiSelect
Get or set the multiSelect flag of the foundset.

HTML Table
classservoy sSummary
Colgroup Tag
Column
padding0px
width80px

Column

Table Row (tr)
styleheight: 30px;
Table Head (th)
colspan2
Method Summary
Table Body (tbody)
Table Row (tr)
Table Cell (td)
Boolean
Table Cell (td)
#addFoundSetFilterParam(dataprovider, operator, value)
Add a filter parameter that is permanent per user session to limit a specified foundset of records.
Table Body (tbody)
Table Row (tr)
Table Cell (td)
Boolean
Table Cell (td)
#addFoundSetFilterParam(dataprovider, operator, value, name)
Add a filter parameter that is permanent per user session to limit a specified foundset of records.
Table Body (tbody)
Table Row (tr)
Table Cell (td)
void
Table Cell (td)
#clear()
Clear the foundset.
Table Body (tbody)
Table Row (tr)
Table Cell (td)
Boolean
Table Cell (td)
#deleteAllRecords()
Delete all records in foundset, resulting in empty foundset.
Table Body (tbody)
Table Row (tr)
Table Cell (td)
Boolean
Table Cell (td)
#deleteRecord([index/record])
Delete current/parameter record or the record under the given index.
Table Body (tbody)
Table Row (tr)
Table Cell (td)
JSFoundset
Table Cell (td)
#duplicateFoundSet()
Get a duplicate of the foundset.
Table Body (tbody)
Table Row (tr)
Table Cell (td)
Number
Table Cell (td)
#duplicateRecord([index], [location], [changeSelection])
Duplicate current record or record at index in the foundset.
Table Body (tbody)
Table Row (tr)
Table Cell (td)
Boolean
Table Cell (td)
#find()
Set the foundset in find mode.
Table Body (tbody)
Table Row (tr)
Table Cell (td)
String
Table Cell (td)
#getCurrentSort()
Get the current sort columns.
Table Body (tbody)
Table Row (tr)
Table Cell (td)
Object
Table Cell (td)
#getDataProviderValue(dataProviderID)
Get a value based on a dataprovider name.
Table Body (tbody)
Table Row (tr)
Table Cell (td)
String
Table Cell (td)
#getDataSource()
Get the datasource used.
Table Body (tbody)
Table Row (tr)
Table Cell (td)
Object[][]
Table Cell (td)
#getFoundSetFilterParams()
Get the list of previously defined foundset filters.
Table Body (tbody)
Table Row (tr)
Table Cell (td)
Object[][]
Table Cell (td)
#getFoundSetFilterParams(filterName)
Get a previously defined foundset filter, using its given name.
Table Body (tbody)
Table Row (tr)
Table Cell (td)
JSRecord
Table Cell (td)
#getRecord(index)
Get the record object at the index.
Table Body (tbody)
Table Row (tr)
Table Cell (td)
Number
Table Cell (td)
#getRecordIndex(record)
Get the record index.
Table Body (tbody)
Table Row (tr)
Table Cell (td)
String
Table Cell (td)
#getRelationName()
Gets the relation name (null if not a related foundset).
Table Body (tbody)
Table Row (tr)
Table Cell (td)
Number
Table Cell (td)
#getSelectedIndex()
Get the current record index of the foundset.
Table Body (tbody)
Table Row (tr)
Table Cell (td)
Number[]
Table Cell (td)
#getSelectedIndexes()
Get the selected records indexes.
Table Body (tbody)
Table Row (tr)
Table Cell (td)
JSRecord
Table Cell (td)
#getSelectedRecord()
Get the selected record.
Table Body (tbody)
Table Row (tr)
Table Cell (td)
JSRecord[]
Table Cell (td)
#getSelectedRecords()
Get the selected records.
Table Body (tbody)
Table Row (tr)
Table Cell (td)
Number
Table Cell (td)
#getSize()
Get the number of records in this foundset.
Table Body (tbody)
Table Row (tr)
Table Cell (td)
void
Table Cell (td)
#invertRecords()
Invert the foundset against all rows of the current table.
Table Body (tbody)
Table Row (tr)
Table Cell (td)
Boolean
Table Cell (td)
#isInFind()
Check if this foundset is in find mode.
Table Body (tbody)
Table Row (tr)
Table Cell (td)
Boolean
Table Cell (td)
#loadAllRecords()
Loads all accessible records from the datasource into the foundset.
Table Body (tbody)
Table Row (tr)
Table Cell (td)
Boolean
Table Cell (td)
#loadOmittedRecords()
Loads the records that are currently omitted as a foundset.
Table Body (tbody)
Table Row (tr)
Table Cell (td)
Boolean
Table Cell (td)
#loadRecords([input], [queryArgumentsArray])
Load records with primary key (dataset/number/uuid) or query.
Table Body (tbody)
Table Row (tr)
Table Cell (td)
Number
Table Cell (td)
#newRecord([location], [changeSelection])
Create a new record in the foundset.
Table Body (tbody)
Table Row (tr)
Table Cell (td)
Boolean
Table Cell (td)
#omitRecord([index])
Omit current record or the record under the given index, to be shown with loadOmittedRecords.
Table Body (tbody)
Table Row (tr)
Table Cell (td)
void
Table Cell (td)
#relookup([index])
Perform a relookup for the current record or the record under the given index
Lookups are defined in the dataprovider (columns) auto-enter setting and are normally performed over a relation upon record creation.
Table Body (tbody)
Table Row (tr)
Table Cell (td)
Boolean
Table Cell (td)
#removeFoundSetFilterParam(name)
Remove a named foundset filter.
Table Body (tbody)
Table Row (tr)
Table Cell (td)
Number
Table Cell (td)
#search([clearLastResults], [reduceSearch])
Start the database search and use the results, returns the number of records, make sure you did "find" function first.
Table Body (tbody)
Table Row (tr)
Table Cell (td)
Boolean
Table Cell (td)
#selectRecord(pkid1, [pkid2], [pkidn])
Select the record based on pk data.
Table Body (tbody)
Table Row (tr)
Table Cell (td)
void
Table Cell (td)
#setDataProviderValue(dataProviderID, value)
Set a value based on a dataprovider name.
Table Body (tbody)
Table Row (tr)
Table Cell (td)
void
Table Cell (td)
#setSelectedIndex(index)
Set the current record index.
Table Body (tbody)
Table Row (tr)
Table Cell (td)
void
Table Cell (td)
#setSelectedIndexes(indexes)
Set the selected records indexes.
Table Body (tbody)
Table Row (tr)
Table Cell (td)
void
Table Cell (td)
#sort(sortString/recordComparator, [defer])
Sorts the foundset based on the given sort string or record comparator function.
Table Body (tbody)
Table Row (tr)
Table Cell (td)
JSFoundset
Table Cell (td)
#unrelate()
Create a new unrelated foundset that is a copy of the current foundset.

HTML Table
idproperty
classservoy sDetail
Colgroup Tag
Column
padding0px
width100%

Table Row (tr)
styleheight: 30px;
Table Head (th)
colspan1
Property Details
Table Body (tbody)
idmultiSelect
classnode
Table Row (tr)
idname
Table Cell (td)
multiSelect
Table Row (tr)
iddes
Table Cell (td)
Get or set the multiSelect flag of the foundset.
Table Row (tr)
idret
Table Cell (td)
Returns
Boolean
Table Row (tr)
idsam
Table Cell (td)
Sample
Div
classsIndent
Code Block
languagejavascript
// allow user to select multiple rows.
forms.customer.foundset.multiSelect = true;
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)
idaddFoundSetFilterParam-String_String_Object
classnode
Table Row (tr)
idname
Table Cell (td)
addFoundSetFilterParam
Table Row (tr)
idsig
Table Cell (td)
Span
stylefloat: left; margin-right: 5px;
Boolean
Span
stylefloat: left; font-weight: bold;
idiets
addFoundSetFilterParam
Span
stylefloat: left;
idiets
(dataprovider, operator, value)
Table Row (tr)
iddes
Table Cell (td)
Add a filter parameter that is permanent per user session to limit a specified foundset of records.
Use clear() or loadAllRecords() to make the filter effective.
Multiple filters can be added to the same dataprovider, they will all be applied.
Table Row (tr)
idprs
Table Cell (td)
Parameters
{String} dataprovider – String column to filter on.
{String} operator – String operator: =, <, >, >=, <=, !=, (NOT) LIKE, (NOT) IN, (NOT) BETWEEN and IS (NOT) NULL
{Object} value – Object filter value (for in array and between an array with 2 elements)
Table Row (tr)
idret
Table Cell (td)
Returns
Boolean – true if adding the filter succeeded, false otherwise.
Table Row (tr)
idsam
Table Cell (td)
Sample
Div
classsIndent
Code Block
languagejavascript
// Filter a fondset on a dataprovider value.
// Note that multiple filters can be added to the same dataprovider, they will all be applied.

var success = forms.customer.foundset.addFoundSetFilterParam('customerid', '=', 'BLONP', 'custFilter');//possible to add multiple
forms.customer.foundset.loadAllRecords();//to make param(s) effective
// Named filters can be removed using forms.customer.foundset.removeFoundSetFilterParam(filterName)
Table Row (tr)
classlastDetailRow
Table Cell (td)

Table Body (tbody)
idaddFoundSetFilterParam-String_String_Object_String
classnode
Table Row (tr)
idname
Table Cell (td)
addFoundSetFilterParam
Table Row (tr)
idsig
Table Cell (td)
Span
stylefloat: left; margin-right: 5px;
Boolean
Span
stylefloat: left; font-weight: bold;
idiets
addFoundSetFilterParam
Span
stylefloat: left;
idiets
(dataprovider, operator, value, name)
Table Row (tr)
iddes
Table Cell (td)
Add a filter parameter that is permanent per user session to limit a specified foundset of records.
Use clear() or loadAllRecords() to make the filter effective.
The filter is removed again using removeFoundSetFilterParam(name).
Table Row (tr)
idprs
Table Cell (td)
Parameters
{String} dataprovider – String column to filter on.
{String} operator – String operator: =, <, >, >=, <=, !=, (NOT) LIKE, (NOT) IN, (NOT) BETWEEN and IS (NOT) NULL optionally augmented with modifiers "#" (ignore case) or "||=" (or-is-null).
{Object} value – Object filter value (for in array and between an array with 2 elements)
{String} name – String name, used to remove the filter again.
Table Row (tr)
idret
Table Cell (td)
Returns
Boolean – true if adding the filter succeeded, false otherwise.
Table Row (tr)
idsam
Table Cell (td)
Sample
Div
classsIndent
Code Block
languagejavascript
var success = forms.customer.foundset.addFoundSetFilterParam('customerid', '=', 'BLONP', 'custFilter');//possible to add multiple
// Named filters can be removed using forms.customer.foundset.removeFoundSetFilterParam(filterName)

// you can use modifiers in the operator as well, filter on companies where companyname is null or equals-ignore-case 'servoy'
var ok = forms.customer.foundset.addFoundSetFilterParam('companyname', '#^||=', 'servoy')

forms.customer.foundset.loadAllRecords();//to make param(s) effective
Table Row (tr)
classlastDetailRow
Table Cell (td)

Table Body (tbody)
idclear
classnode
Table Row (tr)
idname
Table Cell (td)
clear
Table Row (tr)
idsig
Table Cell (td)
Span
stylefloat: left; margin-right: 5px;
void
Span
stylefloat: left; font-weight: bold;
idiets
clear
Span
stylefloat: left;
idiets
()
Table Row (tr)
iddes
Table Cell (td)
Clear the foundset.
Table Row (tr)
idret
Table Cell (td)
Returns
void
Table Row (tr)
idsam
Table Cell (td)
Sample
Div
classsIndent
Code Block
languagejavascript
//Clear the foundset, including searches that may be on it
forms.customer.foundset.clear();
Table Row (tr)
classlastDetailRow
Table Cell (td)

Table Body (tbody)
iddeleteAllRecords
classnode
Table Row (tr)
idname
Table Cell (td)
deleteAllRecords
Table Row (tr)
idsig
Table Cell (td)
Span
stylefloat: left; margin-right: 5px;
Boolean
Span
stylefloat: left; font-weight: bold;
idiets
deleteAllRecords
Span
stylefloat: left;
idiets
()
Table Row (tr)
iddes
Table Cell (td)
Delete all records in foundset, resulting in empty foundset.
Table Row (tr)
idret
Table Cell (td)
Returns
Boolean – boolean true if all records could be deleted.
Table Row (tr)
idsam
Table Cell (td)
Sample
Div
classsIndent
Code Block
languagejavascript
var success = forms.customer.foundset.deleteAllRecords();
Table Row (tr)
classlastDetailRow
Table Cell (td)

Table Body (tbody)
iddeleteRecord
classnode
Table Row (tr)
idname
Table Cell (td)
deleteRecord
Table Row (tr)
idsig
Table Cell (td)
Span
stylefloat: left; margin-right: 5px;
Boolean
Span
stylefloat: left; font-weight: bold;
idiets
deleteRecord
Span
stylefloat: left;
idiets
([index/record])
Table Row (tr)
iddes
Table Cell (td)
Delete current/parameter record or the record under the given index.
If the foundset is in multiselect mode, all selected records are deleted (when no parameter is used).
Table Row (tr)
idprs
Table Cell (td)
Parameters
[index/record] – index of record to delete or record itself.
Table Row (tr)
idret
Table Cell (td)
Returns
Boolean – boolean true if all records could be deleted.
Table Row (tr)
idsam
Table Cell (td)
Sample
Div
classsIndent
Code Block
languagejavascript
var success = forms.customer.foundset.deleteRecord();
//can return false incase of related foundset having records and orphans records are not allowed by the relation
Table Row (tr)
classlastDetailRow
Table Cell (td)

Table Body (tbody)
idduplicateFoundSet
classnode
Table Row (tr)
idname
Table Cell (td)
duplicateFoundSet
Table Row (tr)
idsig
Table Cell (td)
Span
stylefloat: left; margin-right: 5px;
JSFoundset
Span
stylefloat: left; font-weight: bold;
idiets
duplicateFoundSet
Span
stylefloat: left;
idiets
()
Table Row (tr)
iddes
Table Cell (td)
Get a duplicate of the foundset.
Table Row (tr)
idret
Table Cell (td)
Returns
JSFoundset – foundset duplicate.
Table Row (tr)
idsam
Table Cell (td)
Sample
Div
classsIndent
Code Block
languagejavascript
var dupFoundset = forms.customer.foundset.duplicateFoundSet();
forms.customer.foundset.find();
//search some fields
var count = forms.customer.foundset.search();
if (count == 0)
{
	plugins.dialogs.showWarningDialog('Alert', 'No records found','OK');
	controller.loadRecords(dupFoundset);
}
Table Row (tr)
classlastDetailRow
Table Cell (td)

Table Body (tbody)
idduplicateRecord
classnode
Table Row (tr)
idname
Table Cell (td)
duplicateRecord
Table Row (tr)
idsig
Table Cell (td)
Span
stylefloat: left; margin-right: 5px;
Number
Span
stylefloat: left; font-weight: bold;
idiets
duplicateRecord
Span
stylefloat: left;
idiets
([index], [location], [changeSelection])
Table Row (tr)
iddes
Table Cell (td)
Duplicate current record or record at index in the foundset.
Table Row (tr)
idprs
Table Cell (td)
Parameters
[index] – index of record to duplicate; defaults to currently selected index. Ignored if first given parameter is a boolean value.
[location] – a boolean or number when true the new record is added as the topmost record, when a number, the new record is added at specified index ; defaults to 1.
{Boolean} [changeSelection] – when true the selection is changed to the duplicated record; defaults to true.
Table Row (tr)
idret
Table Cell (td)
Returns
Number – true if succesful
Table Row (tr)
idsam
Table Cell (td)
Sample
Div
classsIndent
Code Block
languagejavascript
forms.customer.foundset.duplicateRecord();
forms.customer.foundset.duplicateRecord(false); //duplicate the current record, adds at bottom
forms.customer.foundset.duplicateRecord(1,2); //duplicate the first record as second record
//duplicates the record (record index 3), adds on top and selects the record
forms.customer.foundset.duplicateRecord(3,true,true);
Table Row (tr)
classlastDetailRow
Table Cell (td)

Table Body (tbody)
idfind
classnode
Table Row (tr)
idname
Table Cell (td)
find
Table Row (tr)
idsig
Table Cell (td)
Span
stylefloat: left; margin-right: 5px;
Boolean
Span
stylefloat: left; font-weight: bold;
idiets
find
Span
stylefloat: left;
idiets
()
Table Row (tr)
iddes
Table Cell (td)

Set the foundset in find mode. (Start a find request), use the "search" function to perform/exit the find.

Before going into find mode, all unsaved records will be saved in the database.
If this fails (due to validation failures or sql errors) or is not allowed (autosave off), the foundset will not go into find mode.
Make sure the operator and the data (value) are part of the string passed to dataprovider (included inside a pair of quotation marks).
Note: always make sure to check the result of the find() method.

When in find mode, columns can be assigned string expressions (including operators) that are evaluated as:
General:
c1||c2 (condition1 or condition2)
c|format (apply format on condition like 'x|dd-MM-yyyy')
!c (not condition)
#c (modify condition, depends on column type)
^ (is null)
^= (is null or empty)
<x (less than value x)
>x (greater than value x)
<=x (less than or equals value x)
>=x (greater than or equals value x)
x...y (between values x and y, including values)
x (equals value x)

Number fields:
=x (equals value x)
^= (is null or zero)

Date fields:
#c (equals value x, entire day)
now (equals now, date and or time)
// (equals today)
today (equals today)

Text fields:
#c (case insensitive condition)
= x (equals a space and 'x')
^= (is null or empty)
%x% (contains 'x')
%x_y% (contains 'x' followed by any char and 'y')
% (contains char '%')
_ (contains char '_')

Related columns can be assigned, they will result in related searches.
For example, "employees_to_department.location_id = headoffice" finds all employees in the specified location).

Searching on related aggregates is supported.
For example, "orders_to_details.total_amount = '>1000'" finds all orders with total order details amount more than 1000.

Arrays can be used for searching a number of values, this will result in an 'IN' condition that will be used in the search.
The values are not restricted to strings but can be any type that matches the column type.
For example, "record.department_id = [1, 33, 99]"

Table Row (tr)
idret
Table Cell (td)
Returns
Boolean – true if the foundset is now in find mode, false otherwise.
Table Row (tr)
idsee
Table Cell (td)
Also see
Div
classsIndent
.search
databaseManager.setAutoSave
controller.find
controller.search
Table Row (tr)
idsam
Table Cell (td)
Sample
Div
classsIndent
Code Block
languagejavascript
if (forms.customer.foundset.find()) //find will fail if autosave is disabled and there are unsaved records
{
	columnTextDataProvider = 'a search value'
 // for numbers you have to make sure to format it correctly so that the decimal point is in your locales notation (. or ,)
	columnNumberDataProvider = '>' + utils.numberFormat(anumber, '####.00');
	columnDateDataProvider = '31-12-2010|dd-MM-yyyy'
	forms.customer.foundset.search()
}
Table Row (tr)
classlastDetailRow
Table Cell (td)

Table Body (tbody)
idgetCurrentSort
classnode
Table Row (tr)
idname
Table Cell (td)
getCurrentSort
Table Row (tr)
idsig
Table Cell (td)
Span
stylefloat: left; margin-right: 5px;
String
Span
stylefloat: left; font-weight: bold;
idiets
getCurrentSort
Span
stylefloat: left;
idiets
()
Table Row (tr)
iddes
Table Cell (td)
Get the current sort columns.
Table Row (tr)
idret
Table Cell (td)
Returns
String – String sort columns
Table Row (tr)
idsee
Table Cell (td)
Also see
Div
classsIndent
.sort
Table Row (tr)
idsam
Table Cell (td)
Sample
Div
classsIndent
Code Block
languagejavascript
//reverse the current sort

//the original sort "companyName asc, companyContact desc"
//the inversed sort "companyName desc, companyContact asc"
var foundsetSort = foundset.getCurrentSort()
var sortColumns = foundsetSort.split(',')
var newFoundsetSort = ''
for(var i=0; i<sortColumns.length; i++)
{
	var currentSort = sortColumns[i]
	var sortType = currentSort.substring(currentSort.length-3)
	if(sortType.equalsIgnoreCase('asc'))
	{
		newFoundsetSort += currentSort.replace(' asc', ' desc')
	}
	else
	{
		newFoundsetSort += currentSort.replace(' desc', ' asc')
	}
	if(i != sortColumns.length - 1)
	{
		newFoundsetSort += ','
	}
}
foundset.sort(newFoundsetSort)
Table Row (tr)
classlastDetailRow
Table Cell (td)

Table Body (tbody)
idgetDataProviderValue
classnode
Table Row (tr)
idname
Table Cell (td)
getDataProviderValue
Table Row (tr)
idsig
Table Cell (td)
Span
stylefloat: left; margin-right: 5px;
Object
Span
stylefloat: left; font-weight: bold;
idiets
getDataProviderValue
Span
stylefloat: left;
idiets
(dataProviderID)
Table Row (tr)
iddes
Table Cell (td)
Get a value based on a dataprovider name.
Table Row (tr)
idprs
Table Cell (td)
Parameters
{String} dataProviderID – data provider name
Table Row (tr)
idret
Table Cell (td)
Returns
Object – Object value
Table Row (tr)
idsam
Table Cell (td)
Sample
Div
classsIndent
Code Block
languagejavascript
var val = forms.customer.foundset.getDataProviderValue('contact_name');
Table Row (tr)
classlastDetailRow
Table Cell (td)

Table Body (tbody)
idgetDataSource
classnode
Table Row (tr)
idname
Table Cell (td)
getDataSource
Table Row (tr)
idsig
Table Cell (td)
Span
stylefloat: left; margin-right: 5px;
String
Span
stylefloat: left; font-weight: bold;
idiets
getDataSource
Span
stylefloat: left;
idiets
()
Table Row (tr)
iddes
Table Cell (td)
Get the datasource used.
The datasource is an url that describes the data source.
Table Row (tr)
idret
Table Cell (td)
Returns
String – String data source.
Table Row (tr)
idsee
Table Cell (td)
Also see
Div
classsIndent
databaseManager.getDataSourceServerName
databaseManager.getDataSourceTableName
Table Row (tr)
idsam
Table Cell (td)
Sample
Div
classsIndent
Code Block
languagejavascript
var dataSource = forms.customer.foundset.getDataSource();
Table Row (tr)
classlastDetailRow
Table Cell (td)

Table Body (tbody)
idgetFoundSetFilterParams
classnode
Table Row (tr)
idname
Table Cell (td)
getFoundSetFilterParams
Table Row (tr)
idsig
Table Cell (td)
Span
stylefloat: left; margin-right: 5px;
Object[][]
Span
stylefloat: left; font-weight: bold;
idiets
getFoundSetFilterParams
Span
stylefloat: left;
idiets
()
Table Row (tr)
iddes
Table Cell (td)
Get the list of previously defined foundset filters.
The result is an array of:
[ tableName, dataprovider, operator, value, name ]
Table Row (tr)
idret
Table Cell (td)
Returns
Object[][] – Array of filter definitions.
Table Row (tr)
idsam
Table Cell (td)
Sample
Div
classsIndent
Code Block
languagejavascript
var params = foundset.getFoundSetFilterParams()
for (var i = 0; params != null && i < params.length; i++)
{
	application.output('FoundSet filter on table ' + params[i][0]+ ': '+ params[i][1]+ ' '+params[i][2]+ ' '+params[i][3] +(params[i][4] == null ? ' [no name]' : ' ['+params[i][4]+']'))
}
Table Row (tr)
classlastDetailRow
Table Cell (td)

Table Body (tbody)
idgetFoundSetFilterParams-String
classnode
Table Row (tr)
idname
Table Cell (td)
getFoundSetFilterParams
Table Row (tr)
idsig
Table Cell (td)
Span
stylefloat: left; margin-right: 5px;
Object[][]
Span
stylefloat: left; font-weight: bold;
idiets
getFoundSetFilterParams
Span
stylefloat: left;
idiets
(filterName)
Table Row (tr)
iddes
Table Cell (td)
Get a previously defined foundset filter, using its given name.
The result is an array of:
[ tableName, dataprovider, operator, value, name ]
Table Row (tr)
idprs
Table Cell (td)
Parameters
{String} filterName – name of the filter to retrieve.
Table Row (tr)
idret
Table Cell (td)
Returns
Object[][] – Array of filter definitions.
Table Row (tr)
idsam
Table Cell (td)
Sample
Div
classsIndent
Code Block
languagejavascript
var params = foundset.getFoundSetFilterParams()
for (var i = 0; params != null && i < params.length; i++)
{
	application.output('FoundSet filter on table ' + params[i][0]+ ': '+ params[i][1]+ ' '+params[i][2]+ ' '+params[i][3] +(params[i][4] == null ? ' [no name]' : ' ['+params[i][4]+']'))
}
Table Row (tr)
classlastDetailRow
Table Cell (td)

Table Body (tbody)
idgetRecord
classnode
Table Row (tr)
idname
Table Cell (td)
getRecord
Table Row (tr)
idsig
Table Cell (td)
Span
stylefloat: left; margin-right: 5px;
JSRecord
Span
stylefloat: left; font-weight: bold;
idiets
getRecord
Span
stylefloat: left;
idiets
(index)
Table Row (tr)
iddes
Table Cell (td)
Get the record object at the index.
Table Row (tr)
idprs
Table Cell (td)
Parameters
{Number} index – record index
Table Row (tr)
idret
Table Cell (td)
Returns
JSRecord – Record record.
Table Row (tr)
idsam
Table Cell (td)
Sample
Div
classsIndent
Code Block
languagejavascript
var record = forms.customer.foundset.getRecord(index);
Table Row (tr)
classlastDetailRow
Table Cell (td)

Table Body (tbody)
idgetRecordIndex
classnode
Table Row (tr)
idname
Table Cell (td)
getRecordIndex
Table Row (tr)
idsig
Table Cell (td)
Span
stylefloat: left; margin-right: 5px;
Number
Span
stylefloat: left; font-weight: bold;
idiets
getRecordIndex
Span
stylefloat: left;
idiets
(record)
Table Row (tr)
iddes
Table Cell (td)
Get the record index.
Table Row (tr)
idprs
Table Cell (td)
Parameters
{JSRecord} record – Record
Table Row (tr)
idret
Table Cell (td)
Returns
Number – int index.
Table Row (tr)
idsam
Table Cell (td)
Sample
Div
classsIndent
Code Block
languagejavascript
var index = forms.customer.foundset.getRecordIndex(record);
Table Row (tr)
classlastDetailRow
Table Cell (td)

Table Body (tbody)
idgetRelationName
classnode
Table Row (tr)
idname
Table Cell (td)
getRelationName
Table Row (tr)
idsig
Table Cell (td)
Span
stylefloat: left; margin-right: 5px;
String
Span
stylefloat: left; font-weight: bold;
idiets
getRelationName
Span
stylefloat: left;
idiets
()
Table Row (tr)
iddes
Table Cell (td)
Gets the relation name (null if not a related foundset).
Table Row (tr)
idret
Table Cell (td)
Returns
String – String relation name when related.
Table Row (tr)
idsam
Table Cell (td)
Sample
Div
classsIndent
Code Block
languagejavascript
var relName = forms.customer.foundset.getRelationName();
Table Row (tr)
classlastDetailRow
Table Cell (td)

Table Body (tbody)
idgetSelectedIndex
classnode
Table Row (tr)
idname
Table Cell (td)
getSelectedIndex
Table Row (tr)
idsig
Table Cell (td)
Span
stylefloat: left; margin-right: 5px;
Number
Span
stylefloat: left; font-weight: bold;
idiets
getSelectedIndex
Span
stylefloat: left;
idiets
()
Table Row (tr)
iddes
Table Cell (td)
Get the current record index of the foundset.
Table Row (tr)
idret
Table Cell (td)
Returns
Number – int current index (1-based)
Table Row (tr)
idsam
Table Cell (td)
Sample
Div
classsIndent
Code Block
languagejavascript
//gets the current record index in the current foundset
var current = forms.customer.foundset.getSelectedIndex();
//sets the next record in the foundset
forms.customer.foundset.setSelectedIndex(current+1);
Table Row (tr)
classlastDetailRow
Table Cell (td)

Table Body (tbody)
idgetSelectedIndexes
classnode
Table Row (tr)
idname
Table Cell (td)
getSelectedIndexes
Table Row (tr)
idsig
Table Cell (td)
Span
stylefloat: left; margin-right: 5px;
Number[]
Span
stylefloat: left; font-weight: bold;
idiets
getSelectedIndexes
Span
stylefloat: left;
idiets
()
Table Row (tr)
iddes
Table Cell (td)
Get the selected records indexes.
When the founset is in multiSelect mode (see property multiSelect), selection can be a more than 1 index.
Table Row (tr)
idret
Table Cell (td)
Returns
Number[] – Array current indexes (1-based)
Table Row (tr)
idsam
Table Cell (td)
Sample
Div
classsIndent
Code Block
languagejavascript
var current = forms.customer.foundset.getSelectedIndexes();
var newSelection = new Array();
newSelection[0] = current[0];
forms.customer.foundset.setSelectedIndexes(newSelection);
Table Row (tr)
classlastDetailRow
Table Cell (td)

Table Body (tbody)
idgetSelectedRecord
classnode
Table Row (tr)
idname
Table Cell (td)
getSelectedRecord
Table Row (tr)
idsig
Table Cell (td)
Span
stylefloat: left; margin-right: 5px;
JSRecord
Span
stylefloat: left; font-weight: bold;
idiets
getSelectedRecord
Span
stylefloat: left;
idiets
()
Table Row (tr)
iddes
Table Cell (td)
Get the selected record.
Table Row (tr)
idret
Table Cell (td)
Returns
JSRecord – Record record.
Table Row (tr)
idsam
Table Cell (td)
Sample
Div
classsIndent
Code Block
languagejavascript
var selectedRecord = forms.customer.foundset.getSelectedRecord();
Table Row (tr)
classlastDetailRow
Table Cell (td)

Table Body (tbody)
idgetSelectedRecords
classnode
Table Row (tr)
idname
Table Cell (td)
getSelectedRecords
Table Row (tr)
idsig
Table Cell (td)
Span
stylefloat: left; margin-right: 5px;
JSRecord[]
Span
stylefloat: left; font-weight: bold;
idiets
getSelectedRecords
Span
stylefloat: left;
idiets
()
Table Row (tr)
iddes
Table Cell (td)
Get the selected records.
When the founset is in multiSelect mode (see property multiSelect), selection can be a more than 1 record.
Table Row (tr)
idret
Table Cell (td)
Returns
JSRecord[] – Array current records.
Table Row (tr)
idsam
Table Cell (td)
Sample
Div
classsIndent
Code Block
languagejavascript
var selectedRecords = forms.customer.foundset.getSelectedRecords();
Table Row (tr)
classlastDetailRow
Table Cell (td)

Table Body (tbody)
idgetSize
classnode
Table Row (tr)
idname
Table Cell (td)
getSize
Table Row (tr)
idsig
Table Cell (td)
Span
stylefloat: left; margin-right: 5px;
Number
Span
stylefloat: left; font-weight: bold;
idiets
getSize
Span
stylefloat: left;
idiets
()
Table Row (tr)
iddes
Table Cell (td)
Get the number of records in this foundset.
This is the number of records loaded, note that when looping over a foundset, size() may
increase as more records are loaded.
Table Row (tr)
idret
Table Cell (td)
Returns
Number – int current size.
Table Row (tr)
idsam
Table Cell (td)
Sample
Div
classsIndent
Code Block
languagejavascript
var nrRecords = forms.customer.foundset.getSize()

// to loop over foundset, recalculate size for each record
	for (var i = 1; i <= forms.customer.foundset.getSize(); i++)
	{
		var rec = forms.customer.foundset.getRecord(i);
	}
Table Row (tr)
classlastDetailRow
Table Cell (td)

Table Body (tbody)
idinvertRecords
classnode
Table Row (tr)
idname
Table Cell (td)
invertRecords
Table Row (tr)
idsig
Table Cell (td)
Span
stylefloat: left; margin-right: 5px;
void
Span
stylefloat: left; font-weight: bold;
idiets
invertRecords
Span
stylefloat: left;
idiets
()
Table Row (tr)
iddes
Table Cell (td)
Invert the foundset against all rows of the current table.
All records that are not in the foundset will become the current foundset.
Table Row (tr)
idret
Table Cell (td)
Returns
void
Table Row (tr)
idsam
Table Cell (td)
Sample
Div
classsIndent
Code Block
languagejavascript
forms.customer.foundset.invertRecords();
Table Row (tr)
classlastDetailRow
Table Cell (td)

Table Body (tbody)
idisInFind
classnode
Table Row (tr)
idname
Table Cell (td)
isInFind
Table Row (tr)
idsig
Table Cell (td)
Span
stylefloat: left; margin-right: 5px;
Boolean
Span
stylefloat: left; font-weight: bold;
idiets
isInFind
Span
stylefloat: left;
idiets
()
Table Row (tr)
iddes
Table Cell (td)
Check if this foundset is in find mode.
Table Row (tr)
idret
Table Cell (td)
Returns
Boolean – boolean is in find mode.
Table Row (tr)
idsam
Table Cell (td)
Sample
Div
classsIndent
Code Block
languagejavascript
//Returns true when find was called on this foundset and search has not been called yet
forms.customer.foundset.isInFind();
Table Row (tr)
classlastDetailRow
Table Cell (td)

Table Body (tbody)
idloadAllRecords
classnode
Table Row (tr)
idname
Table Cell (td)
loadAllRecords
Table Row (tr)
idsig
Table Cell (td)
Span
stylefloat: left; margin-right: 5px;
Boolean
Span
stylefloat: left; font-weight: bold;
idiets
loadAllRecords
Span
stylefloat: left;
idiets
()
Table Row (tr)
iddes
Table Cell (td)

Loads all accessible records from the datasource into the foundset.
Filters on the foundset are applied.

Before loading the records, all unsaved records will be saved in the database.
If this fails (due to validation failures or sql errors) or is not allowed (autosave off),
records will not be loaded,

Table Row (tr)
idret
Table Cell (td)
Returns
Boolean – true if records are loaded, false otherwise.
Table Row (tr)
idsee
Table Cell (td)
Also see
Div
classsIndent
.addFoundSetFilterParam
Table Row (tr)
idsam
Table Cell (td)
Sample
Div
classsIndent
Code Block
languagejavascript
forms.customer.foundset.loadAllRecords();
Table Row (tr)
classlastDetailRow
Table Cell (td)

Table Body (tbody)
idloadOmittedRecords
classnode
Table Row (tr)
idname
Table Cell (td)
loadOmittedRecords
Table Row (tr)
idsig
Table Cell (td)
Span
stylefloat: left; margin-right: 5px;
Boolean
Span
stylefloat: left; font-weight: bold;
idiets
loadOmittedRecords
Span
stylefloat: left;
idiets
()
Table Row (tr)
iddes
Table Cell (td)

Loads the records that are currently omitted as a foundset.

Before loading the omitted records, all unsaved records will be saved in the database.
If this fails (due to validation failures or sql errors) or is not allowed (autosave off),
omitted records will not be loaded,

Table Row (tr)
idret
Table Cell (td)
Returns
Boolean – true if records are loaded, false otherwise.
Table Row (tr)
idsam
Table Cell (td)
Sample
Div
classsIndent
Code Block
languagejavascript
forms.customer.foundset.loadOmittedRecords();
Table Row (tr)
classlastDetailRow
Table Cell (td)

Table Body (tbody)
idloadRecords
classnode
Table Row (tr)
idname
Table Cell (td)
loadRecords
Table Row (tr)
idsig
Table Cell (td)
Span
stylefloat: left; margin-right: 5px;
Boolean
Span
stylefloat: left; font-weight: bold;
idiets
loadRecords
Span
stylefloat: left;
idiets
([input], [queryArgumentsArray])
Table Row (tr)
iddes
Table Cell (td)

Load records with primary key (dataset/number/uuid) or query.

Load records can be used in 5 different ways
1) to copy foundset data from another foundset
foundset.loadRecords(fs);

2) to load a primary key dataset, will remove related sort!
var dataset = databaseManager.getDataSetByQuery(...);
foundset.loadRecords(dataset);

3) to load a single record by primary key, will remove related sort! (pk should be a number or UUID)
foundset.loadRecords(123);
foundset.loadRecords(application.getUUID('6b5e2f5d-047e-45b3-80ee-3a32267b1f20'));

4) to reload all last related records again, if for example when searched in tabpanel
foundset.loadRecords();

5) to load records in to the form based on a query (also known as 'Form by query')
foundset.loadRecords(sqlstring,parameters);
limitations/requirements for sqlstring are:
-must start with 'select'
-the selected columns must be the (Servoy Form) table primary key columns (alphabetically ordered like 'select a_id, b_id,c_id ...')
-can contain '?' which are replaced with values from the array supplied to parameters argument
if the sqlstring contains an 'order by' clause, the records will be sorted accordingly and additional constraints apply:
-must contain 'from' keyword
-the 'from' must be a comma separated list of table names
-must at least select from the table used in Servoy Form
-cannot contain 'group by', 'having' or 'union'
-all columns must be fully qualified like 'orders.order_id'

Table Row (tr)
idprs
Table Cell (td)
Parameters
[input] – foundset/pkdataset/single_pk/query
[queryArgumentsArray] – used when input is a query
Table Row (tr)
idret
Table Cell (td)
Returns
Boolean – true if successful
Table Row (tr)
idsam
Table Cell (td)
Sample
Div
classsIndent
Code Block
languagejavascript
//Load records can be used in 5 different ways
//1) to copy foundset data from another foundset
//forms.customer.foundset.loadRecords(fs);

//2) to load a primary key dataset, will remove related sort!
//var dataset = databaseManager.getDataSetByQuery(...);
// dataset must match the table primary key columns (alphabetically ordered)
//forms.customer.foundset.loadRecords(dataset);

//3) to load a single record by primary key, will remove related sort! (pk should be a number or UUID)
//forms.customer.foundset.loadRecords(123);
//forms.customer.foundset.loadRecords(application.getUUID('6b5e2f5d-047e-45b3-80ee-3a32267b1f20'));

//4) to reload all last related records again, if for example when searched in tabpanel
//forms.customer.foundset.loadRecords();

//5) to load records in to the form based on a query (also known as 'Form by query')
//forms.customer.foundset.loadRecords(sqlstring,parameters);
//limitations/requirements for sqlstring are:
//-must start with 'select'
//-the selected columns must be the (Servoy Form) table primary key columns (alphabetically ordered like 'select a_id, b_id,c_id ...')
//-can contain '?' which are replaced with values from the array supplied to parameters argument
//if the sqlstring contains an 'order by' clause, the records will be sorted accordingly and additional constraints apply:
//-must contain 'from' keyword
//-the 'from' must be a comma separated list of table names
//-must at least select from the table used in Servoy Form
//-cannot contain 'group by', 'having' or 'union'
//-all columns must be fully qualified like 'orders.order_id'
Table Row (tr)
classlastDetailRow
Table Cell (td)

Table Body (tbody)
idnewRecord
classnode
Table Row (tr)
idname
Table Cell (td)
newRecord
Table Row (tr)
idsig
Table Cell (td)
Span
stylefloat: left; margin-right: 5px;
Number
Span
stylefloat: left; font-weight: bold;
idiets
newRecord
Span
stylefloat: left;
idiets
([location], [changeSelection])
Table Row (tr)
iddes
Table Cell (td)
Create a new record in the foundset.
Table Row (tr)
idprs
Table Cell (td)
Parameters
[location] – a boolean or number when true the new record is added as the topmost record, when a number, the new record is added at specified index ; defaults to 1.
{Boolean} [changeSelection] – when true the selection is changed to the new record; defaults to true.
Table Row (tr)
idret
Table Cell (td)
Returns
Number – int index of new record.
Table Row (tr)
idsam
Table Cell (td)
Sample
Div
classsIndent
Code Block
languagejavascript
// foreign key data is only filled in for equals (=) relation items 
var idx = forms.customer.foundset.newRecord(false); // add as last record
// forms.customer.foundset.newRecord(); // adds as first record
// forms.customer.foundset.newRecord(2); //adds as second record
if (idx >= 0) // returned index is -1 in case of failure 
{
	forms.customer.foundset.some_column = "some text";
	application.output("added on position " + idx);
	// when adding at the end of the foundset, the returned index
	// corresponds with the size of the foundset
}
Table Row (tr)
classlastDetailRow
Table Cell (td)

Table Body (tbody)
idomitRecord
classnode
Table Row (tr)
idname
Table Cell (td)
omitRecord
Table Row (tr)
idsig
Table Cell (td)
Span
stylefloat: left; margin-right: 5px;
Boolean
Span
stylefloat: left; font-weight: bold;
idiets
omitRecord
Span
stylefloat: left;
idiets
([index])
Table Row (tr)
iddes
Table Cell (td)

Omit current record or the record under the given index, to be shown with loadOmittedRecords.
If the foundset is in multiselect mode, all selected records are omitted (when no index parameter is used).

Note: The omitted records list is discarded when these functions are executed: loadAllRecords, loadRecords(dataset), loadRecords(sqlstring), invertRecords()

Table Row (tr)
idprs
Table Cell (td)
Parameters
[index] – index of record to omit.
Table Row (tr)
idret
Table Cell (td)
Returns
Boolean – boolean true if all records could be omitted.
Table Row (tr)
idsee
Table Cell (td)
Also see
Div
classsIndent
.loadOmittedRecords
Table Row (tr)
idsam
Table Cell (td)
Sample
Div
classsIndent
Code Block
languagejavascript
var success = forms.customer.foundset.omitRecord();
Table Row (tr)
classlastDetailRow
Table Cell (td)

Table Body (tbody)
idrelookup
classnode
Table Row (tr)
idname
Table Cell (td)
relookup
Table Row (tr)
idsig
Table Cell (td)
Span
stylefloat: left; margin-right: 5px;
void
Span
stylefloat: left; font-weight: bold;
idiets
relookup
Span
stylefloat: left;
idiets
([index])
Table Row (tr)
iddes
Table Cell (td)
Perform a relookup for the current record or the record under the given index
Lookups are defined in the dataprovider (columns) auto-enter setting and are normally performed over a relation upon record creation.
Table Row (tr)
idprs
Table Cell (td)
Parameters
[index] – record index (1-based)
Table Row (tr)
idret
Table Cell (td)
Returns
void
Table Row (tr)
idsam
Table Cell (td)
Sample
Div
classsIndent
Code Block
languagejavascript
forms.customer.foundset.relookup(1);
Table Row (tr)
classlastDetailRow
Table Cell (td)

Table Body (tbody)
idremoveFoundSetFilterParam
classnode
Table Row (tr)
idname
Table Cell (td)
removeFoundSetFilterParam
Table Row (tr)
idsig
Table Cell (td)
Span
stylefloat: left; margin-right: 5px;
Boolean
Span
stylefloat: left; font-weight: bold;
idiets
removeFoundSetFilterParam
Span
stylefloat: left;
idiets
(name)
Table Row (tr)
iddes
Table Cell (td)
Remove a named foundset filter.
Use clear() or loadAllRecords() to make the filter effective.
Table Row (tr)
idprs
Table Cell (td)
Parameters
{String} name – String filter name.
Table Row (tr)
idret
Table Cell (td)
Returns
Boolean – true if removing the filter succeeded, false otherwise.
Table Row (tr)
idsam
Table Cell (td)
Sample
Div
classsIndent
Code Block
languagejavascript
var success = forms.customer.foundset.removeFoundSetFilterParam('custFilter');// removes all filters with this name
forms.customer.foundset.loadAllRecords();//to make param(s) effective
Table Row (tr)
classlastDetailRow
Table Cell (td)

Table Body (tbody)
idsearch
classnode
Table Row (tr)
idname
Table Cell (td)
Table Row (tr)
idsig
Table Cell (td)
Span
stylefloat: left; margin-right: 5px;
Number
Span
stylefloat: left; font-weight: bold;
idiets
search
Span
stylefloat: left;
idiets
([clearLastResults], [reduceSearch])
Table Row (tr)
iddes
Table Cell (td)

Start the database search and use the results, returns the number of records, make sure you did "find" function first.

Note: Omitted records are automatically excluded when performing a search - meaning that the foundset result by default will not include omitted records.

Table Row (tr)
idprs
Table Cell (td)
Parameters
[clearLastResults] – boolean, clear previous search, default true
[reduceSearch] – boolean, reduce (true) or extend (false) previous search results, default true
Table Row (tr)
idret
Table Cell (td)
Returns
Number – the recordCount
Table Row (tr)
idsee
Table Cell (td)
Also see
Div
classsIndent
.find
Table Row (tr)
idsam
Table Cell (td)
Sample
Div
classsIndent
Code Block
languagejavascript
var recordCount = forms.customer.foundset.search();
//var recordCount = forms.customer.foundset.search(false,false); //to extend foundset
Table Row (tr)
classlastDetailRow
Table Cell (td)

Table Body (tbody)
idselectRecord
classnode
Table Row (tr)
idname
Table Cell (td)
selectRecord
Table Row (tr)
idsig
Table Cell (td)
Span
stylefloat: left; margin-right: 5px;
Boolean
Span
stylefloat: left; font-weight: bold;
idiets
selectRecord
Span
stylefloat: left;
idiets
(pkid1, [pkid2], [pkidn])
Table Row (tr)
iddes
Table Cell (td)

Select the record based on pk data.
Note that if the foundset has not loaded the record with the pk, selectrecord will fail.

In case of a table with a composite key, the pk sequence must match the alphabetical
ordering of the pk column names.

Table Row (tr)
idprs
Table Cell (td)
Parameters
pkid1 – primary key
[pkid2] – second primary key (in case of composite primary key)
[pkidn] – nth primary key
Table Row (tr)
idret
Table Cell (td)
Returns
Boolean – true if succeeded.
Table Row (tr)
idsam
Table Cell (td)
Sample
Div
classsIndent
Code Block
languagejavascript
forms.customer.foundset.selectRecord(pkid1,pkid2,pkidn);//pks must be alphabetically set! It is also possible to use an array as parameter.
Table Row (tr)
classlastDetailRow
Table Cell (td)

Table Body (tbody)
idsetDataProviderValue
classnode
Table Row (tr)
idname
Table Cell (td)
setDataProviderValue
Table Row (tr)
idsig
Table Cell (td)
Span
stylefloat: left; margin-right: 5px;
void
Span
stylefloat: left; font-weight: bold;
idiets
setDataProviderValue
Span
stylefloat: left;
idiets
(dataProviderID, value)
Table Row (tr)
iddes
Table Cell (td)
Set a value based on a dataprovider name.
Table Row (tr)
idprs
Table Cell (td)
Parameters
{String} dataProviderID – data provider name
{Object} value – value to set
Table Row (tr)
idret
Table Cell (td)
Returns
void
Table Row (tr)
idsam
Table Cell (td)
Sample
Div
classsIndent
Code Block
languagejavascript
forms.customer.foundset.setDataProviderValue('contact_name','mycompany');
Table Row (tr)
classlastDetailRow
Table Cell (td)

Table Body (tbody)
idsetSelectedIndex
classnode
Table Row (tr)
idname
Table Cell (td)
setSelectedIndex
Table Row (tr)
idsig
Table Cell (td)
Span
stylefloat: left; margin-right: 5px;
void
Span
stylefloat: left; font-weight: bold;
idiets
setSelectedIndex
Span
stylefloat: left;
idiets
(index)
Table Row (tr)
iddes
Table Cell (td)
Set the current record index.
Table Row (tr)
idprs
Table Cell (td)
Parameters
{Number} index – index to set (1-based)
Table Row (tr)
idret
Table Cell (td)
Returns
void
Table Row (tr)
idsam
Table Cell (td)
Sample
Div
classsIndent
Code Block
languagejavascript
//gets the current record index in the current foundset
var current = forms.customer.foundset.getSelectedIndex();
//sets the next record in the foundset
forms.customer.foundset.setSelectedIndex(current+1);
Table Row (tr)
classlastDetailRow
Table Cell (td)

Table Body (tbody)
idsetSelectedIndexes
classnode
Table Row (tr)
idname
Table Cell (td)
setSelectedIndexes
Table Row (tr)
idsig
Table Cell (td)
Span
stylefloat: left; margin-right: 5px;
void
Span
stylefloat: left; font-weight: bold;
idiets
setSelectedIndexes
Span
stylefloat: left;
idiets
(indexes)
Table Row (tr)
iddes
Table Cell (td)
Set the selected records indexes.
Table Row (tr)
idprs
Table Cell (td)
Parameters
{Object[]} indexes – An array with indexes to set.
Table Row (tr)
idret
Table Cell (td)
Returns
void
Table Row (tr)
idsam
Table Cell (td)
Sample
Div
classsIndent
Code Block
languagejavascript
var current = forms.customer.foundset.getSelectedIndexes();
var newSelection = new Array();
newSelection[0] = current[0];
forms.customer.foundset.setSelectedIndexes(newSelection);
Table Row (tr)
classlastDetailRow
Table Cell (td)

Table Body (tbody)
idsort
classnode
Table Row (tr)
idname
Table Cell (td)
sort
Table Row (tr)
idsig
Table Cell (td)
Span
stylefloat: left; margin-right: 5px;
void
Span
stylefloat: left; font-weight: bold;
idiets
sort
Span
stylefloat: left;
idiets
(sortString/recordComparator, [defer])
Table Row (tr)
iddes
Table Cell (td)
Sorts the foundset based on the given sort string or record comparator function.
TIP: You can use the Copy button in the developer Select Sorting Fields dialog to get the needed syntax string for the desired sort fields/order.
The comparator function is called to compare
two records, that are passed as arguments, and
it will return -1/0/1 if the first record is less/equal/greater
then the second record.
Table Row (tr)
idprs
Table Cell (td)
Parameters
sortString/recordComparator – the specified columns (and sort order) or record comparator function
{Boolean} [defer] – when true, the "sortString" will be just stored, without performing a query on the database (the actual sorting will be deferred until the next data loading action).
Table Row (tr)
idret
Table Cell (td)
Returns
void
Table Row (tr)
idsam
Table Cell (td)
Sample
Div
classsIndent
Code Block
languagejavascript
forms.customer.foundset.sort('columnA desc,columnB asc');

forms.customer.foundset.sort(mySortFunction);
 
function mySortFunction(r1, r2)
{
	var o = 0;
	if(r1.id < r2.id)
	{
		o = -1;
	}
	else if(r1.id > r2.id)
	{
		o = 1;
	}
	return o;
}
Table Row (tr)
classlastDetailRow
Table Cell (td)

Table Body (tbody)
idunrelate
classnode
Table Row (tr)
idname
Table Cell (td)
unrelate
Table Row (tr)
idsig
Table Cell (td)
Span
stylefloat: left; margin-right: 5px;
JSFoundset
Span
stylefloat: left; font-weight: bold;
idiets
unrelate
Span
stylefloat: left;
idiets
()
Table Row (tr)
iddes
Table Cell (td)
Create a new unrelated foundset that is a copy of the current foundset.
If the current foundset is not related, no copy will made.
Table Row (tr)
idret
Table Cell (td)
Returns
JSFoundset – FoundSet unrelated foundset.
Table Row (tr)
idsam
Table Cell (td)
Sample
Div
classsIndent
Code Block
languagejavascript
forms.customer.foundset.unrelate();
Table Row (tr)
classlastDetailRow
Table Cell (td)