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.
Enter additional information related to this 'class' inside the {div} macro with 'id=description'
{column:width=80px|padding=0px}{column}{column}{column}
Property Summary
{column:width=80px|padding=0px}{column}{column}{column}
Method Summary
void
addHTMLProperty(row, col, name, value)
Add an HTML property to an HTML tag produced in getAsHTML().
void
addRow(index, array)
Add a row to the dataset.
void
addRow(array)
Add a row to the dataset.
createDataSource(name)
Create a data source from the data set with specified name and using specified types.
createDataSource(name, types)
Create a data source from the data set with specified name and using specified types.
Object[]
getColumnAsArray(index)
Get the column data of a dataset as an Array.
getColumnName(index)
Get a column name based on index.
getColumnType(index)
Get a column type based on index.
getException()
Get the database exception if an error occurred.
getMaxColumnIndex()
Get the number of columns in the dataset.
getMaxRowIndex()
Get the number of rows in the dataset.
Object[]
getRowAsArray(index)
Get the row data of a dataset as an Array.
hadMoreData()
Return true if there is more data in the resultset then specified by maxReturnedRows at query time.
removeColumn(index)
Remove a column by index from the dataset.
void
removeRow(row)
Remove a row from the dataset.
void
setColumnName(index, columnName)
Set a column name based on index.
void
setValue(row, col, obj)
Set the value specified by row and column position from the dataset.
void
sort(col, sort_direction)
Sort the dataset on the given column (1-based) in ascending or descending.
void
sort(comparator)
Sort the dataset using the function as comparator.
{column:width=100%|padding=0px}{column}
Property Details
Sample
//assuming the variable dataset contains a dataset //to set the rowIndex: dataset.rowIndex = 1 //sets the rowIndex to the first row (dataset is 1-based) //to retrieve the rowIndex of the currently selected row var currRow = dataset.rowIndex
{column:width=100%|padding=0px}{column}
Method Details
addColumn
(name)
Sample
//assuming the variable dataset contains a dataset var success = dataset.addColumn('columnName',1);
addColumn
(name, index)
Sample
//assuming the variable dataset contains a dataset var success = dataset.addColumn('columnName',1);
addColumn
(name, index, type)
Sample
//assuming the variable dataset contains a dataset var success = dataset.addColumn('columnName',1);
void
addHTMLProperty
(row, col, name, value)
Returns
void
Sample
//adds a container property (to TABLE tag) dataset.addHTMLProperty(-1,-1,'cellspacing','3'); dataset.addHTMLProperty(-1,-1,'style','border-collapse:collapse;'); //to have a single line border //adds a row property to all rows (to TR tag) dataset.addHTMLProperty(0,0,'class','text'); //adds a row property to second row (to TR tag) dataset.addHTMLProperty(2,0,'class','text'); //adds a column property to all 3rd columns (to TD tag) dataset.addHTMLProperty(0,3,'class','redcolumn') ; //adds a specific cell property (to TD tag) dataset.addHTMLProperty(2,4,'color','blue'); scopes.globals.html_field = '<html>'+dataset.getAsHTML()+'</html>';
void
addRow
(index, array)
Returns
void
Sample
//assuming the variable dataset contains a dataset dataset.addRow(new Array(1,2,3,4,5,6,7,7)); //adds a row with 8 columns dataset.addRow(2, new Array(1,2,3,4,5,6,7,7)); //adds a row with 8 columns at row 2
void
addRow
(array)
Returns
void
Sample
//assuming the variable dataset contains a dataset dataset.addRow(new Array(1,2,3,4,5,6,7,7)); //adds a row with 8 columns dataset.addRow(2, new Array(1,2,3,4,5,6,7,7)); //adds a row with 8 columns at row 2
createDataSource
(name)
Returns
String – String uri reference to the created data source.
Sample
ds.addColumn('my_id'); // note: use regular javascript identifiers so they can be used in scripting ds.addColumn('my_label'); var uri = ds.createDataSource('mydata', [JSColumn.INTEGER, JSColumn.TEXT]); var jsform = solutionModel.newForm(fname, uri, null, true, 300, 300); var query = 'select customerid, address, city, country from customers'; var ds2 = databaseManager.getDataSetByQuery('example_data', query, null, 999); var uri2 = ds2.createDataSource('mydata2'); // types are inferred from query result
createDataSource
(name, types)
Returns
String – String uri reference to the created data source.
Sample
ds.addColumn('my_id'); // note: use regular javascript identifiers so they can be used in scripting ds.addColumn('my_label'); var uri = ds.createDataSource('mydata', [JSColumn.INTEGER, JSColumn.TEXT]); var jsform = solutionModel.newForm(fname, uri, null, true, 300, 300); var query = 'select customerid, address, city, country from customers'; var ds2 = databaseManager.getDataSetByQuery('example_data', query, null, 999); var uri2 = ds2.createDataSource('mydata2'); // types are inferred from query result
getAsHTML
()
Sample
//gets a dataset based on a query //useful to limit the number of rows var maxReturnedRows = 10; var query = 'select c1,c2,c3 from test_table where start_date = ?'; //to access data by name, do not use '.' or special characters in names or aliases var args = new Array(); args[0] = order_date //or new Date(); var dataset = databaseManager.getDataSetByQuery(databaseManager.getDataSourceServerName(controller.getDataSource()),query,args,maxReturnedRows); // gets a dataset with escape values; escape spaces (lines will not wrap); no multi-line markup; with pretty indentation; shows column names var htmlTable = dataset.getAsHTML(true, true, false, true, true); //assigns the dataset to a field and sets the display type to HTML_AREA //assuming the html_field is a global text variable scopes.globals.html_field = '<html>'+dataset.getAsHTML()+'</html>'; //Note: To display an HTML_AREA field as an HTML page, add HTML tags at the beginning '<html>' and at the end '</html>'.
getAsHTML
(escape_values)
Parameters
{Boolean} escape_values – if true, replaces illegal HTML characters with corresponding valid escape sequences.
Sample
//gets a dataset based on a query //useful to limit the number of rows var maxReturnedRows = 10; var query = 'select c1,c2,c3 from test_table where start_date = ?'; //to access data by name, do not use '.' or special characters in names or aliases var args = new Array(); args[0] = order_date //or new Date(); var dataset = databaseManager.getDataSetByQuery(databaseManager.getDataSourceServerName(controller.getDataSource()),query,args,maxReturnedRows); // gets a dataset with escape values; escape spaces (lines will not wrap); no multi-line markup; with pretty indentation; shows column names var htmlTable = dataset.getAsHTML(true, true, false, true, true); //assigns the dataset to a field and sets the display type to HTML_AREA //assuming the html_field is a global text variable scopes.globals.html_field = '<html>'+dataset.getAsHTML()+'</html>'; //Note: To display an HTML_AREA field as an HTML page, add HTML tags at the beginning '<html>' and at the end '</html>'.
getAsHTML
(escape_values, escape_spaces)
Sample
//gets a dataset based on a query //useful to limit the number of rows var maxReturnedRows = 10; var query = 'select c1,c2,c3 from test_table where start_date = ?'; //to access data by name, do not use '.' or special characters in names or aliases var args = new Array(); args[0] = order_date //or new Date(); var dataset = databaseManager.getDataSetByQuery(databaseManager.getDataSourceServerName(controller.getDataSource()),query,args,maxReturnedRows); // gets a dataset with escape values; escape spaces (lines will not wrap); no multi-line markup; with pretty indentation; shows column names var htmlTable = dataset.getAsHTML(true, true, false, true, true); //assigns the dataset to a field and sets the display type to HTML_AREA //assuming the html_field is a global text variable scopes.globals.html_field = '<html>'+dataset.getAsHTML()+'</html>'; //Note: To display an HTML_AREA field as an HTML page, add HTML tags at the beginning '<html>' and at the end '</html>'.
getAsHTML
(escape_values, escape_spaces, multi_line_markup)
Parameters
{Boolean} escape_values – if true, replaces illegal HTML characters with corresponding valid escape sequences.
{Boolean} escape_spaces – if true, replaces text spaces with non-breaking space tags ( ) and tabs by four non-breaking space tags.
{Boolean} multi_line_markup – if true, multiLineMarkup will enforce new lines that are in the text; single new lines will be replaced by <br>, multiple new lines will be replaced by <p>
Sample
//gets a dataset based on a query //useful to limit the number of rows var maxReturnedRows = 10; var query = 'select c1,c2,c3 from test_table where start_date = ?'; //to access data by name, do not use '.' or special characters in names or aliases var args = new Array(); args[0] = order_date //or new Date(); var dataset = databaseManager.getDataSetByQuery(databaseManager.getDataSourceServerName(controller.getDataSource()),query,args,maxReturnedRows); // gets a dataset with escape values; escape spaces (lines will not wrap); no multi-line markup; with pretty indentation; shows column names var htmlTable = dataset.getAsHTML(true, true, false, true, true); //assigns the dataset to a field and sets the display type to HTML_AREA //assuming the html_field is a global text variable scopes.globals.html_field = '<html>'+dataset.getAsHTML()+'</html>'; //Note: To display an HTML_AREA field as an HTML page, add HTML tags at the beginning '<html>' and at the end '</html>'.
getAsHTML
(escape_values, escape_spaces, multi_line_markup, pretty_indent)
Parameters
{Boolean} escape_values – if true, replaces illegal HTML characters with corresponding valid escape sequences.
{Boolean} escape_spaces – if true, replaces text spaces with non-breaking space tags ( ) and tabs by four non-breaking space tags.
{Boolean} multi_line_markup – if true, multiLineMarkup will enforce new lines that are in the text; single new lines will be replaced by <br>, multiple new lines will be replaced by <p>
{Boolean} pretty_indent – if true, adds indentation for more readable HTML code.
Sample
//gets a dataset based on a query //useful to limit the number of rows var maxReturnedRows = 10; var query = 'select c1,c2,c3 from test_table where start_date = ?'; //to access data by name, do not use '.' or special characters in names or aliases var args = new Array(); args[0] = order_date //or new Date(); var dataset = databaseManager.getDataSetByQuery(databaseManager.getDataSourceServerName(controller.getDataSource()),query,args,maxReturnedRows); // gets a dataset with escape values; escape spaces (lines will not wrap); no multi-line markup; with pretty indentation; shows column names var htmlTable = dataset.getAsHTML(true, true, false, true, true); //assigns the dataset to a field and sets the display type to HTML_AREA //assuming the html_field is a global text variable scopes.globals.html_field = '<html>'+dataset.getAsHTML()+'</html>'; //Note: To display an HTML_AREA field as an HTML page, add HTML tags at the beginning '<html>' and at the end '</html>'.
getAsHTML
(escape_values, escape_spaces, multi_line_markup, pretty_indent, add_column_names)
Parameters
{Boolean} escape_values – if true, replaces illegal HTML characters with corresponding valid escape sequences.
{Boolean} escape_spaces – if true, replaces text spaces with non-breaking space tags ( ) and tabs by four non-breaking space tags.
{Boolean} multi_line_markup – if true, multiLineMarkup will enforce new lines that are in the text; single new lines will be replaced by <br>, multiple new lines will be replaced by <p>
{Boolean} pretty_indent – if true, adds indentation for more readable HTML code.
{Boolean} add_column_names – if false, column headers will not be added to the table.
Sample
//gets a dataset based on a query //useful to limit the number of rows var maxReturnedRows = 10; var query = 'select c1,c2,c3 from test_table where start_date = ?'; //to access data by name, do not use '.' or special characters in names or aliases var args = new Array(); args[0] = order_date //or new Date(); var dataset = databaseManager.getDataSetByQuery(databaseManager.getDataSourceServerName(controller.getDataSource()),query,args,maxReturnedRows); // gets a dataset with escape values; escape spaces (lines will not wrap); no multi-line markup; with pretty indentation; shows column names var htmlTable = dataset.getAsHTML(true, true, false, true, true); //assigns the dataset to a field and sets the display type to HTML_AREA //assuming the html_field is a global text variable scopes.globals.html_field = '<html>'+dataset.getAsHTML()+'</html>'; //Note: To display an HTML_AREA field as an HTML page, add HTML tags at the beginning '<html>' and at the end '</html>'.
getAsText
(column_separator, row_separator, value_delimiter, add_column_names)
Parameters
{String} column_separator – any specified column separator; examples: tab '\t'; comma ','; semicolon ';'; space ' ' .
{String} row_separator – the specified row separator; examples: new line '\n'.
{String} value_delimiter – the specified value delimiter; example: double quote '"'.
{Boolean} add_column_names – if true column names will be added as a first row.
Sample
//assuming the variable dataset contains a dataset //you can create csv or tab delimited results var csv = dataset.getAsText(',','\n','"',true) var tab = dataset.getAsText('\t','\n','"',true)
Object[]
getColumnAsArray
(index)
Sample
//assuming the variable dataset contains a dataset var dataArray = dataset.getColumnAsArray(1); //puts the contents from the first column of the dataset into an array //once you have it as an array you can loop through it or feed it to a custom valuelist for example
getColumnName
(index)
Sample
//assuming the variable dataset contains a dataset var firstColumName = dataset.getColumnName(1) //retrieves the first columnname into the variable firstColumName //using a loop you can get all columnames in an array: var query = 'select * from customers'; var dataset = databaseManager.getDataSetByQuery(databaseManager.getDataSourceServerName(controller.getDataSource()), query, null, 100); var colArray = new Array() for (var i = 1; i <= dataset.getMaxColumnIndex(); i++) { colArray[i-1] = dataset.getColumnName(i) //note the -1, because an array is zero based and dataset is 1 based. }
getColumnType
(index)
Since
6.1.4
Returns
Number – Number the column type (JSColumn constant)
Sample
//assuming the variable dataset contains a dataset var firstColumnType = dataset.getColumnType(1) //retrieves the first column's type into the variable firstColumnType if (firstColumnType == JSColumn.NUMBER) { }
getException
()
Returns
ServoyException – ServoyException exception or null when not available.
Sample
//assuming the variable dataset contains a dataset var dbException = dataset.getException();
getMaxColumnIndex
()
Sample
//assuming the variable dataset contains a dataset for (var i = 1; i <= dataset.getMaxColumnIndex(); i++) { colArray[i-1] = dataset.getColumnName(i) //have to subtract 1, because an array is zero based and a dataset is 1 based. }
getMaxRowIndex
()
Sample
//assuming the variable dataset contains a dataset var totalRows = dataset.getMaxRowIndex();
Object[]
getRowAsArray
(index)
Sample
//assuming the variable dataset contains a dataset var dataArray = dataset.getRowAsArray(1); //puts the contents from the first row of the dataset into an array //once you have it as an array you can loop through it
getValue
(row, col)
Sample
//assuming the variable dataset contains a dataset var dataAtRow2Col1 = dataset.getValue(2, 1);
hadMoreData
()
Sample
var ds = databaseManager.getDataSetByQuery('example_data', 'select order_id from orders', null, 10000) if (ds.hadMoreData()) { // handle large result }
removeColumn
(index)
Parameters
{Number} index – index of column to remove (1-based)
Sample
//assuming the variable dataset contains a dataset var success = dataset.removeColumn(1); // removes first column
void
removeRow
(row)
Parameters
{Number} row – row index to remove, -1 for all rows
Returns
void
Sample
//assuming the variable dataset contains a dataset dataset.removeRow(1); //removes the first row dataset.removeRow(-1); //removes all rows
void
setColumnName
(index, columnName)
Returns
void
Sample
var query = 'select customerid, customername from customers'; var dataset = databaseManager.getDataSetByQuery(databaseManager.getDataSourceServerName(controller.getDataSource()), query, null, -1); dataset.setColumnName(2, 'name_of_customer') // change the column name for second column.
void
setValue
(row, col, obj)
Returns
void
Sample
//assuming the variable dataset contains a dataset dataset.getValue(2, 1,'data');
void
sort
(col, sort_direction)
Returns
void
Sample
// sort using column number //assuming the variable dataset contains a dataset dataset.sort(1, false)
void
sort
(comparator)
Returns
void
Sample
//sort using comparator dataset.sort(mySortFunction); function mySortFunction(r1, r2) { var o = 0; if(r1[0] < r2[0]) { o = -1; } else if(r1[0] > r2[0]) { o = 1; } return o; }