Child pages
  • JSFoundSetUpdater

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
 
Divcache
Div
iddescription
Excerpt Include
The Servoy FoundsetThe Servoy Foundset
nopaneltrue
HTML Table
classservoy sSummary
Colgroup Tag
Col
width80px
Col
Table Head (thead)
Table Row (tr)
styleheight: 30px;
Table Head (th)
colspan2
Method Summary
Table Row (tr)
Table Cell (td)
Boolean
Table Cell (td)next()
indexstyletruedisplay:none

DO NOT EDIT THE CONTENT OF THIS PAGE DIRECTLY (EXCEPT INSIDE THE DIV BELOW WITH ID=DESCRIPTION), UNLESS YOU KNOW WHAT YOU'RE DOING.
THE STRUCTURE OF THE CONTENT IS VITAL IN BEING ABLE TO AUTO UPDATE THE CONTENT THROUGH THE DOC GENERATOR.

refresh100d
showRefreshtrue
iddoc
titleRefresh page
showDatetrue
retryEnable
id

servoy sReturnTypes2100%height: 30px;2Supported ClientssWordListSmartClientsWordListWebClientsWordListNGClient

Table Cell (td)
Boolean
Table Cell (td)performUpdate()
servoy sSummary12%30%58%height: 30px;3Methods SummaryGo to next record in this updater, returns true if successful. Table Row (tr)Do the actual update in the database, returns true if successful. Table Row (tr) Table Cell (td) Table Cell (td)resetIterator()
voidStart over with this iterator 'next' function (at the foundset selected record). Table Row (tr)
Table Cell (td)
Boolean
Table Cell (td)setColumn(name, value)
Set the column value to update, returns true if successful. HTML Table

functionclass Colgroup Tag Colcolspanservoy sDetail2width100%

Col
Table Head (thead) Table Row (tr)styleheight:30px;
Table Head (th)
colspan2
Method Details
Table Body (tbody)
idnext
Table Row (tr)
idname
Table Cell (td)

next

Table Row (tr)
idsig
Table Cell (td)
Span
stylemargin-right: 5px;
Boolean
Span
stylefont-weight: bold;
next
Span
()
Table Row (tr)
iddes
Table Cell (td) Div
classsIndent
2Methods Detailsnextname

next()

dessIndentGo to next record in this updater, returns true if successful
.
Table Row (tr)
idret
Table Cell (td)

Returns

Div
classsIndent
Boolean - true if proceeded to next record, false otherwise
Table Row (tr)
idsam
Table Cell (td)

Sample

Div
classsIndent
Code Block
languagejavascript
controller.setSelectedIndex(1)
var count = 0
var fsUpdater = databaseManager.getFoundSetUpdater(foundset)
while(fsUpdater.next())
{
	fsUpdater.setColumn('my_flag',count++)
}
Table Row (tr)
classlastDetailRow
Table Cell (td)
 
Table Body (tbody)
idperformUpdate
Table Row (tr)
idname
Table Cell (td)

performUpdate

Table Row (tr)
idsig
Table Cell (td)
Span
stylemargin-right: 5px;
Boolean
Span
stylefont-weight: bold;
performUpdate
Span
()
Table Row (tr)
iddes
Table Cell (td) Div
classsIndent
. NOTE: this method doesn't take into account deletes and inserts that may happen at same time. For more reliable iterator see foundset.forEachret

Returns

sIndent
clients

Supported Clients

sIndentSmartClient,WebClient,NGClient
sam

Sample

sIdentjavascript
lastDetailRow 
performUpdatename

performUpdate()

dessIndentDo the actual update in the database, returns true if successful.

There are 3 types of possible use with the foundset updater
1) update entire foundset by a single sql statement; that is not possible when the table of the foundset has tracking enabled then it will loop over the whole foundset.
When a single sql statement is done, modification columns will not be updated and associated Table Events won't be triggered, because it does the update directly in the database, without getting the records.
NOTE: this mode will refresh all foundsets based on same datasource 2) update part of foundset, for example the first 4 row (starts with selected row)
3) safely loop through foundset (starts with selected row) after the perform update call there are no records in edit mode, that where not already in edit mode, because all of them are saved directly to the database,
Table Row (tr)id or in mode 1 the records are not touched at all and the database is updated directly.tdret

Returns

divsIndentclients

class Table Body (tbody)

idresetIterator
Table Row (tr)
idname
Table Cell (td)

resetIterator

Table Row (tr)
idsig
Table Cell (td)
Span
stylemargin-right: 5px;
void
Span
stylefont-weight: bold;
resetIterator
Span
()
Table Row (tr)
iddes
Table Cell (td) Div
classsIndent

Supported Clients

sIndent
Boolean - true if succeeded, false if failed.
Table Row (tr)
idsam
Table Cell (td)

Sample

Div
classsIndent
Code Block
languagejavascript
//1) update entire foundset
var fsUpdater = databaseManager.getFoundSetUpdater(foundset)
fsUpdater.setColumn('customer_type',1)
fsUpdater.setColumn('my_flag',0)
fsUpdater.performUpdate()

//2) update part of foundset, for example the first 4 row (starts with selected row)
var fsUpdater = databaseManager.getFoundSetUpdater(foundset)
fsUpdater.setColumn('customer_type',new Array(1,2,3,4))
fsUpdater.setColumn('my_flag',new Array(1,0,1,0))
fsUpdater.performUpdate()

//3) safely loop through foundset (starts with selected row)
controller.setSelectedIndex(1)
var count = 0
var fsUpdater = databaseManager.getFoundSetUpdater(foundset)
while(fsUpdater.next())
{
	fsUpdater.setColumn('my_flag',count++)
}
Table Row (tr)
classlastDetailRow
Table Cell (td)
 
SmartClient,WebClient,NGClientsam

Sample

sIdentjavascript
lastDetailRow 
resetIteratorname

resetIterator()

dessIndentStart over with this iterator 'next' function (at the foundset selected record).
Table Row (tr)idret

Table Cell (td)

Returns

divsIndentclients

classtd

Supported Clients

sIndent
void Table Row (tr)
idsam
Table Row (tr)
classlastDetailRow
Table Cell (td)
 
Table Body (tbody)
idsetColumn-String_Object
Table Row (tr)
idname
Table Cell (td)

setColumn

Table Row (tr)
idsig
Table Cell (td)
Span
stylemargin-right: 5px;
Boolean
Span
stylefont-weight: bold;
setColumn
SpanSmartClient,WebClient,NGClientsam

Sample

Div
classsIndent
Code Block
languagejavascript
controller.setSelectedIndex(1)
var count = 0
var fsUpdater = databaseManager.getFoundSetUpdater(foundset)
while(fsUpdater.next())
{
	fsUpdater.setColumn('my_flag',++count)
}
fsUpdater.resetIterator()
while(fsUpdater.next())
{
	fsUpdater.setColumn('max_flag',count)
}
sIdentjavascriptlastDetailRow setColumnname

setColumn(name, value)

Table Row (tr)idclass

des Table Cell (td) DivsIndentSet the column value to update, returns true if successful. Table Row (tr)idtdprsclass

Parameters

DivsIndent{String} name - The name of the column to update.
{Object} value - The new value (can be an array with data for x number of rows) to be stored in the specified column. Table Row (tr)idtdret

Returns

divsIndentclients

class

Table Row (tr)
idsam
Table Cell (td)

Sample

Div
classsIndent
Code Block
languagejavascript
//1) update entire foundset
var fsUpdater = databaseManager.getFoundSetUpdater(foundset)
fsUpdater.setColumn('customer_type',1)
fsUpdater.setColumn('my_flag',0)
fsUpdater.performUpdate()

//2) update part of foundset, for example the first 4 row (starts with selected row)
var fsUpdater = databaseManager.getFoundSetUpdater(foundset)
fsUpdater.setColumn('customer_type',new Array(1,2,3,4))
fsUpdater.setColumn('my_flag',new Array(1,0,1,0))
fsUpdater.performUpdate()

//3) safely loop through foundset (starts with selected row)
controller.setSelectedIndex(1)
var count = 0
var fsUpdater = databaseManager.getFoundSetUpdater(foundset)
while(fsUpdater.next())
{
	fsUpdater.setColumn('my_flag',count++)
}
Table Row (tr)
classlastDetailRow
Table Cell (td) 

Supported Clients

sIndent
Boolean - true if succeeded, false if failed.SmartClient,WebClient,NGClientsam

Sample

sIdentjavascript
lastDetailRow