Method List
Warning: The commands on this page are not thread-safe.
A - C - D - E - F - G - I - M - N - O - P - R - S
A
VP ADD FORMULA NAME
VP ADD FORMULA NAME ( vpAreaName : Text ; vpFormula : Text ; name : Text { ; options : Object } )
Parameter | Type | Description | |
---|---|---|---|
vpAreaName | Text | -> | 4D View Pro area form object name |
vpFormula | Text | -> | 4D View Pro formula |
name | Text | -> | Name for the formula |
options | Object | -> | Options for the named formula |
Description
The VP ADD FORMULA NAME
command creates or modifies a named formula in the open document.
Named formulas created by this command are saved with the document.
In vpAreaName, pass the name of the 4D View Pro area. If you pass a name that does not exist, an error is returned.
Pass the 4D View Pro formula that you want to name in vpFormula. For detailed information about formula syntax, see Formulas and Functions page.
Pass the new name for the formula in name. If the name is already used within the same scope, the new named formula replaces the existing one. Note that you can use the same name for different scopes (see below).
You can pass an object with additional properties for the named formula in options. The following properties are supported:
Property | Type | Description |
---|---|---|
scope | Number | Scope for the formula. You can pass the sheet index (counting begins at 0) or use the following constants: vk current sheet vk workbook vk current sheet ), or global across the entire workbook (scope=vk workbook ). |
comment | Text | Comment associated to named formula |
Example
VP ADD FORMULA NAME("ViewProArea";"SUM($A$1:$A$10)";"Total2")
See also
Cell references
VP Get formula by name
VP Get names
VP ADD RANGE NAME
VP ADD RANGE NAME ( rangeObj : Object ; name : Text { ; options : Object } )
Parameter | Type | Description | |
---|---|---|---|
rangeObj | Object | -> | Range object |
name | Text | -> | Name for the fomula |
options | Object | -> | Options for the named formula |
Description
The VP ADD RANGE NAME
command creates or modifies a named range in the open document.
Named ranges created by this command are saved with the document.
In rangeObj, pass the range that you want to name and in name, pass the new name for the range. If the name is already used within the same scope, the new named range replaces the existing one. Note that you can use the same name for different scopes (see below).
You can pass an object with additional properties for the named range in options. The following properties are supported:
Property | Type | Description |
---|---|---|
scope | Number | Scope for the range. You can pass the sheet index (counting begins at 0) or use the following constants: vk current sheet vk workbook vk current sheet ), or global across the entire workbook (scope=vk workbook ). |
comment | Text | Comment associated to named range |
- A named range is actually a named formula containing coordinates.
VP ADD RANGE NAME
facilitates the creation of named ranges, but you can also use theVP ADD FORMULA NAME
method to create named ranges.- Formulas defining named ranges can be retrieved with the
VP Get formula by name
method.
Example
You want to create a named range for a cell range:
$range:=VP Cell("ViewProArea";2;10)
VP ADD RANGE NAME($range;"Total1")
See also
VP ADD SELECTION
VP ADD SELECTION ( rangeObj : Object )
Parameter | Type | Description | |
---|---|---|---|
rangeObj | Object | -> | Range object |
Description
The VP ADD SELECTION
command adds the specified cells to the currently selected cells.
In rangeObj, pass a range object of cells to add to the current selection.
The active cell is not modified.
Example
You have cells currently selected:
The following code will add cells to your selection:
$currentSelection:=VP Cells("myVPArea";3;4;2;3)
VP ADD SELECTION($currentSelection)
Result:
See also
VP Get active cell
VP Get selection
VP RESET SELECTION
VP SET ACTIVE CELL
VP SET SELECTION
VP SHOW CELL
VP ADD SHEET
VP ADD SHEET ( vpAreaName : Text )
VP ADD SHEET ( vpAreaName : Text ; index : Integer )
VP ADD SHEET ( vpAreaName : Text ; sheet : Integer ; name : Text )
Parameter | Type | Description | |
---|---|---|---|
vpAreaName | Text | -> | 4D View Pro area form object name |
sheet | Integer | -> | Index of the new sheet |
name | Text | -> | Sheet name |
Description
The VP ADD SHEET
command inserts a sheet in the document loaded in vpAreaName.
In vpAreaName, pass the name of the 4D View Pro area.
In sheet, you can pass an index for the new sheet. If the passed index is inferior to or equal to 0, the command inserts the new sheet at the beginning. If index exceeds the number of sheets, the command inserts the new sheet after the existing ones.
Indexing starts at 0.
In name, you can pass a name for the new sheet. The new name cannot contain the following characters: *, :, [, ], ?,\,/
Example
The document currently has 3 sheets:
To insert a sheet at the third position (index 2) and name it "March":
VP ADD SHEET("ViewProArea";2;"March")
See also
VP ADD SPAN
VP ADD SPAN ( rangeObj : Object )
Parameter | Type | Description | |
---|---|---|---|
rangeObj | Object | -> | Range object |
Description
The VP ADD SPAN
command combines the cells in rangeObj as a single span of cells.
In rangeObj, pass a range object of cells. The cells in the range are joined to create a larger cell extending across multiple columns and/or rows. You can pass multiple cell ranges to create several spans at the same time. Note that if cell ranges overlap, only the first cell range is used.
- Only the data in the upper-left cell is displayed. Data in the other combined cells is hidden until the span is removed.
- Hidden data in spanned cells is accessible via formulas (beginning with the upper-left cell).
Example
To span the First quarter and Second quarter cells across the two cells beside them, and the South area cell across the two rows below it:
// First quarter range
$q1:=VP Cells("ViewProArea";2;3;3;1)
// Second quarter range
$q2:=VP Cells("ViewProArea";5;3;3;1)
// South area range
$south:=VP Cells("ViewProArea";0;5;1;3)
VP ADD SPAN(VP Combine ranges($q1;$q2;$south))
See also
4D View Pro Range Object Properties
VP Get spans
VP REMOVE SPAN
VP ADD STYLESHEET
VP ADD STYLESHEET ( vpAreaName : Text ; styleName : Text ; styleObj : Object { ; sheet : Integer } )
Parameter | Type | Description | |
---|---|---|---|
vpAreaName | Text | -> | 4D View Pro area form object name |
styleName | Text | -> | Name of style |
styleObj | Object | -> | Object defining attribute settings |
sheet | Integer | -> | Sheet index (current sheet if omitted) |
Description
The VP ADD STYLESHEET
command creates or modifies the styleName style sheet based upon the combination of the properties specified in styleObj in the open document. If a style sheet with the same name and index already exists in the document, this command will overwrite it with the new values.
Style sheets created by this command are saved with the document.
In vpAreaName, pass the name of the 4D View Pro area. If you pass a name that does not exist, an error is returned.
The styleName parameter lets you assign a name to the style sheet. If the name is already used within the same scope, the new style sheet replaces the existing one. Note that you can use the same name for different scopes (see below).
Within the styleObj, designate the settings for the style sheet (e.g., font, text decoration, alignment, borders, etc.). For the full list of style properties, see Style object properties.
You can designate where to define the style sheet in the optional sheet parameter using the sheet index (indexing starts at 0) or with the following constants:
vk current sheet
vk workbook
If a styleName style sheet is defined at the workbook level and at a sheet level, the sheet level has priority over the workbook level when the style sheet is set.
To apply the style sheet, use the VP SET DEFAULT STYLE or VP SET CELL STYLE commands.
Example
The following code:
$styles:=New object
$styles.backColor:="green"
//Line Border Object
$borders:=New object("color";"green";"style";vk line style medium dash dot)
$styles.borderBottom:=$borders
$styles.borderLeft:=$borders
$styles.borderRight:=$borders
$styles.borderTop:=$borders
VP ADD STYLESHEET("ViewProArea";"GreenDashDotStyle";$styles)
//To apply the style
VP SET CELL STYLE(VP Cells("ViewProArea";1;1;2;2);New object("name";"GreenDashDotStyle"))
will create and apply the following style object named GreenDashDotStyle:
{
backColor:green,
borderBottom:{color:green,style:10},
borderLeft:{color:green,style:10},
borderRight:{color:green,style:10},
borderTop:{color:green,style:10}
}
See also
4D View Pro Style Objects and Style Sheets
VP Get stylesheet
VP Get stylesheets
VP REMOVE STYLESHEET
VP SET CELL STYLE
VP SET DEFAULT STYLE
VP All
VP All ( vpAreaName : Text { ; sheet : Integer } ) : Object
Parameter | Type | Description | |
---|---|---|---|
vpAreaName | Text | -> | 4D View Pro area form object name |
sheet | Integer | -> | Sheet index (current sheet if omitted) |
Result | Object | <- | Range object of all cells |
Description
The VP ALL
command returns a new range object referencing all cells.
In vpAreaName, pass the name of the 4D View Pro area. If you pass a name that does not exist, an error is returned.
In the optional sheet parameter, you can designate a specific spreadsheet where the range will be defined (counting begins at 0). If omitted or if you pass vk current sheet
, the current spreadsheet is used.
Example
You want to define a range object for all of the cells of the current spreadsheet:
$all:=VP All("ViewProArea") // all cells of the current sheet
See also
VP Cell
VP Cells
VP Column
VP Combine ranges
VP Name
VP Row
C
VP Cell
VP Cell ( vpAreaName ; column : Integer ; row : Integer ; Text { ; sheet : Integer } ) : Object
Parameter | Type | Description | |
---|---|---|---|
vpAreaName | Text | -> | 4D View Pro area form object name |
column | Integer | -> | Column index |
row | Integer | -> | Row index |
sheet | Integer | -> | Sheet index (current sheet if omitted) |
Result | Object | <- | Range object of a single cell |
Description
The VP Cell
command returns a new range object referencing a specific cell.
This command is intended for ranges of a single cell. To create a range object for multiple cells, use the VP Cells command.
In vpAreaName, pass the name of the 4D View Pro area. If you pass a name that does not exist, an error is returned.
The column parameter defines the column of the cell range's position. Pass the column index in this parameter.
The row parameter defines the row of the cell range's position. Pass the row index in this parameter.
In the optional sheet parameter, you can indicate the index of the sheet where the range will be defined. If omitted or if you pass vk current sheet
, the current spreadsheet is used by default.
indexing starts at 0.
Example
You want to define a range object for the cell shown below (on the current spreadsheet):
The code would be:
$cell:=VP Cell("ViewProArea";2;4) // C5
See also
VP All
VP Cells
VP Column
VP Combine ranges
VP Name
VP Row
VP Cells
VP Cells ( vpAreaName : Text ; column: Integer ; row: Integer ; columnCount : Integer ; rowCount : Integer { ; sheet : Integer } ) : Object
History
Release | Changes |
---|---|
17 R4 | Added |
Parameter | Type | Description | |
---|---|---|---|
vpAreaName | Text | -> | 4D View Pro area form object name |
column | Integer | -> | Column index |
row | Integer | -> | Row index |
columnCount | Integer | -> | Number of columns |
rowCount | Integer | -> | Number of rows |
sheet | Integer | -> | Sheet index (current sheet if omitted) |
Result | Object | <- | Range object of cells |
Description
The VP Cells
command returns a new range object referencing specific cells.
In vpAreaName, pass the name of the 4D View Pro area. If you pass a name that does not exist, an error is returned.
The column parameter defines the first column of the cell range. Pass the column index (counting begins at 0) in this parameter. If the range is within multiple columns, you should also use the columnCount parameter.
In the row parameter, you can define the row(s) of the cell range's position. Pass the row index (counting begins at 0) in this parameter. If the range is within multiple rows, you should also use the rowCount parameter.
The columnCount parameter allows you to define the total number of columns the range is within. columnCount must be greater than 0.
The rowCount parameter allows you to define the total number of rows the range is within. rowCount must be greater than 0.
In the optional sheet parameter, you can designate a specific spreadsheet where the range will be defined (counting begins at 0). If omitted or if you pass vk current sheet
, the current spreadsheet is used by default.
Example
You want to define a range object for the following cells (on the current sheet):
The code would be:
$cells:=VP Cells("ViewProArea";2;4;2;3) // C5 to D7
See also
VP All
VP Cells
VP Column
VP Combine ranges
VP Name
VP Row
VP Column
VP Column ( vpAreaName : Text ; column: Integer ; columnCount : Integer { ; sheet : Integer } ) : Object
Parameter | Type | Description | |
---|---|---|---|
vpAreaName | Text | -> | 4D View Pro area form object name |
column | Integer | -> | Column index |
columnCount | Integer | -> | Number of columns |
sheet | Integer | -> | Sheet index (current sheet if omitted) |
Result | Object | <- | Range object of cells |
Description
The VP Column
command returns a new range object referencing a specific column or columns.
In vpAreaName, pass the name of the 4D View Pro area. If you pass a name that does not exist, an error is returned.
The column parameter defines the first column of the column range. Pass the column index (counting begins at 0) in this parameter. If the range contains multiple columns, you should also use the optional columnCount parameter.
The optional columnCount parameter allows you to define the total number of columns of the range. columnCount must be greater than 0. If omitted, the value will be set to 1 by default and a column type range is created.
In the optional sheet parameter, you can designate a specific spreadsheet where the range will be defined (counting begins at 0). If omitted or if you pass vk current sheet
, the current spreadsheet is used by default.
Example
You want to define a range object for the column shown below (on the current spreadsheet):
The code would be:
$column:=VP Column("ViewProArea";3) // column D
See also
VP All
VP Cells
VP Column
VP Combine ranges
VP Name
VP Row
VP SET COLUMN ATTRIBUTES
VP COLUMN AUTOFIT
VP COLUMN AUTOFIT ( rangeObj : Object )
Parameter | Type | Description | |
---|---|---|---|
rangeObj | Object | -> | Range object |
Description
The VP COLUMN AUTOFIT
command automatically sizes the column(s) in rangeObj according to their contents.
In rangeObj, pass a range object containing a range of the columns whose size will be automatically handled.
Example
The following columns are all the same size and don't display some of the text:
Selecting the columns and running this code:
VP COLUMN AUTOFIT(VP Get selection("ViewProarea"))
... resizes the columns to fit the size of the contents:
See also
VP Combine ranges
VP Combine ranges ( rangeObj : Object ; otherRangeObj : Object {;...otherRangeObjN : Object } ) : Object
Parameter | Type | Description | |
---|---|---|---|
rangeObj | Object | -> | Range object |
otherRangeObj | Object | -> | Range object |
Result | Object | <- | Object containing a combined range |
Description
The VP Combine Ranges
command returns a new range object that incorporates two or more existing range objects. All of the ranges must be from the same 4D View Pro area.
In rangeObj, pass the first range object.
In otherRangeObj, pass another range object(s) to combine with rangeObj.
The command incorporates rangeObj and otherRangeObj objects by reference.
Example
You want to combine cell, column, and row range objects in a new, distinct range object:
$cell:=VP Cell("ViewProArea";2;4) // C5
$column:=VP Column("ViewProArea";3) // column D
$row:=VP Row("ViewProArea";9) // row 10
$combine:=VP Combine ranges($cell;$column;$row)
See also
VP All
VP Cells
VP Column
VP Combine ranges
VP Name
VP Row
VP SET COLUMN ATTRIBUTES
VP Convert from 4D View
VP Convert from 4D View ( 4DViewDocument : Blob ) : Object
Parameter | Type | Description | |
---|---|---|---|
4DViewDocument | Blob | -> | 4D View document |
Result | Object | <- | 4D View Pro object |
Description
The VP Convert from 4D View
command allows you to convert a legacy 4D View document into a 4D View Pro object.
This command does not require that the legacy 4D View plug-in be installed in your environment.
In the 4DViewDocument parameter, pass a BLOB variable or field containing the 4D View document to convert. The command returns a 4D View Pro object into which all the information originally stored within the 4D View document is converted to 4D View Pro attributes.
Example
You want to get a 4D View Pro object from a 4D View area stored in a BLOB:
C_OBJECT($vpObj)
$vpObj:=VP Convert from 4D View($pvblob)
VP Convert to picture
VP Convert to picture ( vpObject : Object {; rangeObj : Object} ) : Picture
Parameter | Type | Description | |
---|---|---|---|
vpObject | Object | -> | 4D View Pro object containing the area to convert |
rangeObj | Object | -> | Range object |
Result | Picture | <- | SVG picture of the area |
Description
The VP Convert to picture
command converts the vpObject 4D View Pro object (or the rangeObj range within vpObject) to a SVG picture.
This command is useful, for example:
- to embed a 4D View Pro document in an other document such as a 4D Write Pro document
- to print a 4D View Pro document without having to load it into a 4D View Pro area.
In vpObject, pass the 4D View Pro object that you want to convert. This object must have been previously parsed using VP Export to object or saved using VP EXPORT DOCUMENT.
SVG conversion process requires that expressions and formats (cf. Cell Format) included in the 4D View Pro area be evaluated at least once, so that they can be correctly exported. If you convert a document that was not evaluated beforehand, expressions or formats may be rendered in an unexpected way.
In rangeObj, pass a range of cells to convert. By default, if this parameter is omitted, the whole document contents are converted.
Document contents are converted with respect to their viewing attributes, including formats (see note above), visibility of headers, columns and rows. The conversion of the following elements is supported:
- Text : style / font / size / alignment / orientation / rotation / format
- Cell background : color / image
- Cell borders : thickness / color / style
- Cell merge
- Pictures
- Row height
- Column width
- Hidden columns / rows.
Gridline visibility depends on document attribute defined with VP SET PRINT INFO.
Function result
The command returns a picture in SVG format.
Example
You want to convert a 4D View Pro area in SVG, preview the result, and send it to a picture variable:
C_OBJECT($vpAreaObj)
C_PICTURE($vPict)
$vpAreaObj:=VP Export to object("ViewProArea")
$vPict:=VP Convert to picture($vpAreaObj) //export the whole area
See also
VP EXPORT DOCUMENT
VP Export to object
VP SET PRINT INFO
VP Copy to object
History
Release | Changes |
---|---|
19 R4 | Added |
VP Copy to object ( rangeObj : Object {; options : Object} ) : Object
Parameter | Type | Description | |
---|---|---|---|
rangeObj | Object | -> | Range object |
options | Object | -> | Additional options |
Result | Object | <- | Object returned. Contains the copied data |
Description
The VP Copy to object
command copies the contents, style and formulas from rangeObj to an object.
In rangeObj, pass the cell range with the values, formatting, and formulas to copy. If rangeObj is a combined range, only the first one is used.
You can pass an optional options parameter with the following properties:
Property | Type | Description | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
copy | Boolean | True (default) to keep the copied values, formatting and formulas after the command executes. False to remove them. | ||||||||||||||
copyOptions | Integer | Specifies what is copied or moved. Possible values:
|
The paste options defined in the workbook options are taken into account.
The command returns an object that contains the copied data.
Example
This code sample first stores the contents, values, formatting and formulas from a range to an object, and then pastes them in another range:
var $originRange; $targetRange; $dataObject; $options : Object
$originRange:=VP Cells("ViewProArea"; 0; 0; 2; 5)
$options:=New object
$options.copy:=True
$options.copyOptions:=vk clipboard options all
$dataObject:=VP Copy to object($originRange; $options)
$targetRange:=VP Cell("ViewProArea"; 4; 0)
VP PASTE FROM OBJECT($targetRange; $dataObject; vk clipboard options all)
See also
VP PASTE FROM OBJECT
VP MOVE CELLS
VP Get workbook options
VP SET WORKBOOK OPTIONS
VP CREATE TABLE
History
Release | Changes |
---|---|
19 R8 | Support of theme options: bandColumns , bandRows , highlightFirstColumn , highlightLastColumn , theme |
19 R7 | Support of allowAutoExpand option |
19 R6 | Added |
VP CREATE TABLE ( rangeObj : Object ; tableName : Text {; source : Text} {; options : cs.ViewPro.TableOptions} )
Parameter | Type | Description | |
---|---|---|---|
rangeObj | Object | -> | Range object |
tableName | Text | -> | Name for the table |
source | Text | -> | Data context property name to display in the table |
options | cs.ViewPro.TableOptions | -> | Additional options |
Description
The VP CREATE TABLE
command creates a table in the specified range. You can create a table in a range of cells to make managing and analyzing a group of related data easier. A table typically contains related data in rows and columns, and takes advantage of a data context.
In rangeObj, pass the cell range where the table will be created.
In tableName, pass a name for the table. The name must:
- be unique in the sheet
- include at least 5 characters
- not include spaces or start with a number
In source, you can pass a property name of a data context to display its data in the table. This binds the table to the data context. When the data context is updated, the data displayed in the table is updated accordingly. The source property must contain a collection of objects and each element represents a row.
- If you don't specify a source, the command creates an empty table with the size defined in rangeObj.
- If the specified source cannot be fully displayed in the document, no table is created.
In the options parameter, pass an object of the cs.ViewPro.TableOptions
class that contains the table properties to set.
Within the options object, the tableColumns collection determines the structure of the table's columns. The length of the tableColumns collection must be equal to the range column count:
- When the column count in rangeObj exceeds the number of columns in tableColumns, the table is filled with additional empty columns.
- When the column count in rangeObj is inferior to the number of tableColumns, the table displays a number of columns that match the range's column count.
If you pass a source but no tableColumn option, the command generates columns automatically. In this case, rangeObj must be a cell range. Otherwise, the first cell of the range is used. When generating columns automatically, the following rules apply:
- If the data passed to the command is a collection of objects, the property names are used as column titles. For example:
([{ LastName: \"Freehafer\", FirstName: \"Nancy\"},{ LastName: \"John\", FirstName: \"Doe\"})
Here the titles of the columns would be LastName
and FirstName
.
-
If the data passed to the command is a collection of scalar values, it must contain a collection of subcollections:
- The first-level collection contains subcollections of values. Each subcollection defines a row. Pass an empty collection to skip a row. The number of values in the first subcollection determines how many columns are created.
- The subcollections' indices are used as column titles.
- Each subcollection defines cell values for the row. Values can be
Integer
,Real
,Boolean
,Text
,Date
,Null
,Time
orPicture
. ATime
value must be an a object containing a time attribute, as described in VP SET VALUE.
This only works when generating columns automatically. You cannot use a collection of scalar data with the tableColumns option.
Example
To create a table using a data context:
// Set a data context
var $data : Object
$data:=New object()
$data.people:=New collection()
$data.people.push(New object("firstName"; "John"; "lastName"; "Smith"; "email"; "johnsmith@gmail.com"))
$data.people.push(New object("firstName"; "Mary"; "lastName"; "Poppins"; "email"; "marypoppins@gmail.com"))
VP SET DATA CONTEXT("ViewProArea"; $data)
// Define the columns for the table
var $options : cs.ViewPro.TableOptions
$options:=cs.ViewPro.TableOptions.new()
$options.tableColumns:=New collection()
$options.tableColumns.push(cs.ViewPro.TableColumns.new("name"; "First name"; "dataField"; "firstName"))
$options.tableColumns.push(cs.ViewPro.TableColumns.new("name"; "Last name"; "dataField"; "lastName"))
$options.tableColumns.push(cs.ViewPro.TableColumns.new("name"; "Email"; "dataField"; "email"))
// Create a table from the "people" collection
VP CREATE TABLE(VP Cells("ViewProArea"; 1; 1; $options.tableColumns.length; 1); "ContextTable"; "people"; $options)
Here's the result:
See also
VP Find table
VP Get table column attributes
VP Get table column index
VP INSERT TABLE COLUMNS
VP INSERT TABLE ROWS
VP REMOVE TABLE
VP RESIZE TABLE
VP SET DATA CONTEXT
VP SET TABLE COLUMN ATTRIBUTES
VP SET TABLE THEME
D
VP DELETE COLUMNS
VP DELETE COLUMNS ( rangeObj : Object )
Parameter | Type | Description | |
---|---|---|---|
rangeObj | Object | -> | Range object |
Description
The VP DELETE COLUMNS
command removes the columns in the rangeObj.
In rangeObj, pass an object containing a range of columns to remove. If the passed range contains:
- both columns and rows, only the columns are removed.
- only rows, the command does nothing.
Columns are deleted from right to left.
Example
To delete columns selected by the user (in the image below columns B, C, and D):
use the following code:
VP DELETE COLUMNS(VP Get selection("ViewProArea"))
See also
VP DELETE ROWS
VP DELETE ROWS ( rangeObj : Object )
Parameter | Type | Description | |
---|---|---|---|
rangeObj | Object | -> | Range object |
Description
The VP DELETE ROWS
command removes the rows in the rangeObj.
In rangeObj, pass an object containing a range of rows to remove. If the passed range contains:
- both columns and rows, only the rows are removed.
- only columns, the command does nothing.
Rows are deleted from bottom to top.
Example
To delete rows selected by the user (in the image below rows 1, 2, and 3):
use the following code:
VP DELETE ROWS(VP Get selection("ViewProArea"))
See also
E
VP EXPORT DOCUMENT
VP EXPORT DOCUMENT ( vpAreaName : Text ; filePath : Text {; paramObj : Object} )
Parameter | Type | Description | |
---|---|---|---|
vpAreaName | Text | -> | 4D View Pro area form object name |
filePath | Text | -> | Pathname of the document |
paramObj | Object | -> | Export options |
Description
The VP EXPORT DOCUMENT
command exports the 4D View Pro object attached to the 4D View Pro area vpAreaName to a document on disk according to the filePath and paramObj parameters.
In vpAreaName, pass the name of the 4D View Pro area. If you pass a name that does not exist, an error is returned.
In filePath, pass the destination path and name of the document to be exported. If you don't specify a path, the document will be saved at the same level as the Project folder.
You can specify the exported file's format by including an extension after the document's name:
- 4D View Pro (".4vp")
- Microsoft Excel (".xlsx")
- PDF (".pdf")
- CSV (".txt", or ".csv")
If the extension is not included, but the format is specified in paramObj, the exported file will have the extension that corresponds to the format, except for the CSV format (no extension is added in this case).
The optional paramObj parameter allows you to define multiple properties for the exported 4D View Pro object, as well as launch a callback method when the export has completed.
Property | Type | Description | ||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
format | text | (optional) When present, designates the exported file format: ".4vp" (default), ".csv", ".xlsx", or ".pdf". You can use the following constants:vk 4D View Pro format vk csv format vk MS Excel format vk pdf format | ||||||||||||||||||
password | text | Microsoft Excel only (optional) - Password used to protect the MS Excel document | ||||||||||||||||||
formula | object | Callback method to be launched when the export has completed. Using a callback method is necessary when the export is asynchronous (which is the case for PDF and Excel formats) if you need some code to be executed after the export. The callback method must be used with the Formula command (see below for more information). | ||||||||||||||||||
valuesOnly | boolean | Specifies that only the values from formulas (if any) will be exported. | ||||||||||||||||||
includeFormatInfo | boolean | True to include formatting information, false otherwise (default is true). Formatting information is useful in some cases, e.g. for export to SVG. On the other hand, setting this property to false allows reducing export time. | ||||||||||||||||||
includeBindingSource | Boolean | 4DVP and Microsoft Excel only. True (default) to export the current data context values as cell values in the exported document (data contexts themselves are not exported). False otherwise. Cell binding is always exported. For data context and cell binding management, see VP SET DATA CONTEXT and VP SET BINDING PATH. | ||||||||||||||||||
sheetIndex | number | PDF only (optional) - Index of sheet to export (starting from 0). -2=all visible sheets (default), -1=current sheet only | ||||||||||||||||||
pdfOptions | object | PDF only (optional) - Options for pdf export
| ||||||||||||||||||
csvOptions | object | CSV only (optional) - Options for csv export
| ||||||||||||||||||
\<customProperty> | any | Any custom property that will be available through the $3 parameter in the callback method. |
Notes about Excel format:
- When exporting a 4D View Pro document into a Microsoft Excel-formatted file, some settings may be lost. For example, 4D methods and formulas are not supported by Excel. You can verify other settings with this list from GrapeCity.
- Exporting in this format is run asynchronously, use the formula property of the paramObj for code to be executed after the export.
Notes about PDF format:
- When exporting a 4D View Pro document in PDF, the fonts used in the document are automatically embedded in the PDF file. Only OpenType fonts (.OTF or .TTF files) having a Unicode map can be embedded. If no valid font file is found for a font, a default font is used instead.
- Exporting in this format is run asynchronously, use the formula property of the paramObj for code to be executed after the export.
Notes about CSV format:
- When exporting a 4D View Pro document to CSV, some settings may be lost, as only the text and values are saved.
- All the values are saved as double-quoted strings. For more information on delimiter-separated values, see this article on Wikipedia.
Once the export operation is finished, VP EXPORT DOCUMENT
automatically triggers the execution of the method set in the formula property of the paramObj, if used.
Passing a callback method (formula)
When including the optional paramObj parameter, the VP EXPORT DOCUMENT
command allows you to use the Formula
command to call a 4D method which will be executed once the export has completed. The callback method will receive the following values in local variables:
Variable | Type | Description | |
---|---|---|---|
$1 | text | The name of the 4D View Pro area object | |
$2 | text | The filepath of the exported 4D View Pro object | |
$3 | object | A reference to the command's paramObj | |
$4 | object | An object returned by the method with a status message | |
.success | boolean | True if export with success, False otherwise. | |
.errorCode | integer | Error code. May be returned by 4D or JavaScript. | |
.errorMessage | text | Error message. May be returned by 4D or JavaScript. |
Example 1
You want to export the contents of the "VPArea" area to a 4D View Pro document on disk:
var $docPath: Text
$docPath:="C:\\Bases\\ViewProDocs\\MyExport.4VP"
VP EXPORT DOCUMENT("VPArea";$docPath)
//MyExport.4VP is saved on your disk
Example 2
You want to export the current sheet in PDF:
var $params: Object
$params:=New object
$params.format:=vk pdf format
$params.sheetIndex:=-1
$params.pdfOptions:=New object("title";"Annual Report";"author";Current user)
VP EXPORT DOCUMENT("VPArea";"report.pdf";$params)
Example 3
You want to export a 4D View Pro document in ".xlsx" format and call a method that will launch Microsoft Excel with the document open once the export has completed:
$params:=New object
$params.formula:=Formula(AfterExport)
$params.format:=vk MS Excel format //".xlsx"
$params.valuesOnly:=True
VP EXPORT DOCUMENT("ViewProArea";"c:\\tmp\\convertedfile";$params)
AfterExport method:
C_TEXT($1;$2)
C_OBJECT($3;$4)
$areaName:=$1
$filePath:=$2
$params:=$3
$status:=$4
If($status.success=False)
ALERT($status.errorMessage)
Else
LAUNCH EXTERNAL PROCESS("C:\\Program Files\\Microsoft Office\\Office15\\excel "+$filePath)
End if
Example 4
You want to export the current sheet to a .txt
file with pipe-separated values:
var $params : Object
$params:=New object
$params.range:=VP Cells("ViewProArea";0;0;2;5)
$params.rowDelimiter:="\n"
$params.columnDelimiter:="|"
VP EXPORT DOCUMENT("ViewProArea";"c:\\tmp\\data.txt";New object("format";vk csv format;"csvOptions";$params))
Here's the result:
See also
VP Convert to picture
VP Export to object
VP Column
VP Print
VP Export to object
VP Export to object ( vpAreaName : Text {; options : Object} ) : Object
Parameter | Type | Description | |
---|---|---|---|
vpAreaName | Text | -> | 4D View Pro area form object name |
options | Object | -> | Export options |
Result | Object | <- | 4D View Pro object |
Description
The VP Export to object
command returns the 4D View Pro object attached to the 4D View Pro area vpAreaName. You can use this command for example to store the 4D View Pro area in a 4D database object field.
In vpAreaName, pass the name of the 4D View Pro area. If you pass a name that does not exist, an error is returned.
In the options parameter, you can pass the following export options, if required:
Property | Type | Description |
---|---|---|
includeFormatInfo | Boolean | True (default) to include formatting information, false otherwise. Formatting information is useful in some cases, e.g. for export to SVG. On the other hand, setting this property to False allows reducing export time. |
includeBindingSource | Boolean | True (default) to export the current data context values as cell values in the exported object (data contexts themselves are not exported). False otherwise. Cell binding is always exported. |
For more information on 4D View Pro objects, please refer to the 4D View Pro object paragraph.
Example 1
You want to get the "version" property of the current 4D View Pro area:
var $vpAreaObj : Object
var $vpVersion : Number
$vpAreaObj:=VP Export to object("vpArea")
// $vpVersion:=OB Get($vpAreaObj;"version")
$vpVersion:=$vpAreaObj.version
Example 2
You want to export the area, excluding formatting information:
var $vpObj : Object
$vpObj:=VP Export to object("vpArea";New object("includeFormatInfo";False))
See also
VP Convert to picture
VP EXPORT DOCUMENT
VP IMPORT FROM OBJECT
F
VP Find
VP Find ( rangeObj : Object ; searchValue : Text ) : Object
VP Find ( rangeObj : Object ; searchValue : Text ; searchCondition : Object } ) : Object
VP Find ( rangeObj : Object ; searchValue : Text ; searchCondition : Object ; replaceValue : Text ) : Object
Parameter | Type | Description | |
---|---|---|---|
rangeObj | Object | -> | Range object |
searchValue | Text | -> | Search value |
searchCondition | Object | -> | Object containing search condition(s) |
replaceValue | Text | -> | Replacement value |
Result | Object | <- | Range object |
Description
The VP Find
command searches the rangeObj for the searchValue. Optional parameters can be used to refine the search and/or replace any results found.
In the rangeObj parameter, pass an object containing a range to search.
The searchValue parameter lets you pass the text to search for within the rangeObj.
You can pass the optional searchCondition parameter to specify how the search is performed. The following properties are supported:
Property | Type | Description | ||||||||
---|---|---|---|---|---|---|---|---|---|---|
afterColumn | Integer | The number of the column just before the starting column of the search. If the rangeObj is a combined range, the column number given must be from the first range. Default value: -1 (beginning of the rangeObj) | ||||||||
afterRow | Integer | The number of the row just before the starting row of the search. If the rangeObj is a combined range, the row number given must be from the first range. Default value: -1 (beginning of the rangeObj) | ||||||||
all | Boolean | |||||||||
flags | Integer |
$search.flags:=vk find flag use wild cards+vk find flag ignore case | ||||||||
order | Integer |
| ||||||||
target | Integer |
These flags can be combined. For example: |
In the optional replaceValue parameter, you can pass text to take the place of any instance of the text in searchValue found in the rangeObj.
Returned Object
The function returns a range object describing each search value that was found or replaced. An empty range object is returned if no results are found.
Example 1
To find the first cell containing the word "Total":
var $range;$result : Object
$range:=VP All("ViewProArea")
$result:=VP Find($range;"Total")
Example 2
To find "Total" and replace it with "Grand Total":
var $range;$condition;$result : Object
$range:=VP All("ViewProArea")
$condition:=New object
$condition.target:=vk find target text
$condition.all:=True //Search entire document
$condition.flags:=vk find flag exact match
// Replace the cells containing only 'Total' in the current sheet with "Grand Total"
$result:=VP Find($range;"Total";$condition;"Grand Total")
// Check for empty range object
If($result.ranges.length=0)
ALERT("No result found")
Else
ALERT($result.ranges.length+" results found")
End if
VP Find table
History
Release | Changes |
---|---|
19 R7 | Added |
VP Find table ( rangeObj : Object ) : Text
Parameter | Type | Description | |
---|---|---|---|
rangeObj | Object | -> | Cell range |
Result | Text | <- | Table name |
Description
The VP Find table
command returns the name of the table to which to the rangeObj cell belongs.
In rangeObj, pass a cell range object. If the designated cells do not belong to a table, the command returns an empty string.
If rangeObj is not a cell range or contains multiple ranges, the first cell of the first range is used.
Example
If (FORM Event.code=On After Edit && FORM Event.action="valueChanged")
$tableName:=VP Find table(FORM Event.range)
If ($tableName#"")
ALERT("The "+$tableName+" table has been modified.")
End if
End if
See also
VP FLUSH COMMANDS
VP FLUSH COMMANDS ( vpAreaName : Text )
Parameter | Type | Description | |
---|---|---|---|
vpAreaName | Text | -> | 4D View Pro area form object name |
Description
The VP FLUSH COMMANDS
command immediately executes stored commands and clears the command buffer.
In vpAreaName, pass the name of the 4D View Pro area. If you pass a name that does not exist, an error is returned.
In order to increase performance and reduce the number of requests sent, the 4D View Pro commands called by the developer are stored in a command buffer. When called, VP FLUSH COMMANDS
executes the commands as a batch when leaving the method and empties the contents of the command buffer.
Example
You want to trace the execution of the commands and empty the command buffer:
VP SET TEXT VALUE(VP Cell("ViewProArea1";10;1);"INVOICE")
VP SET TEXT VALUE(VP Cell("ViewProArea1";10;2);"Invoice date: ")
VP SET TEXT VALUE(VP Cell("ViewProArea1";10;3);"Due date: ")
VP FLUSH COMMANDS(("ViewProArea1")
TRACE
VP Font to object
VP Font to object ( font : Text ) : Object
Parameter | Type | Description | |
---|---|---|---|
font | Text | -> | Font shorthand string |
Result | Object | <- | Font object |
Description
The VP Font to object
utility command returns an object from a font shorthand string. This object can then be used to set or get font property settings via object notation.
In the font parameter, pass a font shorthand string to specify the different properties of a font (e.g., "12 pt Arial"). You can learn more about font shorthand strings in this page for example.
The returned object contains defined font attributes as properties. For more information about the available properties, see the VP Object to font command.
Example 1
This code:
$font:=VP Font to object("16pt arial")
will return the following $font object:
{
family:arial
size:16pt
}
Example 2
See example for VP Object to font
.
See also
4D View Pro Style Objects and Style Sheets
VP Object to font
VP SET CELL STYLE
VP SET DEFAULT STYLE
G
VP Get active cell
VP Get active cell ( vpAreaName : Text { ; sheet : Integer } ) : Object
Parameter | Type | Description | |
---|---|---|---|
vpAreaName | Text | -> | 4D View Pro area form object name |
sheet | Integer | -> | Sheet index (current sheet if omitted) |
Result | Object | <- | Range object of single cell |
Description
The VP Get active cell
command returns a new range object referencing the cell which has the focus and where new data will be entered (the active cell).
In vpAreaName, pass the name of the 4D View Pro area. If you pass a name that does not exist, an error is returned.
In the optional sheet parameter, you can designate a specific spreadsheet where the range will be defined (counting begins at 0). If omitted or if you pass vk current sheet
, the current spreadsheet is used.
Example
The following code will retrieve the coordinates of the active cell:
$activeCell:=VP Get active cell("myVPArea")
//returns a range object containing:
//$activeCell.ranges[0].column=3
//$activeCell.ranges[0].row=4
//$activeCell.ranges[0].sheet=0
See also
VP ADD SELECTION
VP Get selection
VP RESET SELECTION
VP SET ACTIVE CELL
VP SET SELECTION
VP SHOW CELL
VP Get binding path
History
Release | Changes |
---|---|
19 R5 | Added |
VP Get binding path ( rangeObj : Object ) : Text
Parameter | Type | Description | |
---|---|---|---|
rangeObj | Object | -> | Range object |
Result | Text | <- | Name of the attribute bound to the cell |
Description
The VP Get binding path
command returns the name of the attribute bound to the cell specified in rangeObj.
In rangeObj, pass an object that is either a cell range or a combined range of cells. Note that:
- If rangeObj is a range with several cells, the command returns the attribute name linked to the first cell in the range.
- If rangeObj contains several ranges of cells, the command returns the attribute name linked to the first cell of the first range.
Example
var $p; $options : Object
var $myAttribute : Text
$p:=New object
$p.firstName:="Freehafer"
$p.lastName:="Nancy"
VP SET DATA CONTEXT("ViewProArea"; $p)
VP SET BINDING PATH(VP Cell("ViewProArea"; 0; 0); "firstName")
VP SET BINDING PATH(VP Cell("ViewProArea"; 1; 0); "lastName")
$myAttribute:=VP Get binding path(VP Cell("ViewProArea"; 1; 0)) // "lastName"
See also
VP SET BINDING PATH
VP Get data context
VP SET DATA CONTEXT
VP Get cell style
VP Get cell style ( rangeObj : Object ) : Object
Parameter | Type | Description | |
---|---|---|---|
rangeObj | Object | -> | Range object |
Result | Object | <- | Style object |
Description
The VP Get cell style
command returns a style object for the first cell in the rangeObj.
In rangeObj, pass a range containing the style to retrieve.
- If rangeObj contains a cell range, the cell style is returned.
- If rangeObj contains a range that is not a cell range, the style of the first cell in the range is returned.
- If rangeObj contains several ranges, only the style of the first cell in the first range is returned.
Example
To get the details about the style in the selected cell (B2):
This code:
$cellStyle:=VP Get cell style(VP Get selection("myDoc"))
... will return this object:
{
"backColor":"Azure",
"borderBottom":
{
"color":#800080,
"style":5
}
"font":"8pt Arial",
"foreColor":"red",
"hAlign":1,
"isVerticalText":"true",
"vAlign":0
}
See also
VP GET DEFAULT STYLE
VP SET CELL STYLE
VP Get column attributes
VP Get column attributes ( rangeObj : Object ) : Collection
Parameter | Type | Description | |
---|---|---|---|
rangeObj | Object | -> | Range object |
Result | Collection | <- | Collection of column properties |
Description
The VP Get column attributes
command returns a collection of properties for any column in the rangeObj.
In rangeObj, pass an object containing a range of the columns whose attributes will be retrieved.
The returned collection contains any properties for the columns, whether or not they have been set by the VP SET COLUMN ATTRIBUTES command.
Example
The following code:
C_OBJECT($range)
C_COLLECTION($attr)
$range:=VP Column("ViewProArea";1;2)
$attr:=VP Get column attributes($range)
... will return a collection of the attributes within the given range:
See also
VP Get row attributes
VP SET COLUMN ATTRIBUTES
VP SET ROW ATTRIBUTES
VP Get column count
VP Get column count ( vpAreaName : Text { ; sheet : Integer } ) : Integer
Parameter | Type | Description | |
---|---|---|---|
vpAreaName | Text | -> | 4D View Pro area from object name |
sheet | Integer | -> | Sheet index (current sheet if omitted) |
Result | Integer | <- | Total number of columns |
Description
The VP Get column count
command returns the total number of columns from the designated sheet.
In vpAreaName, pass the name property of the 4D View Pro area. If you pass a name that does not exist, an error is returned.
You can define where to get the column count in the optional sheet parameter using the sheet index (counting begins at 0). If omitted or if you pass vk current sheet
, the current spreadsheet is used.
Example
The following code returns the number of columns in the 4D View Pro area:
C_INTEGER($colCount)
$colCount:=VP Get column count("ViewProarea")
See also
VP Get row count
VP SET COLUMN COUNT
VP SET ROW COUNT
VP Get current sheet
VP Get current sheet ( vpAreaName : Text )
Parameter | Type | Description | |
---|---|---|---|
vpAreaName | Text | -> | 4D View Pro area form object name |
Function result | Integer | <- | Index of the current sheet |
Description
The VP Get current sheet
command returns the index of the current sheet in vpAreaName. The current sheet is the selected sheet in the document.
In vpAreaName, pass the name of the 4D View Pro area.
Indexing starts at 0.
Example
When the third sheet is selected:
The command returns 2:
$index:=VP Get current sheet("ViewProArea")
See also
VP Get data context
History
Release | Changes |
---|---|
19 R5 | Added |
VP Get data context ( vpAreaName : Text {; sheet : Integer } ) : any
Parameter | Type | Description | |
---|---|---|---|
vpAreaName | Text | -> | 4D View Pro area form object name |
sheet | Integer | -> | Index of the sheet to get the data context from |
Result | Object | Collection | <- | Data context |
Description
The VP Get data context
command returns the current data context of a worksheet. The returned context includes any modifications made to the contents of the data context.
In sheet, pass the index of the sheet to get the data context from. If no index is passed, the command returns the data context of the current worksheet. If there is no context for the worksheet, the command returns Null
.
The function returns an object or a collection depending on the type of data context set with VP SET DATA CONTEXT.
Example
To get the data context bound to the following cells:
var $dataContext : Object
$dataContext:=VP Get data context("ViewProArea") // {firstName:Freehafer,lastName:Nancy}
See also
VP SET DATA CONTEXT
VP Get binding path
VP SET BINDING PATH
VP Get default style
VP Get default style ( vpAreaName : Text { ; sheet : Integer } ) : Object
Parameter | Type | Description | |
---|---|---|---|
vpAreaName | Text | -> | 4D View Pro area from object name |
sheet | Integer | -> | Sheet index (current sheet if omitted) |
Result | Object | <- | Default style settings |
Description
The VP Get default style
command returns a default style object for a sheet. The returned object contains basic document rendering properties as well as the default style settings (if any) previously set by the VP SET DEFAULT STYLE method. For more information about style properties, see Style Objects & Style Sheets.
In vpAreaName, pass the name property of the 4D View Pro area. If you pass a name that does not exist, an error is returned.
You can define where to get the column count in the optional sheet parameter using the sheet index (counting begins at 0). If omitted or if you pass vk current sheet
, the current spreadsheet is used.
Example
To get the details about the default style for this document:
This code:
$defaultStyle:=VP Get default style("myDoc")
will return this information in the $defaultStyle object:
{
backColor:#E6E6FA,
hAlign:0,
vAlign:0,
font:12pt papyrus
}
See also
VP Get cell style
VP SET DEFAULT STYLE
VP Get formula
VP Get formula ( rangeObj : Object) : Text
Parameter | Type | Description | |
---|---|---|---|
rangeObj | Object | -> | Range object |
Result | Text | <- | Formula |
Description
The VP Get formula
command retrieves the formula from a designated cell range.
In rangeObj, pass a range whose formula you want to retrieve. If rangeObj designates multiple cells or multiple ranges, the formula of the first cell is returned. If rangeObj is a cell that does not contain a formula, the method returns an empty string.
Example
//set a formula
VP SET FORMULA(VP Cell("ViewProArea";5;2);"SUM($A$1:$C$10)")
$result:=VP Get formula(VP Cell("ViewProArea";5;2)) // $result="SUM($A$1:$C$10)"
See also
VP Get formulas
VP SET FORMULA
VP SET ROW COUNT
VP Get formula by name
VP Get formula by name ( vpAreaName : Text ; name : Text { ; scope : Number } ) : Object
Parameter | Type | Description | |
---|---|---|---|
vpAreaName | Text | -> | 4D View Pro area form object name |
name | Text | -> | Name of the named range |
scope | Number | -> | Target scope (default=current sheet) |
Result | Object | <- | Named formula or named range definition |
Description
The VP Get formula by name
command returns the formula and comment corresponding to the named range or named formula passed in the name parameter, or null if it does not exist in the defined scope.
In vpAreaName, pass the name of the 4D View Pro area. If you pass a name that does not exist, an error is returned.
Pass the named range or named formula that you want to get in name. Note that named ranges are returned as formulas containing absolute cell references.
You can define where to get the formula in scope using either the sheet index (counting begins at 0) or the following constants:
vk current sheet
vk workbook
Returned Object
The returned object contains the following properties:
Property | Type | Description |
---|---|---|
formula | Text | Text of the formula corresponding to the named formula or named range. For named ranges, the formula is a sequence of absolute coordinates. |
comment | Text | Comment corresponding to the named formula or named range |
Example
$range:=VP Cell("ViewProArea";0;0)
VP ADD RANGE NAME("Total1";$range)
$formula:=VP Get formula by name("ViewProArea";"Total1")
//$formula.formula=Sheet1!$A$1
$formula:=VP Get formula by name("ViewProArea";"Total")
//$formula=null (if not existing)
See also
VP ADD FORMULA NAME
VP Get names
VP Get formulas
VP Get formulas ( rangeObj : Object ) : Collection
Parameter | Type | Description | |
---|---|---|---|
rangeObj | Object | -> | Range object |
Result | Collection | <- | Collection of formula values |
Description
The VP Get formulas
command retrieves the formulas from a designated rangeObj.
In rangeObj, pass a range whose formulas you want to retrieve. If rangeObj designates multiple ranges, the formula of the first range is returned. If rangeObj does not contain any formulas, the command returns an empty string.
The returned collection is two-dimensional:
- The first-level collection contains subcollections of formulas. Each subcollection reprensents a row.
- Each subcollection defines cell values for the row. Values are text elements containing the cell formulas.
Example
You want to retrieve the formulas in the Sum and Average columns from this document:
You can use this code:
$formulas:=VP Get formulas(VP Cells("ViewProArea";5;1;2;3))
//$formulas[0]=[Sum(B2:D2),Average(B2:D2)]
//$formulas[1]=[Sum(B3:D3),Average(B3:D3)]
//$formulas[2]=[Sum(B4:D4),Average(C4:D4)]
See also
VP Get formula
VP Get values
VP SET FORMULAS
VP SET VALUES
VP Get frozen panes
VP Get frozen panes ( vpAreaName : Text { ; sheet : Integer } ) : Object
Parameter | Type | Description | |
---|---|---|---|
vpAreaName | Text | -> | 4D View Pro area form object name |
sheet | Integer | -> | Sheet index (current sheet if omitted) |
Result | Object | <- | Object containing frozen column and row information |
Description
The VP Get frozen panes
command returns an object with information about the frozen columns and rows in vpAreaName.
In vpAreaName, pass the name of the 4D View Pro area. If you pass a name that does not exist, an error is returned.
In the optional sheet parameter, you can designate a specific spreadsheet where the range will be defined (counting begins at 0). If omitted or if you pass vk current sheet
, the current spreadsheet is used.
Returned object
The command returns an object describing the frozen columns and rows. This object can contain the following properties:
Property | Type | Description |
---|---|---|
columnCount | Integer | The number of frozen columns on the left of the sheet |
trailingColumnCount | Integer | The number of frozen columns on the right of the sheet |
rowCount | Integer | The number of frozen rows on the top of the sheet |
trailingRowCount | Integer | The number of frozen rows on the bottom of the sheet |
Example
You want to retrieve information about the number of frozen columns and rows:
var $panesObj : Object
$panesObj:=VP Get frozen panes("ViewProArea")
The returned object contains, for example:
See also
VP Get names
VP Get names ( vpAreaName : Text { ; scope : Number } ) : Collection
Parameter | Type | Description | |
---|---|---|---|
vpAreaName | Text | -> | 4D View Pro area form object name |
scope | Number | -> | Target scope (default= current sheet) |
Result | Collection | <- | Existing names in the defined scope |
Description
The VP Get names
command returns a collection of all defined "names" in the current sheet or in the scope designated by the scope parameter.
In vpAreaName, pass the name of the 4D View Pro area. If you pass a name that does not exist, an error is returned.
You can define where to get the names in scope using either the sheet index (counting begins at 0) or the following constants:
vk current sheet
vk workbook
Returned collection
The returned collection contains one object per name. The following object properties can be returned:
Property | Type | Description |
---|---|---|
result[ ].name | Text | cell or range name |
result[ ].formula | Text | formula |
result[ ].comment | Text | Comment associated to the name |
Available properties depend on the type of the named element (named cell, named range, or named formula).
Example
var $list : Collection
$list:=VP Get names("ViewProArea";2) //names in 3rd sheet
See also
VP ADD FORMULA NAME
VP ADD RANGE NAME
VP Get formula by name
VP Name
VP Get print info
VP Get print info ( vpAreaName : Text { ; sheet : Integer } ) : Object
Parameter | Type | Description | |
---|---|---|---|
vpAreaName | Text | -> | 4D View Pro area form object name |
sheet | Integer | -> | Sheet index (current sheet if omitted) |
Result | Object | <- | Object of printing information |
Description
The VP Get print info
command returns an object containing the print attributes of the vpAreaName.
Pass the the name of the 4D View Pro area in vpAreaName. If you pass a name that does not exist, an error is returned.
In the optional sheet parameter, you can designate a specific spreadsheet (counting begins at 0) whose printing attributes you want returned. If omitted or if you pass vk current sheet
, the current spreadsheet is used.
Example
This code:
$pinfo:=VP Get print info("ViewProArea")
... returns the print attributes of the 4D View Pro area set in the VP SET PRINT INFO command:
{
bestFitColumns:false,
bestFitRows:false,
blackAndWhite:false,
centering:0,
columnEnd:8,
columnStart:0,
firstPageNumber:1,
fitPagesTall:1,
fitPagesWide:1,
footerCenter:"&BS.H.I.E.L.D. &A Sales Per Region",
footerCenterImage:,
footerLeft:,
footerLeftImage:,
footerRight:"page &P of &N",
footerRightImage:,
headerCenter:,
headerCenterImage:,
headerLeft:"&G",
headerLeftImage:logo.png,
headerRight:,
headerRightImage:,
margin:{top:75,bottom:75,left:70,right:70,header:30,footer:30},
orientation:2,
pageOrder:0,
pageRange:,
paperSize:{width:850,height:1100,kind:1},
qualityFactor:2,
repeatColumnEnd:-1,
repeatColumnStart:-1,
repeatRowEnd:-1,
repeatRowStart:-1,
rowEnd:24,
rowStart:0,
showBorder:false,
showColumnHeader:0,
showGridLine:false,
showRowHeader:0,
useMax:true,
watermark:[],
zoomFactor:1
}
See also
4D View Pro Print Attributes
VP SET PRINT INFO
VP Get row attributes
VP Get row attributes ( rangeObj : Object ) : Collection
Parameter | Type | Description | |
---|---|---|---|
rangeObj | Object | -> | Range object |
Result | Collection | <- | Collection of row properties |
Description
The VP Get row attributes
command returns a collection of properties for any row in the rangeObj.
In rangeObj, pass an object containing a range of the rows whose attributes will be retrieved.
The returned collection contains any properties for the rows, whether or not they have been set by the VP SET ROW ATTRIBUTES method.
Example
The following code returns a collection of the attributes within the given range:
var $range : Object
var $attr : Collection
$range:=VP Column("ViewProArea";1;2)
$attr:=VP Get row attributes($range)
See also
VP Get column attributes
VP SET COLUMN ATTRIBUTES
VP SET ROW ATTRIBUTES
VP Get row count
VP Get row count ( vpAreaName : Text {; sheet : Integer } ) : Integer
Parameter | Type | Description | |
---|---|---|---|
vpAreaName | Text | -> | 4D View Pro area from object name |
sheet | Integer | -> | Sheet index (current sheet if omitted) |
Result | Integer | <- | Total number of rows |
Description
The VP Get row count
command returns the total number of rows from the designated sheet.
In vpAreaName, pass the name property of the 4D View Pro area. If you pass a name that does not exist, an error is returned.
You can define where to get the row count in the optional sheet parameter using the sheet index (counting begins at 0). If omitted or if you pass vk current sheet
, the current spreadsheet is used.
Example
The following code returns the number of rows in the 4D View Pro area:
var $rowCount : Integer
$rowCount:=VP Get row count("ViewProarea")
See also
VP Get column count
VP SET COLUMN COUNT
VP SET ROW COUNT
VP Get selection
VP Get selection ( vpAreaName : Text {; sheet : Integer } ) ) : Object
Parameter | Type | Description | |
---|---|---|---|
vpAreaName | Text | -> | 4D View Pro area from object name |
sheet | Integer | -> | Sheet index (current sheet if omitted) |
Result | Object | <- | Range object of cells |
Description
The VP Get selection
command returns a new range object referencing the current selected cells.
In vpAreaName, pass the name of the 4D View Pro area. If you pass a name that does not exist, an error is returned.
In the optional sheet parameter, you can designate a specific spreadsheet where the range will be defined (counting begins at 0). If omitted or if you pass vk current sheet
, the current spreadsheet is used.
Example
The following code will retrieve the coordinates of all the cells in the current selection:
$currentSelection:=VP Get selection("myVPArea")
//returns a range object containing:
//$currentSelection.ranges[0].column=5
//$currentSelection.ranges[0].columnCount=2
//$currentSelection.ranges[0].row=8
//$currentSelection.ranges[0].rowCount=6
See also
VP ADD SELECTION
VP Get active cell
VP SET ACTIVE CELL
VP SET SELECTION
VP SHOW CELL
VP Get sheet count
VP Get sheet count ( vpAreaName : Text ) : Integer
Parameter | Type | Description | |
---|---|---|---|
vpAreaName | Text | -> | 4D View Pro area form object name |
Function result | Integer | <- | Number of sheets |
Description
The VP Get sheet count
command returns the number of sheets in the document loaded in vpAreaName.
In vpAreaName, pass the name of the 4D View Pro area.
Example
In the following document:
Get the sheet count and set the current sheet to the last sheet:
$count:=VP Get sheet count("ViewProArea")
//set the current sheet to the last sheet (indexing starts at 0)
VP SET CURRENT SHEET("ViewProArea";$count-1)
See also
VP Get sheet index
VP SET SHEET COUNT
VP Get sheet index
VP Get sheet index ( vpAreaName : Text ; name : Text ) : Integer
Parameter | Type | Description | |
---|---|---|---|
vpAreaName | Text | -> | 4D View Pro area form object name |
name | Text | -> | Sheet name |
Function result | Integer | <- | Sheet index |
Description
The VP Get sheet index
command returns the index of a sheet based on its name in vpAreaName.
In vpAreaName, pass the name of the 4D View Pro area.
In name, pass the name of the sheet whose index will be returned. If no sheet named name is found in the document, the method returns -1.
Indexing starts at 0.
Example
In the following document:
Get the index of the sheet called "Total first quarter":
$index:=VP Get sheet index("ViewProArea";"Total first quarter") //returns 2
See also
VP Get sheet count
VP Get sheet name
VP Get sheet name
VP Get sheet name ( vpAreaName : Text ; sheet : Integer ) : Text
Parameter | Type | Description | |
---|---|---|---|
vpAreaName | Text | -> | 4D View Pro area form object name |
sheet | Integer | -> | Sheet index |
Function result | Text | <- | Sheet name |
Description
The VP Get sheet name
command returns the name of a sheet based on its index in vpAreaName.
In vpAreaName, pass the name of the 4D View Pro area.
In sheet, pass the index of the sheet whose name will be returned.
If the passed sheet index does not exist, the method returns an empty name.
Indexing starts at 0.
Example
Get the name of the third sheet in the document:
$sheetName:=VP Get sheet name("ViewProArea";2)
See also
VP Get sheet options
VP Get sheet options ( vpAreaName : Text {; sheet : Integer } ) ) : Object
Parameter | Type | Description | |
---|---|---|---|
vpAreaName | Text | -> | 4D View Pro area from object name |
sheet | Integer | -> | Sheet index (current sheet if omitted) |
Result | Object | <- | Sheet options object |
Description
The VP Get sheet options
command returns an object containing the current sheet options of the vpAreaName area.
Pass the name of the 4D View Pro area in vpAreaName. If you pass a name that does not exist, an error is returned.
In the optional sheet parameter, you can designate a specific spreadsheet (counting begins at 0). If omitted or if you pass vk current sheet
, the current spreadsheet is used.
Returned object
The method returns an object containing the current values for all available sheet options. An option value may have been modified by the user or by the VP SET SHEET OPTIONS method.
To view the full list of the options, see Sheet Options.
Example
$options:=VP Get sheet options("ViewProArea")
If($options.colHeaderVisible) //column headers are visible
... //do something
End if
See also
4D VIEW PRO SHEET OPTIONS
VP SET SHEET OPTIONS
VP Get show print lines
VP Get show print lines ( vpAreaName : Text {; sheet : Integer } ) : Boolean
Parameter | Type | Description | |
---|---|---|---|
vpAreaName | Text | -> | 4D View Pro area form object name |
sheet | Integer | <- | Sheet index |
Function result | Boolean | <- | True if print lines are visible, False otherwise |
Description
The VP Get show print lines
command returns True
if the print preview lines are visible and False
if they are hidden.
In vpAreaName, pass the name of the 4D View Pro area.
In sheet, pass the index of the target sheet. If sheet is omitted, the command applies to the current sheet.
Indexing starts at 0.
Example
The following code checks if preview lines are displayed or hidden in the document:
var $result : Boolean
$result:=VP Get show print lines("ViewProArea";1)
See also
VP Get spans
VP Get spans ( rangeObj : Object ) : Object
Parameter | Type | Description | |
---|---|---|---|
rangeObj | Object | -> | Range object |
Result | Object | <- | Object of cell spans in the defined range |
Description
The VP Get spans
command retrieves the cell spans in the designated rangeObj.
In rangeObj, pass a range of cell spans you want to retrieve. If rangeObj does not contain a cell span, an empty range is returned.
Example
You want to center the text for the spanned cells in this document:
// Search for all cell spans
$range:=VP Get spans(VP All("ViewProArea"))
//center text
$style:=New object("vAlign";vk vertical align center;"hAlign";vk horizontal align center)
VP SET CELL STYLE($range;$style)
See also
VP Get stylesheet
VP Get stylesheet ( vpAreaName : Text ; styleName : Text { ; sheet : Integer } ) : Object
Parameter | Type | Description | |
---|---|---|---|
vpAreaName | Text | -> | 4D View Pro area form object name |
styleName | Text | -> | Name of style |
sheet | Integer | -> | Sheet index (current sheet if omitted) |
Result | Object | <- | Style sheet object |
Description
The VP Get stylesheet
command returns the styleName style sheet object containing the property values which have been defined.
In vpAreaName, pass the name of the 4D View Pro area. If you pass a name that does not exist, an error is returned.
In styleName, pass the name of the style sheet to get.
You can define where to get the style sheet in the optional sheet parameter using the sheet index (counting begins at 0) or with the following constants:
vk current sheet
vk workbook
Example
The following code:
$style:=VP Get stylesheet("ViewProArea";"GreenDashDotStyle")
... will return the GreenDashDotStyle style object from the current sheet:
{
backColor:green,
borderBottom:{color:green,style:10},
borderLeft:{color:green,style:10},
borderRight:{color:green,style:10},
borderTop:{color:green,style:10}
}
See also
4D View Pro Style Objects and Style Sheets
VP ADD STYLESHEET
VP Get stylesheets
VP REMOVE STYLESHEET
VP Get stylesheets
VP Get stylesheets ( vpAreaName : Text { ; sheet : Integer } ) : Collection
Parameter | Type | Description | |
---|---|---|---|
vpAreaName | Text | -> | 4D View Pro area form object name |
sheet | Integer | -> | Target scope (default = current sheet) |
Result | Collection | <- | Collection of style sheet objects |
Description
The VP Get stylesheets
command returns the collection of defined style sheet objects from the designated sheet.
In vpAreaName, pass the name property of the 4D View Pro area. If you pass a name that does not exist, an error is returned.
You can define where to get the style sheets in the optional sheet parameter using the sheet index (counting begins at 0) or with the following constants:
vk current sheet
vk workbook
Example
The following code will return a collection of all the style objects in the current sheet:
$styles:=VP Get stylesheets("ViewProArea")
In this case, the current sheet uses two style objects:
[
{
backColor:green,
borderLeft:{color:green,style:10},
borderTop:{color:green,style:10},
borderRight:{color:green,style:10},
borderBottom:{color:green,style:10},
name:GreenDashDotStyle
},
{
backColor:red,
textIndent:10,
name:RedIndent
}
]
See also
VP ADD STYLESHEET
VP Get stylesheet
VP REMOVE STYLESHEET
VP Get table column attributes
History
Release | Changes |
---|---|
19 R7 | Added |
VP Get table column attributes ( vpAreaName : Text ; tableName : Text ; column : Integer {; sheet : Integer } ) : Object
Parameter | Type | Description | |
---|---|---|---|
vpAreaName | Text | -> | 4D View Pro area form object name |
tableName | Text | -> | Table name |
column | Integer | -> | Index of the column in the table |
sheet | Integer | -> | Sheet index (current sheet if omitted) |
Result | Object | <- | Attributes of the column |
Description
The VP Get table column attributes
command returns the current attributes of the specified column in the tableName.
In vpAreaName, pass the name of the 4D View Pro area.
In sheet, pass the index of the target sheet. If no index is specified or if you pass -1, the command applies to the current sheet.
Indexing starts at 0.
The command returns an object describing the current attributes of the column:
Property | Type | Description |
---|---|---|
dataField | text | Table column's property name in the data context. Not returned if the table is displayed automatically |
name | text | Table column's name. |
footerText | text | Column footer value. |
footerFormula | text | Column footer formula. |
filterButtonVisible | boolean | True if the table column's filter button is displayed, False otherwise. |
If tableName is not found or if column index is higher than the number of columns, the command returns null.
Example
var $attributes : Object
$attributes:=VP Get table column attributes("ViewProArea"; $tableName; 1)
If ($attributes.dataField#"")
...
End if
See also
VP CREATE TABLE
VP Find table
VP SET TABLE COLUMN ATTRIBUTES
VP RESIZE TABLE
VP Get table column index
History
Release | Changes |
---|---|
19 R7 | Added |
VP Get table column index ( vpAreaName : Text ; tableName : Text ; columnName : Text {; sheet : Integer } ) : Integer
Parameter | Type | Description | |
---|---|---|---|
vpAreaName | Text | -> | 4D View Pro area form object name |
tableName | Text | -> | Table name |
columnName | Text | -> | Name of the table column |
sheet | Integer | -> | Sheet index (current sheet if omitted) |
Result | Integer | <- | Index of columnName |
Description
The VP Get table column index
command returns the index of the columnName in the tableName.
In vpAreaName, pass the name of the 4D View Pro area.
In columnName, pass the name of the table column for which you want to get the index.
In sheet, pass the index of the target sheet. If no index is specified or if you pass -1, the command applies to the current sheet.
Indexing starts at 0.
If tableName or columnName is not found, the command returns -1.
Example
// Search the column id according the column name
var $id : Integer
$id:=VP Get table column index($area; $tableName; "Weight price")
// Remove the column by id
VP REMOVE TABLE COLUMNS($area; $tableName; $id)
See also
VP CREATE TABLE
VP Find table
VP Get table column attributes
VP SET TABLE COLUMN ATTRIBUTES
VP Get table dirty rows
History
Release | Changes |
---|---|
19 R8 | Added |
VP Get table dirty rows ( vpAreaName : Text ; tableName : Text { ; reset : Boolean {; sheet : Integer }} ) : Collection
Parameter | Type | Description | |
---|---|---|---|
vpAreaName | Text | -> | 4D View Pro area form object name |
tableName | Text | -> | Table name |
reset | Boolean | -> | True to clear the dirty status from the current table, False to keep it untouched. Default=True |
sheet | Integer | -> | Sheet index (current sheet if omitted) |
Result | Collection | <- | Collection of objects with all the items modified since the last reset |
Description
The VP Get table dirty rows
command returns a collection of dirty row objects, containing items that were modified since the last reset in the specified tableName.
In vpAreaName, pass the name of the 4D View Pro area.
In tableName, pass the name of the table for which you want to get the dirty rows. Only modified columns bound to a data context will be taken into account.
By default, calling the command will clear the dirty status from the current table. To keep this status untouched, pass False
in the reset parameter.
In sheet, pass the index of the target sheet. If no index is specified or if you pass -1, the command applies to the current sheet.
Indexing starts at 0.
Each dirty row object in the returned collection contains the following properties:
Property | Type | Description |
---|---|---|
item | object | Modified object of the modified row |
originalItem | object | Object before modification |
row | integer | Index of the modified row |
If tableName is not found or if it does not contain a modified column, the command returns an empty collection.
Example
You want to count the number of edited rows:
var $dirty : Collection
$dirty:=VP Get table dirty rows("ViewProArea"; "ContextTable"; False)
VP SET NUM VALUE(VP Cell("ViewProArea"; 0; 0); $dirty.length)
See also
VP CREATE TABLE
VP Find table
VP SET TABLE COLUMN ATTRIBUTES
VP RESIZE TABLE
VP Get table range
History
Release | Changes |
---|---|
19 R7 | Added |
VP Get table range ( vpAreaName : Text ; tableName : Text {; onlyData : Integer {; sheet : Integer }} ) : Object
Parameter | Type | Description | |
---|---|---|---|
vpAreaName | Text | -> | 4D View Pro area form object name |
tableName | Text | -> | Table name |
onlyData | Integer | -> | vk table full range (default) or vk table data range |
sheet | Integer | -> | Sheet index (current sheet if omitted) |
Result | Object | <- | Range that contains the table |
Description
The VP Get table range
command returns the range of tableName.
In vpAreaName, pass the name of the 4D View Pro area.
In the onlyData parameter, you can pass one of the following constants to indicate if you want to get the data only:
Constant | Value | Description |
---|---|---|
vk table full range | 0 | Get the cell range for the table area with footer and header (default if omitted) |
vk table data range | 1 | Get the cell range for the table data area only |
In sheet, pass the index of the target sheet. If no index is specified, the command applies to the current sheet.
Indexing starts at 0.
If tableName is not found, the command returns null.
See also
VP Get table theme
History
Release | Changes |
---|---|
19 R8 | Added |
VP Get table theme ( vpAreaName : Text ; tableName : Text ) : cs.ViewPro.TableTheme
Parameter | Type | Description | |
---|---|---|---|
vpAreaName | Text | -> | 4D View Pro area form object name |
tableName | Text | -> | Table name |
Result | cs.ViewPro.TableTheme | <- | Current table theme property values |
Description
The VP Get table theme
command returns the current theme propertie values of the tableName. A table theme can be set using the VP CREATE TABLE
or VP SET TABLE THEME
commands, or through the interface.
In vpAreaName, pass the name of the 4D View Pro area and in tableName, the name of the table.
The command returns an object of the cs.ViewPro.TableTheme class with properties and values that describe the current table theme.
Example
The command returns a full theme
object even if a native SpreadJS theme name was used to define the theme.
var $param : cs.ViewPro.TableTheme
$param:=cs.ViewPro.TableTheme.new()
$param.theme:="dark10" //use of a native theme name
VP SET TABLE THEME("ViewProArea"; "ContextTable"; $param)
$vTheme:=VP Get table theme("ViewProArea"; "ContextTable")
$result:=Asserted(Value type($vTheme.theme)=Is object) //true
See also
VP CREATE TABLE
VP SET TABLE THEME
VP Get tables
History
Release | Changes |
---|---|
19 R7 | Added |
VP Get tables ( vpAreaName : Text { ; sheet : Integer } ) : Collection
Parameter | Type | Description | |
---|---|---|---|
vpAreaName | Text | -> | 4D View Pro area form object name |
sheet | Integer | -> | Sheet index (current sheet if omitted) |
Result | Collection | <- | Text collection with all table names |
Description
The VP Get tables
command returns a collection of all table names defined in the sheet.
In vpAreaName, pass the name of the 4D View Pro area.
In sheet, pass the index of the target sheet. If no index is specified, the command applies to the current sheet.
Indexing starts at 0.
Example
The following code will return a collection of all the table names in the current sheet:
$tables:=VP Get tables("ViewProArea")
//$tables contains for example ["contextTable","emailTable"]
See also
VP Get value
VP Get value ( rangeObj : Object ) : Object
Parameter | Type | Description | |
---|---|---|---|
rangeObj | Object | -> | Range object |
Result | Object | <- | Object containing a cell value |
Description
The VP Get value
command retrieves a cell value from a designated cell range.
In rangeObj, pass a range whose value you want to retrieve.
Returned object
The object returned will contain the value
property, and, in case of a js date value, a time
property:
Property | Type | Description |
---|---|---|
value | Integer, Real, Boolean, Text, Date | Value in the rangeObj (except- time) |
time | Real | Time value (in seconds) if the value is of the js date type |
If the object returned includes a date or time, it is treated as a datetime and completed as follows:
- time value - the date portion is completed as December 30, 1899 in dd/MM/yyyy format (30/12/1899)
- date value - the time portion is completed as midnight in HH:mm:ss format (00:00:00)
If rangeObj contains multiple cells or multiple ranges, the value of the first cell is returned. The command returns a null object if the cell is empty.
Example
$cell:=VP Cell("ViewProArea";5;2)
$value:=VP Get value($cell)
If(Value type($value.value)=Is text)
VP SET VALUE($cell;New object("value";Uppercase($value.value)))
End if
See also
VP Get values
VP SET VALUE
VP SET VALUES
VP Get values
VP Get values ( rangeObj : Object ) : Collection
Parameter | Type | Description | |
---|---|---|---|
rangeObj | Object | -> | Range object |
Result | Collection | <- | Collection of values |
Description
The VP Get values
command retrieves the values from the designated rangeObj.
In rangeObj, pass a range whose values you want to retrieve. If rangeObj includes multiple ranges, only the first range is used.
The collection returned by VP Get values
contains a two-dimensional collection:
- Each element of the first-level collection represents a row and contains a subcollection of values
- Each subcollection contains cell values for the row. Values can be Integer, Real, Boolean, Text, Null. If a value is a date or time, it is returned in an object with the following properties:
Property | Type | Description |
---|---|---|
value | Date | Value in the cell (except- time) |
time | Real | Time value (in seconds) if the value is of the js date type |
Dates or times are treated as a datetime and completed as follows:
- time value - the date portion is completed as December 30, 1899
- date value - the time portion is completed as midnight (00:00:00:000)
Example
You want to get values from C4 to G6:
$result:=VP Get values(VP Cells("ViewProArea";2;3;5;3))
// $result[0]=[4,5,null,hello,world]
// $result[1]=[6,7,8,9,null]
// $result[2]=[null,{time:42,value:2019-05-29T00:00:00.000Z},null,null,null]
See also
VP Get formulas
VP Get value
VP SET FORMULAS
VP SET VALUES
VP Get workbook options
VP Get workbook options ( vpAreaName : Text ) : Object
Parameter | Type | Description | |
---|---|---|---|
vpAreaName | Text | -> | 4D View Pro area form object name |
Result | Object | <- | Object containing the workbook options |
Description
VP Get workbook options
returns an object containing all the workbook options in vpAreaName
In vpAreaName, pass the name of the 4D View Pro area.
The returned object contains all the workbook options (default and modified ones), in the workbook.
The list of workbook options is referenced in VP SET WORKBOOK OPTIONS
's description.
Example
var $workbookOptions : Object
$workbookOptions:=VP Get workbook options("ViewProArea")
See also
I
VP IMPORT DOCUMENT
VP IMPORT DOCUMENT ( vpAreaName : Text ; filePath : Text { ; paramObj : Object} )
Parameter | Type | Description | |
---|---|---|---|
vpAreaName | Text | -> | 4D View Pro area form object name |
filePath | Text | -> | Pathname of the document |
paramObj | Object | -> | Import options |
Description
The VP IMPORT DOCUMENT
command imports and displays the document designated by filePath in the 4D View Pro area vpAreaName. The imported document replaces any data already inserted in the area.
In vpAreaName, pass the name of the 4D View Pro area. If you pass a name that does not exist, an error is returned.
In filePath, pass the path and name of the document to be imported. The following formats are supported :
-
4D View Pro documents (extension ".4vp")
-
Microsoft Excel (extension ".xlsx")
-
text documents (extension ".txt", ".csv", the document must be in utf-8)
If the document extension is not a recognized extension, such as .4vp
or .xlsx
, the document is considered a text document. You must pass a full path, unless the document is located at the same level as the Project folder, in which case you can just pass its name.
When importing a Microsoft Excel-formatted file into a 4D View Pro document, some settings may be lost. You can verify your settings with this list from GrapeCity.
An error is returned if the filePath
parameter is invalid, or if the file is missing or malformed.
The optional paramObj parameter allows you to define properties for the imported document:
Parameter | Type | Description | |
---|---|---|---|
formula | object | A callback method name to be launched when the import has completed. The method must use the Formula command. See Passing a callback method (formula). | |
password | text | Microsoft Excel only (optional) - The password used to protect a MS Excel document. | |
csvOptions | object | options for csv import | |
range | object | Cell range that contains the first cell where the data will be written. If the specified range is not a cell range, only the first cell of the range is used. | |
rowDelimiter | text | Row delimiter. If not present, the delimiter is automatically determined by 4D. | |
columnDelimiter | text | Column delimiter. Default: "," |
For more information on the CSV format and delimiter-separated values in general, see this article on Wikipedia
Example 1
You want to import a default 4D View Pro document stored on the disk when the form is open:
C_TEXT($docPath)
If(Form event code=On VP Ready) //4D View Pro area loaded and ready
$docPath:="C:\\Bases\\ViewProDocs\\MyExport.4VP"
VP IMPORT DOCUMENT("VPArea";$docPath)
End if
Example 2
You want to import a password protected Microsoft Excel document into a 4D View Pro area:
$o:=New object
$o.password:="excel123"
VP IMPORT DOCUMENT("ViewProArea";"c:\\tmp\\excelfilefile.xlsx";$o)
//myImport callback method
#DECLARE($area : Text; $filePath : Text; $param : Object; $status : Object)
If ($status.success)
ALERT("Import successfully completed")
Else
ALERT("Error: "+$status.errorMessage)
End if
Example 3
You want to import a .txt
file that uses a comma (",") as delimiter:
$params:=New object
$params.range:=VP Cells("ViewProArea";0;0;2;5)
VP IMPORT DOCUMENT("ViewProArea";"c:\\import\\my-file.txt";New object("csvOptions";$params))
Here's the result:
See also
VP EXPORT DOCUMENT
VP NEW DOCUMENT
VP IMPORT FROM OBJECT
VP IMPORT FROM OBJECT ( vpAreaName : Text { ; viewPro : Object} )
Parameter | Type | Description | |
---|---|---|---|
vpAreaName | Text | -> | 4D View Pro area form object name |
viewPro | Object | -> | 4D View Pro object |
Description
The VP IMPORT FROM OBJECT
command imports and displays the viewPro 4D View Pro object in the vpAreaName 4D View Pro area. The imported object contents replaces any data already inserted in the area.
In vpAreaName, pass the name of the 4D View Pro area. If you pass a name that does not exist, an error is returned.
In viewPro, pass a valid 4D View Pro object. This object can have been created using VP Export to object or manually. For more information on 4D View Pro objects, please refer to the 4D View Pro object section.
An error is returned if the viewPro object is invalid.
Example
You want to import a spreadsheet that was previously saved in an object field:
QUERY([VPWorkBooks];[VPWorkBooks]ID=10)
VP IMPORT FROM OBJECT("ViewProArea1";[VPWorkBooks]SPBook)
See also
VP INSERT COLUMNS
VP INSERT COLUMNS ( rangeObj : Object )
Parameter | Type | Description | |
---|---|---|---|
rangeObj | Object | -> | Range object |
Description
The VP INSERT COLUMNS
command inserts columns into the rangeObj.
In rangeObj, pass an object containing a range of the starting column (the column which designates where the new column will be inserted) and the number of columns to insert. If the number of column to insert is omitted (not defined), a single column is inserted.
New columns are inserted on the left, directly before the starting column in the rangeObj.
Example
To insert three columns before the second column:
VP INSERT COLUMNS(VP Column("ViewProArea";1;3))
The results is:
See also
VP DELETE COLUMNS
VP DELETE ROWS
VP INSERT ROWS
VP INSERT ROWS
VP INSERT ROWS ( rangeObj : Object )
Parameter | Type | Description | |
---|---|---|---|
rangeObj | Object | -> | Range object |
Description
The VP INSERT ROWS
command inserts rows defined by the rangeObj.
In rangeObj, pass an object containing a range of the starting row (the row which designates where the new row will be inserted) and the number of rows to insert. If the number of rows to insert is omitted (not defined), a single row is inserted.
New rows are inserted directly before the first row in the rangeObj.
Example
To insert 3 rows before the first row:
VP INSERT ROWS(VP Row("ViewProArea";0;3))
The results is:
See also
VP DELETE COLUMNS
VP DELETE ROWS
VP INSERT COLUMNS
VP INSERT TABLE COLUMNS
History
Release | Changes |
---|---|
19 R7 | Added |
VP INSERT TABLE COLUMNS ( vpAreaName : Text ; tableName : Text ; column : Integer {; count : Integer {; insertAfter : Integer {; sheet : Integer }}} )
Parameter | Type | Description | |
---|---|---|---|
vpAreaName | Text | -> | 4D View Pro area form object name |
tableName | Text | -> | Table name |
column | Integer | -> | Index in the table of the starting column to insert |
count | Text | -> | Number of columns to add (must be >0) |
insertAfter | Integer | -> | vk table insert before or vk table insert after column |
sheet | Integer | -> | Sheet index (current sheet if omitted) |
Description
The VP INSERT TABLE COLUMNS
command inserts one or count empty column(s) in the specified tableName at the specified column index.
When a column has been inserted with this command, you typically modify its contents using the VP SET TABLE COLUMN ATTRIBUTES command.
In the insertAfter parameter, you can pass one of the following constants to indicate if the column(s) must be inserted before or after the column index:
Constant | Value | Description |
---|---|---|
vk table insert before | 0 | Insert column(s) before the column (default if omitted) |
vk table insert after | 1 | Insert column(s) after the column |
This command inserts some columns in the tableName table, NOT in the sheet. The total number of columns of the sheet is not impacted by the command. Data present at the right of the table (if any) are automatically moved right according to the number of added columns.
If tableName does not exist or if there is not enough space in the sheet, nothing happens.
Example
See examples for VP INSERT TABLE ROWS and VP SET TABLE COLUMN ATTRIBUTES.
See also
VP INSERT TABLE ROWS
VP REMOVE TABLE COLUMNS
VP SET TABLE COLUMN ATTRIBUTES
VP INSERT TABLE ROWS
History
Release | Changes |
---|---|
19 R7 | Added |
VP INSERT TABLE ROWS ( vpAreaName : Text ; tableName : Text ; row : Integer {; count : Integer {; insertAfter : Integer {; sheet : Integer }}} )
Parameter | Type | Description | |
---|---|---|---|
vpAreaName | Text | -> | 4D View Pro area form object name |
tableName | Text | -> | Table name |
row | Integer | -> | Index in the table of the starting row to insert |
count | Text | -> | Number of rows to add (must be >0) |
insertAfter | Integer | -> | vk table insert before or vk table insert after row |
sheet | Integer | -> | Sheet index (current sheet if omitted) |
Description
The VP INSERT TABLE ROWS
command inserts one or count empty row(s) in the specified tableName at the specified row index.
In the insertAfter parameter, you can pass one of the following constants to indicate if the row(s) must be inserted before or after the row index:
Constant | Value | Description |
---|---|---|
vk table insert before | 0 | Insert row(s) before the row (default if omitted) |
vk table insert after | 1 | Insert row(s) after the row |
This command inserts some rows in the tableName table, NOT in the sheet. The total number of rows of the sheet is not impacted by the command. Data present below the table (if any) are automatically moved down according to the number of added rows.
If the tableName table is bound to a data context, the command inserts new, empty element(s) in the collection.
If tableName does not exist or if there is not enough space in the sheet, nothing happens.
Example
You create a table with a data context:
var $context : Object
$context:=New object()
$context.col:=New collection
$context.col.push(New object("name"; "Smith"; "salary"; 10000))
$context.col.push(New object("name"; "Wesson"; "salary"; 50000))
$context.col.push(New object("name"; "Gross"; "salary"; 10500))
VP SET DATA CONTEXT("ViewProArea"; $context)
VP CREATE TABLE(VP Cells("ViewProArea"; 1; 1; 3; 3); "PeopleTable"; "col")
You want to insert two rows and two columns in the table, you can write:
VP INSERT TABLE ROWS("ViewProArea"; "PeopleTable"; 1; 2)
VP INSERT TABLE COLUMNS("ViewProArea"; "PeopleTable"; 1; 2)
See also
VP INSERT TABLE COLUMNS
VP REMOVE TABLE ROWS
M
VP MOVE CELLS
History
Release | Changes |
---|---|
19 R4 | Added |
VP MOVE CELLS ( originRange : Object ; targetRange : Object ; options : Object )
Parameter | Type | Description | |
---|---|---|---|
originRange | Object | -> | Cell range to copy from |
targetRange | Object | -> | Target range for the values, formatting and formulas |
options | Object | -> | Additional options |
Description
The VP MOVE CELLS
command moves or copies the values, style and formulas from originRange to targetRange.
originRange and targetRange can refer to different View Pro areas.
In originRange, pass a range object containing the values, style, and formula cells to copy or move. If originRange is a combined range, only the first one is used.
In targetRange, pass the range of cells where the cell values, style, and formulas will be copied or moved.
The options parameter has several properties:
Property | Type | Description | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
copy | Boolean | Determines if the values, formatting and formulas of the cells in originRange are removed after the command executes:
| ||||||||||||||
pasteOptions | Integer | Specifies what is pasted. Possible values:
|
The paste options defined in the workbook options are taken into account.
Example
To copy the contents, values, formatting and formulas from an origin range:
var $originRange; $targetRange; $options : Object
$originRange:=VP Cells("ViewProArea"; 0; 0; 2; 5)
$targetRange:=VP Cells("ViewProArea"; 4; 0; 2; 5)
$options:=New object
$options.copy:=True
$options.pasteOptions:=vk clipboard options all
VP MOVE CELLS($originRange; $targetRange; $options)
See also
VP Copy to object
VP PASTE FROM OBJECT
VP SET WORKBOOK OPTIONS
N
VP Name
VP Name ( vpAreaName : Text ; rangeName : Text { ; sheet : Integer } ) : Object
Parameter | Type | Description | |
---|---|---|---|
vpAreaName | Text | -> | 4D View Pro area form object name |
rangeName | Text | -> | Existing range name |
sheet | Integer | -> | Range location (current sheet if omitted) |
Result | Object | <- | Range object of name |
Description
The VP Name
command returns a new range object referencing a named range.
In vpAreaName, pass the name of the 4D View Pro area. If you pass a name that does not exist, an error is returned.
The rangeName parameter specifies an existing named cell range.
In the optional sheet parameter, you can designate a specific spreadsheet where rangeName is defined. If omitted, the current spreadsheet is used by default. You can explicitly select the current spreadsheet or the entire workbook with the following constants:
vk current sheet
vk workbook
Example
You want to give a value to the "Total" named range.
// name the B5 cell as Total
VP ADD RANGE NAME(VP Cell("ViewProArea";1;4);"Total")
$name:=VP Name("ViewProArea";"Total")
VP SET NUM VALUE($name;285;"$#,###.00")
See also
VP ADD RANGE NAME
VP ALL
VP Cell
VP Cells
VP Column
VP Combine ranges
VP Get names
VP REMOVE NAME
VP Row
VP NEW DOCUMENT
VP NEW DOCUMENT ( vpAreaName : Text )
Parameter | Type | Description | |
---|---|---|---|
vpAreaName | Text | -> | 4D View Pro area form object name |
Description
The VP NEW DOCUMENT
command loads and display a new, default document in the 4D View Pro form area object vpAreaName. The new empty document replaces any data already inserted in the area.
In vpAreaName, pass the name of the 4D View Pro area. If you pass a name that does not exist, an error is returned.
Example
You want to display an empty document in the "myVPArea" form object:
VP NEW DOCUMENT("myVPArea")
See also
O
VP Object to font
VP Object to font ( fontObj : Object ) : Text
Parameter | Type | Description | |
---|---|---|---|
fontObj | Object | -> | Font object |
Result | Text | <- | Font shorthand |
Description
The VP Object to font
command returns a font shorthand string from fontObj.
In fontObj, pass an object containing the font properties. The following properties are supported:
Property | Type | Description | Possible values | Mandatory |
---|---|---|---|---|
family | text | Specifies the font. | any standard or generic font family. Ex. "Arial", "Helvetica", "serif", "arial,sans-serif" | Yes |
size | text | Defines the size of the font.The line-height can be added to the font-size: font-size/line-height: Ex: "15pt/20pt" | a number with one of the following units: vk font size large vk font size larger vk font size x large vk font size xx large vk font size small vk font size smaller vk font size x small vk font size xx small | Yes |
style | text | The style of the font. | vk font style italic vk font style oblique | No |
variant | text | Specifies font in small capital letters. | vk font variant small caps | No |
weight | text | Defines the thickness of the font. | vk font weight 100 vk font weight 200 vk font weight 300 vk font weight 400 vk font weight 500 vk font weight 600 vk font weight 700 vk font weight 800 vk font weight 900 vk font weight bold vk font weight bolder vk font weight lighter | No |
This object can be created with the VP Font to object command.
The returned shorthand string can be assigned to the "font" property of a cell with the VP SET CELL STYLE, for example.
Example
$cellStyle:=VP Get cell style($range)
$font:=VP Font to object($cellStyle.font)
$font.style:=vk font style oblique
$font.variant:=vk font variant small caps
$font.weight:=vk font weight bolder
$cellStyle.font:=VP Object to font($font)
//$cellStyle.font contains "bolder oblique small-caps 16pt arial"
See also
4D View Pro Style Objects and Style Sheets
VP Font to object
VP SET CELL STYLE
VP SET DEFAULT STYLE
P
VP PASTE FROM OBJECT
History
Release | Changes |
---|---|
19 R4 | Added |
VP PASTE FROM OBJECT ( rangeObj : Object ; dataObject : Object {; options : Longint} )
Parameter | Type | Description | |
---|---|---|---|
rangeObj | Object | -> | Cell range object |
dataObject | Object | -> | Object containing the data to be pasted |
options | Integer | -> | Specifies what is pasted |
Description
The VP PASTE FROM OBJECT
command pastes the contents, style and formulas stored in dataObject to the rangeObj object.
In rangeObj, pass the cell range object where the values, formatting, and/or formula cells will be pasted. If rangeObj refers to more than one cell, only the first one is used.
In dataObject, pass the object that contains the cell data, formatting, and formulas to be pasted.
In the optional options parameter, you can specify what to paste in the cell range. Possible values:
|Constant|Description|
|---|---|---|
|vk clipboard options all
|Pastes all data objects, including values, formatting, and formulas.|
|vk clipboard options formatting
|Pastes only the formatting.|
|vk clipboard options formulas
|Pastes only the formulas.|
|vk clipboard options formulas and formatting
|Pastes formulas and formatting.|
|vk clipboard options values
|Pastes only values.|
|vk clipboard options value and formatting
|Pastes values and formatting.|
The paste options defined in the workbook options are taken into account.
If options refers to a paste option not present in the copied object (e.g. formulas), the command does nothing.
Example
See example the example from VP Copy to object
See also
VP Copy to object
VP MOVE CELLS
VP Get workbook options
VP SET WORKBOOK OPTIONS
VP PRINT
VP PRINT ( vpAreaName : Text { ; sheet : Integer } )
Parameter | Type | Description | |
---|---|---|---|
vpAreaName | Text | -> | 4D View Pro area form object name |
sheet | Integer | -> | Sheet index (current sheet if omitted) |
Description
The VP PRINT
command opens a print dialog window to print vpAreaName.
Pass the 4D View Pro area to be printed in vpAreaName. The command will open the system print dialog window where the printer can be specified and the page properties can be defined.
The properties defined in the print dialog window are for the printer paper, they are not the printing properties for the 4D View Pro area. Printing properties for 4D View Pro areas are defined using the VP SET PRINT INFO command. It is highly recommended that the properties for both the printer and the 4D View Pro area match, otherwise the printed document may not correspond to your expectations.
In the optional sheet parameter, you can designate a specific spreadsheet to print (counting begins at 0). If omitted, the current sheet is used by default. You can explicitly select the current spreadsheet or entire workbook with the following constants:
vk current sheet
vk workbook
- 4D View Pro areas can only be printed with the
VP PRINT
command.- Commands from the 4D Printing language theme are not supported by
VP PRINT
.- This command is intended for individual printing by the final end user. For automated print jobs, it is advised to export the 4D View Pro area as a PDF with the VP EXPORT DOCUMENT method.
Example
The following code:
VP PRINT("myVPArea")
... will open a print dialog window:
See also
VP EXPORT DOCUMENT
VP SET PRINT INFO
R
VP RECOMPUTE FORMULAS
VP RECOMPUTE FORMULAS ( vpAreaName : Text )
Parameter | Type | Description | |
---|---|---|---|
vpAreaName | Text | -> | 4D View Pro area form object name |
Description
The VP RECOMPUTE FORMULAS
command immediately evaluates all formulas in vpAreaName. By default, 4D automatically computes formulas when they are inserted, imported, or exported. VP RECOMPUTE FORMULAS
allows you to force the compute at any time (e.g, in case modifications are made to the formulas or if the formulas contain calls to the database). The command launches the execution of the VP FLUSH COMMANDS command to execute any stored commands and clear the command buffer, then calculates all formulas in the workbook.
In vpAreaName, pass the name of the 4D View Pro area. If you pass a name that does not exist, an error is returned.
Be sure the VP SUSPEND COMPUTING command has not been executed before using
VP RECOMPUTE FORMULAS
, otherwise the command does nothing.
Example
To refresh all formulas in the workbook:
VP RECOMPUTE FORMULAS("ViewProArea")
See also
VP RESUME COMPUTING
VP SUSPEND COMPUTING
VP REMOVE NAME
VP REMOVE NAME ( vpAreaName : Text ; name : Text { ; sheet : Integer } )
Parameter | Type | Description | |
---|---|---|---|
vpAreaName | Text | -> | 4D View Pro area form object name |
name | Text | -> | Name of the named range or named formula to remove |
scope | Integer | -> | Target scope (default=current sheet) |
Description
The VP REMOVE NAME
command removes the named range or named formula passed in the name parameter in the defined scope.
In vpAreaName, pass the name of the 4D View Pro area. If you pass a name that does not exist, an error is returned.
Pass the named range or named formula that you want to remove in name.
You can define where to remove the name in scope using either the sheet index (counting begins at 0) or the following constants:
vk current sheet
vk workbook
Example
$range:=VP Cell("ViewProArea";0;0)
VP ADD RANGE NAME("Total1";$range)
VP REMOVE NAME("ViewProArea";"Total1")
$formula:=VP Get formula by name("ViewProArea";"Total1")
//$formula=null
See also
VP REMOVE SHEET
VP REMOVE SHEET ( vpAreaName : Text ; index: Integer )
Parameter | Type | Description | |
---|---|---|---|
vpAreaName | Text | -> | 4D View Pro area form object name |
index | Integer | -> | Index of the sheet to remove |
See also
Description
The VP REMOVE SHEET
command removes the sheet with the specified index from the document loaded in vpAreaName.
In vpAreaName, pass the name of the 4D View Pro area.
In index, pass the index of the sheet to remove. If the passed index does not exist, the command does nothing.
Indexing starts at 0.
Example
The document currently has three sheets:
Remove the third sheet:
VP REMOVE SHEET("ViewProArea";2)
VP REMOVE SPAN
VP REMOVE SPAN ( rangeObj : Object )
Parameter | Type | Description | |
---|---|---|---|
rangeObj | Object | -> | Range object |
Description
The VP REMOVE SPAN
command removes the span from the cells in rangeObj.
In rangeObj, pass a range object of the cell span. The spanned cells in the range are divided into individual cells.
Example
To remove all cell spans from this document:
//find all cell spans
$span:=VP Get spans(VP All("ViewProArea"))
//remove the cell spans
VP REMOVE SPAN($span)
Result:
See also
VP REMOVE STYLESHEET
VP REMOVE STYLESHEET ( vpAreaName : Text ; styleName : Text { ; sheet : Integer } )
Parameter | Type | Description | |
---|---|---|---|
vpAreaName | Text | -> | 4D View Pro area form object name |
styleName | Text | -> | Name of style to remove |
sheet | Integer | -> | Sheet index (current sheet if omitted) |
Description
The VP REMOVE STYLESHEET
command removes the style sheet passed in the styleName from the vpAreaName.
In vpAreaName, pass the name of the 4D View Pro area. If you pass a name that does not exist, an error is returned.
Pass the style sheet to remove in the styleName parameter.
You can define where to remove the style in the optional sheet parameter using the sheet index (counting begins at 0) or with the following constants:
vk current sheet
vk workbook
Example
To remove the GreenDashDotStyle style object from the current sheet:
VP REMOVE STYLESHEET("ViewProArea";"GreenDashDotStyle")
See also
VP ADD STYLESHEET
VP Get stylesheet
VP Get stylesheets
VP REMOVE TABLE
History
Release | Changes |
---|---|
19 R6 | Added |
VP REMOVE TABLE ( vpAreaName : Object; tableName : Text {; options : Integer} {; sheet : Integer}} )
Parameter | Type | Description | |
---|---|---|---|
vpAreaName | Text | -> | View Pro area name |
tableName | Text | -> | Name of the table to remove |
options | Integer | -> | Additional options |
sheet | Integer | -> | Sheet index (current sheet if omitted) |
Description
The VP REMOVE TABLE
command removes a table that you created with VP CREATE TABLE.
In vpAreaName, pass the name of the area where the table to remove is located.
In tableName, pass the name of the table to remove.
In options, you can specify additional behavior. Possible values are:
Constant | Value | Description |
---|---|---|
vk table remove all | 0 | Remove all including style and data |
vk table remove style | 1 | Remove style but keep data |
vk table remove data | 2 | Remove data but keep style |
Table names are defined at sheet level. You can specify where the table is located using the optional sheet parameter (indexing starts at 0).
Example
To remove the "people" table in the second sheet and keep the data in the cells:
VP REMOVE TABLE("ViewProArea"; "people"; vk table remove style; 2)
See also
VP REMOVE TABLE COLUMNS
History
Release | Changes |
---|---|
19 R7 | Added |
VP REMOVE TABLE COLUMNS ( vpAreaName : Text ; tableName : Text ; column : Integer {; count : Integer {; sheet : Integer }}} )
Parameter | Type | Description | |
---|---|---|---|
vpAreaName | Text | -> | 4D View Pro area form object name |
tableName | Text | -> | Table name |
column | Integer | -> | Index in the table of the starting column to remove |
count | Text | -> | Number of columns to remove (must be >0) |
sheet | Integer | -> | Sheet index (current sheet if omitted) |
Description
The VP REMOVE TABLE COLUMNS
command removes one or count column(s) in the specified tableName at the specified column index. The command removes values and styles.
The command removes columns from the tableName table, NOT from the sheet. The total number of columns of the sheet is not impacted by the command. Data present at the right of the table (if any) are automatically moved letf according to the number of removed columns.
If tableName does not exist, nothing happens.
Example
To remove two columns from 3rd column of the "dataTable" table:
VP REMOVE TABLE COLUMNS("ViewProArea"; "dataTable"; 3; 2)
See also
VP INSERT TABLE COLUMNS
VP REMOVE TABLE ROWS
VP REMOVE TABLE ROWS
History
Release | Changes |
---|---|
19 R7 | Added |
VP REMOVE TABLE ROWS ( vpAreaName : Text ; tableName : Text ; row : Integer {; count : Integer {; sheet : Integer }}} )
Parameter | Type | Description | |
---|---|---|---|
vpAreaName | Text | -> | 4D View Pro area form object name |
tableName | Text | -> | Table name |
row | Integer | -> | Index in the table of the starting row to remove |
count | Text | -> | Number of rows to remove (must be >0) |
sheet | Integer | -> | Sheet index (current sheet if omitted) |
Description
The VP REMOVE TABLE ROWS
command removes one or count row(s) from the specified tableName at the specified row index. The command removes values and styles.
This command removes rows from the tableName table, NOT from the sheet. The total number of rows of the sheet is not impacted by the command. Data present below the table (if any) are automatically moved up according to the number of removed rows.
If the tableName table is bound to a data context, the command removes element(s) from the collection.
If tableName does not exist, nothing happens.
Example
To remove two rows from 3rd row of the "dataTable" table:
VP REMOVE TABLE ROWS("ViewProArea"; "dataTable"; 3; 2)
See also
VP INSERT TABLE ROWS
VP REMOVE TABLE COLUMNS
VP RESET SELECTION
VP RESET SELECTION ( vpAreaName : Text { ; sheet : Integer } )
Parameter | Type | Description | |
---|---|---|---|
vpAreaName | Text | -> | 4D View Pro area form object name |
sheet | Integer | -> | Sheet index (current sheet if omitted) |
Description
The VP RESET SELECTION
command deselects all cells, resulting in no current selection or visible active cell.
A default active cell (cell A1) remains defined for 4D View Pro commands.
In vpAreaName, pass the name of the 4D View Pro area. If you pass a name that does not exist, an error is returned.
In the optional sheet parameter, you can designate a specific spreadsheet where the range will be defined (counting begins at 0). If omitted, the current spreadsheet is used by default. You can explicitly select the current spreadsheet with the following constant:
vk current sheet
Example
You want to deselect all cells (the active cell and any selected cells):
VP RESET SELECTION("myVPArea")
See also
VP ADD SELECTION
VP Get active cell
VP Get selection
VP SET ACTIVE CELL
VP SET SELECTION
VP SHOW CELL
VP RESIZE TABLE
History
Release | Changes |
---|---|
19 R7 | Added |
VP RESIZE TABLE ( rangeObj : Object; tableName : Text )
Parameter | Type | Description | |
---|---|---|---|
rangeObj | Object | -> | New range for the table |
tableName | Text | -> | Name of the table |
Description
The VP RESIZE TABLE
command changes the tableName size with regards to the rangeObj.
The following rules apply:
- Headers must remain in the same row and the resulting table range must overlap the original table range.
- If the row count of the resized table is inferior to the initial row count, values inside cropped rows or columns are kept if they were not bound to a data context, otherwise they are deleted.
- If the table expands on cells containing data:
- if rows are added, data is deleted,
- if columns are added, data are kept and are displayed in new columns.
If tableName does not exist, nothing happens.
Example
You create a table with a data context:
var $context : Object
$context:=New object()
$context.col:=New collection
$context.col.push(New object("name"; "Smith"; "salary"; 10000))
$context.col.push(New object("name"; "Wesson"; "salary"; 50000))
$context.col.push(New object("name"; "Gross"; "salary"; 10500))
VP SET DATA CONTEXT("ViewProArea"; $context)
VP CREATE TABLE(VP Cells("ViewProArea"; 1; 1; 3; 3); "PeopleTable"; "col")
You want to add one column before and after the table as well as two empty rows. You can write:
VP RESIZE TABLE(VP Cells("ViewProArea"; 0; 1; 4; 6); "PeopleTable")
See also
VP CREATE TABLE
VP Get table range
VP RESUME COMPUTING
VP RESUME COMPUTING ( vpAreaName : Text )
Parameter | Type | Description | |
---|---|---|---|
vpAreaName | Text | -> | 4D View Pro area form object name |
Description
The VP RESUME COMPUTING
command restarts the calculation of formulas in vpAreaName.
The command reactivates the calculation service in 4D View Pro. Any formulas impacted by changes made while calculations were suspended are updated, and formulas added after VP RESUME COMPUTING
is executed are calculated.
In vpAreaName, pass the name of the 4D View Pro area. If you pass a name that does not exist, an error is returned.
The 4D View Pro calculation service maintains a counter of suspend/resume actions. Therefore, each execution of
VP RESUME COMPUTING
must be balanced by a corresponding execution of the VP SUSPEND COMPUTING command.
Example
See example in VP SUSPEND COMPUTING.
See also
VP RECOMPUTE FORMULAS
VP SUSPEND COMPUTING
VP Row
VP Row ( vpAreaName : Text; row : Integer { ; rowCount : Integer { ; sheet : Integer } } ) : Object
Parameter | Type | Description | |
---|---|---|---|
vpAreaName | Text | -> | 4D View Pro area form object name |
row | Integer | -> | Row index |
rowCount | Integer | -> | Number of rows |
|sheet |Integer|->|Sheet index (current sheet if omitted)| |Result |Object|<-|Range object of row(s)|
Description
The VP Row
command returns a new range object referencing a specific row or rows.
In vpAreaName, pass the name of the 4D View Pro area. If you pass a name that does not exist, an error is returned.
The row parameter defines the first row of the row range. Pass the row index (counting begins at 0) in this parameter. If the range contains multiple rows, you should also use the optional rowCount parameter.
The optional rowCount parameter allows you to define the total number of rows of the range. rowCount must be greater than 0. If omitted, the value will be set to 1 by default.
In the optional sheet parameter, you can designate a specific spreadsheet where the range will be defined (counting begins at 0). If not specified, the current spreadsheet is used by default. You can explicitly select the current spreadsheet with the following constant:
vk current sheet
Example
You want to define a range object for the row shown below (on the current spreadsheet):
You can write:
$row:=VP Row("ViewProArea";9) // row 10
See also
VP All
VP Cell
VP Cells
VP Column
VP Combine ranges
VP Name
VP ROW AUTOFIT
VP ROW AUTOFIT ( rangeObj : Object)
Parameter | Type | Description | |
---|---|---|---|
rangeObj | Object | -> | Range object |
Description
The VP ROW AUTOFIT
command automatically sizes the row(s) in rangeObj according to their contents.
In rangeObj, pass a range object containing a range of the rows whose size will be automatically handled.
Example
The following rows don't correctly display the text:
VP ROW AUTOFIT(VP Row("ViewProArea";1;2))
Result:
See also
VP Run offscreen area
VP Run offscreen area ( parameters : Object) : Mixed
Parameter | Type | Description | |
---|---|---|---|
parameters | Object | -> | Object containing the offscreen area's attributes |
Result | Mixed | <- | .result property of the .onEvent object, or Null if does not return a value |
Description
The VP Run offscreen area
command creates an offscreen area in memory which can be used to process 4D View Pro area commands and functions.
In parameters object, pass any of the following optional properties. These properties will be available through the This
command within the onEvent
method and reference the instance:
Property | Type | Description |
---|---|---|
area | text | The name of the offscreen area. If omitted or null, a generic name is assigned (e.g., "OffscreenArea1"). |
onEvent | object (formula) | A callback method that will be launched when the offscreen area is ready. It can be either:onEvent function of a class, orFormula objectOn VP Ready , On Load , On Unload , On End URL Loading , On URL Loading Error , On VP Range Changed , or On Timer events. The callback method can be used to access the 4D View Pro form object variable. |
autoQuit | boolean | True (default value) if the command must stop the formula execution when the On End URL Loading or On URL Loading Error events occur. If false, you must use the CANCEL or ACCEPT commands in the onEvent callback method. |
timeout | number | Maximum time (expressed in seconds) before the area automatically closes if no event is generated. If set to 0, no limitation is applied. Default value: 60 |
result | mixed | Result of the processing (if any) |
<customProperty> | mixed | Any custom attribute to be available in the onEvent callback method. |
The following property is automatically added by the command if necessary:
Property | Type | Description |
---|---|---|
timeoutReached | boolean | Added with true value if timeout has been exceeded |
The offscreen area is only available during the execution of the
VP Run offscreen area
command. It will automatically be destroyed once execution has ended.
The following commands can be used in the callback method:
ACCEPT
CANCEL
SET TIMER
WA Evaluate JavaScript
WA EXECUTE JAVASCRIPT FUNCTION
Example 1
You want to create an offscreen 4D View Pro area and get the value of a cell:
// cs.OffscreenArea class declaration
Class constructor ($path : Text)
This.filePath:=$path
// This function will be called on each event of the offscreen area
Function onEvent()
Case of
:(FORM Event.code=On VP Ready)
VP IMPORT DOCUMENT(This.area;This.filePath)
This.result:=VP Get value(VP Cell(This.area;6;22))
ALERT("The G23 cell contains the value: "+String(This.result))
End case
The OffscreenArea callback method:
$o:=cs.OffscreenArea.new()
$result:=VP Run offscreen area($o)
Example 2
You want to load a large document offscreen, wait for all calculations to complete evaluating, and export it as a PDF:
//cs.OffscreenArea class declaration
Class constructor($pdfPath : Text)
This.pdfPath:=$pdfPath
This.autoQuit:=False
This.isWaiting:=False
Function onEvent()
Case of
:(FORM Event.code=On VP Ready)
// Document import
VP IMPORT DOCUMENT(This.area;$largeDocument4VP)
This.isWaiting:=True
// Start a timer to verify if all calculations are finished.
// If during this period the "On VP Range Changed" is thrown, the timer will be restarted
// The time must be defined according to the computer configuration.
SET TIMER(60)
:(FORM Event.code=On VP Range Changed)
// End of calculation detected. Restarts the timer
If(This.isWaiting)
SET TIMER(60)
End if
:(FORM Event.code=On Timer)
// To be sure to not restart the timer if you call others 4D View command after this point
This.isWaiting:=False
// Stop the timer
SET TIMER(0)
// Start the PDF export
VP EXPORT DOCUMENT(This.area;This.pdfPath;New object("formula";Formula(ACCEPT)))
:(FORM Event.code=On URL Loading Error)
CANCEL
End case
The OffscreenArea callback method:
$o:=cs.OffscreenArea.new()
$result:=VP Run offscreen area($o)
See also
Blog post: End of document loading
S
VP SET ACTIVE CELL
VP SET ACTIVE CELL ( rangeObj : Object)
Parameter | Type | Description | |
---|---|---|---|
rangeObj | Object | -> | Range object |
Description
The VP SET ACTIVE CELL
command defines a specified cell as active.
In rangeObj, pass a range containing a single cell as an object (see VP Cell). If rangeObj is not a cell range or contains multiple ranges, the first cell of the first range is used.
Example
To set the cell in column D, row 5 as the active cell:
$activeCell:=VP Cell("myVPArea";3;4)
VP SET ACTIVE CELL($activeCell)
See also
VP ADD SELECTION
VP Get active cell
VP Get selection
VP RESET SELECTION
VP SET SELECTION
VP SHOW CELL
VP SET ALLOWED METHODS
VP SET ALLOWED METHODS ( methodObj : Object)
Parameter | Type | Description | |
---|---|---|---|
methodObj | Object | -> | Allowed methods in the 4D View Pro areas |
Compatibility
For greater flexiblity, it is recommended to use the
VP SET CUSTOM FUNCTIONS
command which allows you to designate 4D formulas that can be called from 4D View Pro areas. As soon asVP SET CUSTOM FUNCTIONS
is called,VP SET ALLOWED METHODS
calls are ignored. 4D View Pro also supports 4D's genericSET ALLOWED METHODS
command if neitherVP SET CUSTOM FUNCTIONS
norVP SET ALLOWED METHODS
are called, however using the generic command is not recommended.
Description
The VP SET ALLOWED METHODS
command designates the project methods that can be called in 4D View Pro formulas. This command applies to all 4D View Pro areas initialized after its call during the session. It can be called multiple times in the same session to initialize different configurations.
By default for security reasons, if you do not execute the VP SET ALLOWED METHODS
command, no method call is allowed in 4D View Pro areas -- except if 4D's generic SET ALLOWED METHODS
command was used (see compatibility note). Using an unauthorized method in a formula prints a #NAME? error in the 4D View Pro area.
In the methodObj parameter, pass an object in which each property is the name of a function to define in the 4D View Pro areas:
Property | Type | Description | ||
---|---|---|---|---|
<functionName> | Object | Custom function definition. The <functionName> property name defines the name of the custom function to display in 4D View Pro formulas (no spaces allowed) | ||
method | Text | (mandatory) Name of the existing 4D project method to allow | ||
parameters | Collection of objects | Collection of parameters (in the order they are defined in the method). | ||
[ ].name | Text | Name of a parameter to display for the <functionName> .Note: Parameter names must not contain space characters. | ||
[ ].type | Number | Type of the parameter. Supported types:Is Boolean Is date Is Integer Is object Is real Is text Is time Is object , the object has the same structure as the object returned by VP Get value . | ||
summary | Text | Function description to display in 4D View Pro | ||
minParams | Number | Minimum number of parameters | ||
maxParams | Number | Maximum number of parameters. Passing a number higher than the length of parameters allows declaring "optional" parameters with default type |
Example
You want to allow two methods in your 4D View Pro areas:
C_OBJECT($allowed)
$allowed:=New object //parameter for the command
$allowed.Hello:=New object //create a first simple function named "Hello"
$allowed.Hello.method:="My_Hello_Method" //sets the 4D method
$allowed.Hello.summary:="Hello prints hello world"
$allowed.Byebye:=New object //create a second function with parameters named "Byebye"
$allowed.Byebye.method:="My_ByeBye_Method"
$allowed.Byebye.parameters:=New collection
$allowed.Byebye.parameters.push(New object("name";"Message";"type";Is text))
$allowed.Byebye.parameters.push(New object("name";"Date";"type";Is date))
$allowed.Byebye.parameters.push(New object("name";"Time";"type";Is time))
$allowed.Byebye.summary:="Byebye prints a custom timestamp"
$allowed.Byebye.minParams:=3
$allowed.Byebye.maxParams:=3
VP SET ALLOWED METHODS($allowed)
After this code is executed, the defined functions can be used in 4D View Pro formulas:
In 4D View Pro formulas, function names are automatically displayed in uppercase.
See also
4D functions
VP SET CUSTOM FUNCTIONS
VP SET BINDING PATH
History
Release | Changes |
---|---|
19 R5 | Added |
VP SET BINDING PATH ( rangeObj : Object ; dataContextAttribute : Text)
Parameter | Type | Description | |
---|---|---|---|
rangeObj | Object | -> | Range object |
dataContextAttribute | Text | -> | Name of the attribute to bind to rangeObj |
Description
The VP SET BINDING PATH
command binds an attribute from a sheet's data context to rangeObj. After you set a data context using the SET DATA CONTEXT method. When loaded, if the data context contains the attribute, the value of dataContextAttribute is automatically displayed in the cells in rangeObj.
In rangeObj, pass an object that is either a cell range or a combined range of cells.
- If rangeObj is a range with several cells, the command binds the attribute to the first cell of the range.
- If rangeObj contains several ranges of cells, the command binds the attribute to the first cell of each range.
In dataContextAttribute, pass the name of the attribute to bind to rangeObj. If dataContextAttribute is an empty string, the function removes the current binding.
Attributes of type collection are not supported. When you pass the name of a collection attribute, the command does nothing.
Example
Set a data context and bind the firstName
and lastName
attribute to cells:
var $p : Object
$p:=New object
$p.firstName:="Freehafer"
$p.lastName:="Nancy"
VP SET DATA CONTEXT("ViewProArea"; $p)
VP SET BINDING PATH(VP Cell("ViewProArea"; 0; 0); "firstName")
VP SET BINDING PATH(VP Cell("ViewProArea"; 1; 0); "lastName")
See also
VP Get binding path
VP Get data context
VP SET DATA CONTEXT
VP SET BOOLEAN VALUE
VP SET BOOLEAN VALUE ( rangeObj : Object ; boolValue : Boolean)
Parameter | Type | Description | |
---|---|---|---|
rangeObj | Object | -> | Range object |
boolValue | Boolean | -> | Boolean value to set |
Description
The VP SET BOOLEAN VALUE
command assigns a specified boolean value to a designated cell range.
In rangeObj, pass a range of the cell(s) (created for example with VP Cell
or VP Column
) whose value you want to specify. If rangeObj includes multiple cells, the value specified will be repeated in each cell.
The boolValue parameter allows you to pass the boolean value (True or False) that will be assigned to the rangeObj.
Example
//Set the cell value as False
VP SET BOOLEAN VALUE(VP Cell("ViewProArea";3;2);False)
See also
VP SET BORDER
VP SET BORDER ( rangeObj : Object ; borderStyleObj : Object ; borderPosObj : Object )
Parameter | Type | Description | |
---|---|---|---|
rangeObj | Object | -> | Range object |
borderStyleObj | Object | -> | Object containing border line style |
borderPosObj | Object | -> | Object containing border placement |
Description
The VP SET BORDER
command applies the border style(s) defined in borderStyleObj and borderPosObj to the range defined in the rangeObj.
In rangeObj, pass a range of cells where the border style will be applied. If the rangeObj contains multiple cells, borders applied with VP SET BORDER
will be applied to the rangeObj as a whole (as opposed to the VP SET CELL STYLE
command which applies borders to each cell of the rangeObj). If a style sheet has already been applied, VP SET BORDER
will override the previously applied border settings for the rangeObj.
The borderStyleObj parameter allows you to define the style for the lines of the border. The borderStyleObj supports the following properties:
Property | Type | Description | Possible values |
---|---|---|---|
color | text | Defines the color of the border. Default = black. | CSS color "#rrggbb" syntax (preferred syntax), CSS color "rgb(r,g,b)" syntax (alternate syntax), CSS color name (alternate syntax) |
style | Integer | Defines the style of the border. Default = empty. | vk line style dash dot vk line style dash dot dot vk line style dashed vk line style dotted vk line style double vk line style empty vk line style hair vk line style medium vk line style medium dash dot vk line style medium dash dot dot vk line style medium dashed vk line style slanted dash dot vk line style thick vk line style thin |
You can define the position of the borderStyleObj (i.e., where the line is applied) with the borderPosObj:
Property | Type | Description |
---|---|---|
all | boolean | Border line style applied to all borders. |
left | boolean | Border line style applied to left border. |
top | boolean | Border line style applied to top border. |
right | boolean | Border line style applied to right border. |
bottom | boolean | Border line style applied to bottom border. |
outline | boolean | Border line style applied to outer borders only. |
inside | boolean | Border line style applied to inner borders only. |
innerHorizontal | boolean | Border line style applied to inner horizontal borders only. |
innerVertical | boolean | Border line style applied to inner vertical borders only. |
Example 1
This code produces a border around the entire range:
$border:=New object("color";"red";"style";vk line style thick)
$option:=New object("outline";True)
VP SET BORDER(VP Cells("ViewProArea";1;1;3;3);$border;$option)
Example 2
This code demonstrates the difference between VP SET BORDER
and setting borders with the VP SET CELL STYLE
command:
// Set borders using VP SET BORDER
$border:=New object("color";"red";"style";vk line style thick)
$option:=New object("outline";True)
VP SET BORDER(VP Cells("ViewProArea";1;1;3;3);$border;$option)
// // Set borders using VP SET CELL STYLE
$cellStyle:=New object
$cellStyle.borderBottom:=New object("color";"blue";"style";vk line style thick)
$cellStyle.borderRight:=New object("color";"blue";"style";vk line style thick)
VP SET CELL STYLE(VP Cells("ViewProArea";4;4;3;3);$cellStyle)
See also
VP SET CELL STYLE
VP SET CELL STYLE ( rangeObj : Object ; styleObj : Object)
Parameter | Type | Description | |
---|---|---|---|
rangeObj | Object | -> | Range object |
styleObj | Object | -> | Style object |
Description
The VP SET CELL STYLE
command applies the style(s) defined in the styleObj to the cells defined in the rangeObj.
In rangeObj, pass a range of cells where the style will be applied. If the rangeObj contains multiple cells, the style is applied to each cell.
Borders applied with
VP SET CELL STYLE
will be applied to each cell of the rangeObj, as opposed to the VP SET BORDER command which applies borders to the rangeObj as a whole.
The styleObj parameter lets you pass an object containing style settings. You can use an existing style sheet or create a new style. If the styleObj contains both an existing style sheet and additional style settings, the existing style sheet is applied first, followed by the additional settings.
To remove a style and revert to the default style settings (if any), pass a NULL value:
- giving the styleObj parameter a NULL value will remove any style settings from the rangeObj,
- giving an attribute a NULL value will remove this specific attribute from the rangeObj.
For more information about style objects and style sheets, see the Style Objects paragraph.
Example
$style:=New object
$style.font:="8pt Arial"
$style.backColor:="Azure"
$style.foreColor:="red"
$style.hAlign:=1
$style.isVerticalText:=True
$style.borderBottom:=New object("color";"#800080";"style";vk line style thick)
$style.backgroundImage:=Null //remove a specific attribute
VP SET CELL STYLE(VP Cell("ViewProArea";1;1);$style)
See also
VP ADD STYLESHEET
VP Font to object
VP Get cell style
VP Object to font
VP SET BORDER
VP SET DEFAULT STYLE
VP SET COLUMN ATTRIBUTES
VP SET COLUMN ATTRIBUTES ( rangeObj : Object ; propertyObj : Object)
Parameter | Type | Description | |
---|---|---|---|
rangeObj | Object | -> | Range object |
propertyObj | Object | -> | Object containing column properties |
Description
The VP SET COLUMN ATTRIBUTES
command applies the attributes defined in the propertyObj to the columns in the rangeObj.
In rangeObj, pass an object containing a range. If the range contains both columns and rows, attributes are applied only to the columns.
The propertyObj parameter lets you specify the attributes to apply to the columns in the rangeObj. These attributes are:
Property | Type | Description |
---|---|---|
width | number | Column width expressed in pixels |
pageBreak | boolean | True to insert a page break before the first column of the range, else false |
visible | boolean | True if the column is visible, else false |
resizable | boolean | True if the column can be resized, else false |
header | text | Column header text |
Example
To change the size of the second column and set the header, you write:
C_OBJECT($column;$properties)
$column:=VP Column("ViewProArea";1) //column B
$properties:=New object("width";100;"header";"Hello World")
VP SET COLUMN ATTRIBUTES($column;$properties)
See also
VP Column
VP Get column attributes
VP Get row attributes
VP SET ROW ATTRIBUTES
VP SET COLUMN COUNT
VP SET COLUMN COUNT ( vpAreaName : Text , columnCount : Integer { , sheet : Integer } )
Parameter | Type | Description | |
---|---|---|---|
vpAreaName | Text | -> | 4D View Pro area form object name |
columnCount | Integer | -> | Number of columns |
sheet | Integer | -> | Sheet index (current sheet if omitted) |
Description
The VP SET COLUMN COUNT
command defines the total number of columns in vpAreaName.
In vpAreaName, pass the name of the 4D View Pro area. If you pass a name that does not exist, an error is returned.
Pass the total number of columns in the columnCount parameter. columnCount must be greater than 0.
In the optional sheet parameter, you can designate a specific spreadsheet where the columnCount will be applied (counting begins at 0). If omitted, the current spreadsheet is used by default. You can explicitly select the current spreadsheet with the following constant:
vk current sheet
Example
The following code defines five columns in the 4D View Pro area:
VP SET COLUMN COUNT("ViewProArea";5)
See also
VP Get column count
VP Get row count
VP SET ROW COUNT
VP SET CURRENT SHEET
VP SET CURRENT SHEET ( vpAreaName : Text ; sheet : Integer)
Parameter | Type | Description | |
---|---|---|---|
vpAreaName | Text | -> | 4D View Pro area form object name |
sheet | Integer | <- | Index of the new current sheet |
Description
The VP SET CURRENT SHEET
command sets the current sheet in vpAreaName . The current sheet is the selected sheet in the document.
In vpAreaName, pass the name of the 4D View Pro area.
In sheet, pass the index of the sheet to be set as current sheet. If the index passed is inferior to 0 or exceeds the number of sheets, the command does nothing.
Indexing starts at 0.
Example
The document's current sheet is the first sheet:
Set the current sheet to the third sheet:
VP SET CURRENT SHEET("ViewProArea";2)
See also
VP SET CUSTOM FUNCTIONS
VP SET CUSTOM FUNCTIONS ( vpAreaName : Text ; formulaObj : Object )
Parameter | Type | Description | |
---|---|---|---|
vpAreaName | Text | -> | 4D View Pro area form object name |
formulaObj | Object | -> | Formula object |
Description
The VP SET CUSTOM FUNCTIONS
command designates the 4D formulas that can be called directly from 4D View Pro formulas. Because custom functions are not stored in the document,VP SET CUSTOM FUNCTIONS
must be executed in the On Load
form event.
The formulas specified by VP SET CUSTOM FUNCTIONS
appear in a pop-up menu when the first letter of their name is entered. See the Formulas and Functions page.
If
VP SET CUSTOM FUNCTIONS
is called multiple times for the same area, in the same session, only the last call is taken into account.
Pass the name of the 4D View Pro area in vpAreaName. If you pass a name that does not exist, an error is returned.
In the formulaObj parameter, pass an object containing the 4D formulas that can be called from 4D View Pro formulas as well as additional properties. Each customFunction
property passed in formulaObj becomes the name of a function in the 4D View Pro area.
Property | Type | Description | ||
---|---|---|---|---|
<customFunction> | Object | Custom function definition. <customFunction> defines the name of the custom function to display in 4D View Pro formulas (no spaces allowed) | ||
formula | Object | 4D formula object (mandatory). See the Formula command. | ||
parameters | Collection of objects | Collection of parameters (in the order they are defined in the formula) | ||
[ ].name | Text | Name of parameter to display in 4D View Pro | ||
[ ].type | Number | Type of the parameter. Supported types:Is Boolean Is date Is Integer Is object Is real Is text Is time Is object , the object has the same structure as the object returned by VP Get value. | ||
summary | Text | Formula description to display in 4D View Pro | ||
minParams | Number | Minimum number of parameters | ||
maxParams | Number | Maximum number of parameters. Passing a number higher than the length of parameters allows declaring "optional" parameters with default type |
WARNING
- As soon as
VP SET CUSTOM FUNCTIONS
is called, the methods allowed by the VP SET ALLOWED METHODS command (if any) are ignored in the 4D View Pro area.- As soon as
VP SET CUSTOM FUNCTIONS
is called, the functions based uponSET TABLE TITLES
andSET FIELD TITLES
commands are ignored in the 4D View Pro area.
Example
You want to use formula objects in a 4D View Pro area to add numbers, retrieve a customer's last name and gender:
Case of
:(FORM Event.code=On Load)
var $o : Object
$o:=New object
// Define "addnum" function from a method named "addnum"
$o.addnum:=New object
$o.addnum.formula:=Formula(addnum)
$o.addnum.parameters:=New collection
$o.addnum.parameters.push(New object("name";"num1";"type";Is Integer))
$o.addnum.parameters.push(New object("name";"num2";"type";Is Integer))
// Define "ClientLastName" function from a database field
$o.ClientLastName:=New object
$o.ClientLastName.formula:=Formula([Customers]lastname)
$o.ClientLastName.summary:="Lastname of the current client"
// Define "label" function from a 4D expression with one parameter
$o.label:=New object
$o.label.formula:=Formula(ds.Customers.get($1).label)
$o.label.parameters:=New collection
$o.label.parameters.push(New object("name";"ID";"type";Is Integer))
// Define "Title" function from a variable named "Title"
$o.Title:=New object
$o.Title.formula:=Formula(Title)
VP SET CUSTOM FUNCTIONS("ViewProArea";$o)
End case
See also
VP SET DATA CONTEXT
History
Release | Changes |
---|---|
19 R5 | Added |
VP SET DATA CONTEXT ( vpAreaName : Text ; dataObj : Object {; options : Object } {; sheet : Integer} )
VP SET DATA CONTEXT ( vpAreaName : Text ; dataColl : Collection ; {options : Object } {; sheet : Integer} )
Parameter | Type | Description | |
---|---|---|---|
vpAreaName | Text | -> | 4D View Pro area form object name |
dataObj | Object | -> | Data object to load in the data context |
dataColl | Collection | -> | Data collection to load in the data context |
options | Object | -> | Additional options |
sheet | Integer | -> | Sheet index |
Description
The VP SET DATA CONTEXT
command sets the data context of a sheet. A data context is an object or a collection bound to a worksheet, and whose contents can be used to automatically fill the sheet cells, either by using an autogenerate option or the VP SET BINDING PATH method. On the other hand, the VP Get data context command can return a context containing user modifications.
In vpAreaName, pass the name of the 4D View Pro area. If you pass a name that does not exist, an error is returned.
In dataObj or dataColl, pass an object or a collection containing the data to load in the data context. Images are converted to data URI schemes.
To pass a time value in dataObj or dataColl, encapsulate it in an object with the following properties (see example 4):
Property | Type | Description |
---|---|---|
value | Integer, Real, Boolean, Text, Date, Null | Value to put in the context |
time | Real | Time value (in seconds) to put in the context |
In options, you can pass an object that specifies additional options. Possible properties are:
Property | Type | Description |
---|---|---|
reset | Object | True to reset the sheet's contents before loading the new context, False (default) otherwise. |
autoGenerateColumns | Object | Only used when data is a collection. True (default) to specify that columns must be generated automatically when the data context is bound. In this case, the following rules apply:
|
In sheet, pass the index of the sheet that will receive the data context. If no index is passed, the context is applied to the current sheet.
If you export your document to an object using VP Export to object, or to a 4DVP document using VP EXPORT DOCUMENT, the includeBindingSource
option lets you copy the contents of the current contexts as cell values in the exported object or document. For more details, refer to the description of those methods.
Example
Pass an object and bind the context data to cells in the first row:
var $data : Object
$data:=New object
$data.firstName:="Freehafer"
$data.lastName:="Nancy"
VP SET DATA CONTEXT("ViewProArea"; $data)
VP SET BINDING PATH(VP Cell("ViewProArea"; 0; 0); "firstName")
VP SET BINDING PATH(VP Cell("ViewProArea"; 1; 0); "lastName")
Example 2
Pass a collection of objects and generate columns automatically:
var $options : Object
var $data : Collection
$data:=New collection()
$data.push(New object("firstname"; "John"; "lastname"; "Smith"))
$data.push(New object("firstname"; "Mary"; "lastname"; "Poppins"))
$options:=New object("autoGenerateColumns"; True)
VP SET DATA CONTEXT("ViewProArea"; $data; $options)
Example 3
The data passed as a parameter is a collection that contains subcollections. Each subcollection defines the contents of a row:
var $data : Collection
var $options : Object
$data:=New collection
$data.push(New collection(1; 2; 3; False; "")) // 5 columns are created
$data.push(New collection) // Second row is empty
$data.push(New collection(4; 5; Null; "hello"; "world")) // Third row has 5 values
$data.push(New collection(6; 7; 8; 9)) // Fourth row has 4 values
$options:=New object("autoGenerateColumns"; True)
VP SET DATA CONTEXT("ViewProArea"; $data; $options)
Example 4 - Date and time syntax
var $data : Collection
var $options : Object
$data:= New collection()
// Dates can be passed as scalar values
$data.push(New collection("Date"; Current date))
// Time values must be passed as object attributes
$data.push(New collection("Time"; New object("time"; 5140)))
// Date + time example
$data.push(New collection("Date + Time"; New object("value"; Current date; "time"; 5140)))
$options:=New object("autoGenerateColumns"; True)
VP SET DATA CONTEXT("ViewProArea"; $data; $options)
Here's the result once the columns are generated:
See also
VP SET BINDING PATH
VP Get binding path
VP Get data context
VP SET DATE TIME VALUE
VP SET DATE TIME VALUE ( rangeObj : Object ; dateValue : Date ; timeValue : Time {; formatPattern : Text } )
Parameter | Type | Description | |
---|---|---|---|
rangeObj | Object | -> | Range object |
dateValue | Date | -> | Date value to set |
timeValue | Time | -> | Time value to set |
formatPattern | Text | -> | Format of value |
Description
The VP SET DATE TIME VALUE
command assigns a specified date and time value to a designated cell range.
In rangeObj, pass a range of the cell(s) (created for example with VP Cell
or VP Column
) whose value you want to specify. If rangeObj includes multiple cells, the value specified will be repeated in each cell.
The dateValue parameter specifies a date value to be assigned to the rangeObj.
The timeValue parameter specifies a time value (expressed in seconds) to be assigned to the rangeObj.
The optional formatPattern defines a pattern for the dateValue and timeValue parameters. For information on patterns and formatting characters, please refer to the Date and time formats section.
Example
//Set the cell value as the current date and time
VP SET DATE TIME VALUE(VP Cell("ViewProArea";6;2);Current time;Current date;vk pattern full date time)
//Set the cell value as the 18th of December
VP SET DATE TIME VALUE(VP Cell("ViewProArea";3;9);!2024-12-18!;?14:30:10?;vk pattern sortable date time)
See also
4D View Pro cell format
VP SET DATE VALUE
VP SET TIME VALUE
VP SET VALUE
VP SET DATE VALUE
VP SET DATE VALUE ( rangeObj : Object ; dateValue : Date { ; formatPattern : Text } )
Parameter | Type | Description | |
---|---|---|---|
rangeObj | Object | -> | Range object |
dateValue | Date | -> | Date value to set |
formatPattern | Text | -> | Format of value |
Description
The VP SET DATE VALUE
command assigns a specified date value to a designated cell range.
In rangeObj, pass a range of the cell(s) whose value you want to specify. If rangeObj includes multiple cells, the value specified will be repeated in each cell.
The dateValue parameter specifies a date value to be assigned to the rangeObj.
The optional formatPattern defines a pattern for the dateValue parameter. Pass any custom format or you can use one of the following constants:
Constant | Description | Default US pattern |
---|---|---|
vk pattern long date | ISO 8601 format for the full date | "dddd, dd MMMM yyyy" |
vk pattern month day | ISO 8601 format for the month and day | "MMMM dd" |
vk pattern short date | Abbreviated ISO 8601 format for the date | "MM/dd/yyyy" |
vk pattern year month | ISO 8601 format for the month and year | "yyyy MMMM" |
For information on patterns and formatting characters, please refer to the Date and time formats section.
Example
//Set the cell value to the current date
VP SET DATE VALUE(VP Cell("ViewProArea";4;2);Current date))
//Set the cell value to a specific date with a designated format
VP SET DATE VALUE(VP Cell("ViewProArea";4;4);Date("12/25/94");"d/m/yy ")
VP SET DATE VALUE(VP Cell("ViewProArea";4;6);!2005-01-15!;vk pattern month day)
See also
4D View Pro cell format
VP SET DATE TIME VALUE
VP SET VALUE
VP SET DEFAULT STYLE
VP SET DEFAULT STYLE ( vpAreaName : Text ; styleObj : Object { ; sheet : Integer } )
Parameter | Type | Description | |
---|---|---|---|
vpAreaName | Text | -> | 4D View Pro area form object name |
styleObj | Object | -> | Style object |
sheet | Integer | -> | Sheet index (default = current sheet) |
Description
The VP SET DEFAULT STYLE
command defines the style in the styleObj as the default style for a sheet.
In vpAreaName, pass the name of the 4D View Pro area. If you pass a name that does not exist, an error is returned.
The styleObj lets you pass an object containing style settings. You can use an existing style sheet or you can create a new style. For more information, see the Style objects paragraph.
In the optional sheet parameter, you can designate a specific spreadsheet where the style will be defined. If omitted, the current spreadsheet is used by default. You can explicitly select the current spreadsheet with the following constant:
vk current sheet
Example
$style:=New object
$style.hAlign:=vk horizontal align left
$style.font:="12pt papyrus"
$style.backColor:="#E6E6FA" //light purple color
VP SET DEFAULT STYLE("myDoc";$style)
See also
VP ADD STYLESHEET
VP Font to object
VP Get default style
VP Object to font
VP SET BORDER
VP SET CELL STYLE
VP SET FIELD
VP SET FIELD ( rangeObj : Object ; field : Pointer { ; formatPattern : Text } )
Parameter | Type | Description | |
---|---|---|---|
rangeObj | Object | -> | Range object |
field | Pointer | -> | Reference to field in virtual structure |
formatPattern | Text | -> | Format of field |
Description
The VP SET FIELD
command assigns a 4D database virtual field to a designated cell range.
In rangeObj, pass a range of the cell(s) whose value you want to specify. If rangeObj includes multiple cells, the specified field will be linked in each cell.
The field parameter specifies a 4D database virtual field to be assigned to the rangeObj. The virtual structure name for field can be viewed in the formula bar. If any of the cells in rangeObj have existing content, it will be replaced by field.
The optional formatPattern defines a pattern for the field parameter. You can pass any valid custom format.
Example
VP SET FIELD(VP Cell("ViewProArea";5;2);->[TableName]Field)
See also
VP SET FORMULA
VP SET FORMULA ( rangeObj : Object ; formula : Text { ; formatPattern : Text } )
Parameter | Type | Description |
---|
|rangeObj |Object|->|Range object| |formula |Text|->|Formula or 4D method| |formatPattern |Text|->|Format of field|
Description
The VP SET FORMULA
command assigns a specified formula or 4D method to a designated cell range.
In rangeObj, pass a range of the cell(s) (created for example with VP Cell
or VP Column
) whose value you want to specify. If rangeObj includes multiple cells, the formula specified will be linked in each cell.
The formula parameter specifies a formula or 4D method name to be assigned to the rangeObj.
If the formula is a string, use the period
.
as numerical separator and the comma,
as parameter separator. If a 4D method is used, it must be allowed with theVP SET ALLOWED METHODS
command.
The optional formatPattern defines a pattern for the formula.
You remove the formula in rangeObj by replacing it with an empty string ("").
Example 1
VP SET FORMULA(VP Cell("ViewProArea";5;2);"SUM($A$1:$C$10)")
Example 2
To remove the formula:
VP SET FORMULA(VP Cell("ViewProArea";5;2);"")
Example 3
VP SET FORMULA($range;"SUM(A1,B7,C11)") //"," to separate parameters
See also
Cell format
VP Get Formula
VP SET FORMULAS
VP SET VALUE
VP SET FORMULAS
VP SET FORMULAS ( rangeObj : Object ; formulasCol : Collection )
Parameter | Type | Description | |
---|---|---|---|
rangeObj | Object | -> | Cell range object |
formulasCol | Collection | -> | Collection of formulas |
Description
The VP SET FORMULAS
command assigns a collection of formulas starting at the specified cell range.
In rangeObj, pass a range of the cell (created with VP Cell) whose formula you want to specify. If rangeObj includes multiple ranges, only the first range is used.
The formulasCol is a two-dimensional collection:
- The first-level collection contains subcollections of formulas. Each subcollection defines a row.
- Each subcollection defines cell values for the row. Values must be text elements containing the formulas to assign to the cells.
If the formula is a string, use the period
.
as numerical separator and the comma,
as parameter separator. If a 4D method is used, it must be allowed with theVP SET ALLOWED METHODS
command.
You remove the formulas in rangeObj by replacing them with an empty string ("").
Example 1
$formulas:=New collection
$formulas.push(New collection("MAX(B11,C11,D11)";"myMethod(G4)")) // First row
$formulas.push(New collection("SUM(B11:D11)";"AVERAGE(B11:D11)")) // Second row
VP SET FORMULAS(VP Cell("ViewProArea";6;3);$formulas) // Set the cells with the formulas
myMethod:
$0:=$1*3.33
Example 2
To remove formulas:
$formulas:=New collection
$formulas.push(New collection("";"")) // first collection
$formulas.push(New collection("";"")) // second collection
VP SET FORMULAS(VP Cell("ViewProArea";0;0);$formulas) // Assign to cells
See also
VP Get Formulas
VP GET VALUESVP SET FORMULA
VP SET VALUES
VP SET FROZEN PANES
VP SET FROZEN PANES ( vpAreaName : Text ; paneObj : Object { ; sheet : Integer } )
Parameter | Type | Description | |
---|---|---|---|
vpAreaName | Text | -> | 4D View Pro area form object name |
paneObj | Object | -> | Object containing frozen column and row information |
sheet | Integer | -> | Sheet index (current sheet if omitted) |
Description
The VP SET FROZEN PANES
command sets the frozen status of the columns and rows in the paneObj so they are always displayed in the vpAreaName. Frozen columns and rows are fixed in place and do not move when the rest of the document is scrolled. A solid line is displayed to indicate that columns and rows are frozen. The location of the line depends on where the frozen column or row is on the sheet:
- Columns on the left or right: For columns on the left of the sheet, the line is displayed on the right side of the last frozen column. For columns on the right side of the sheet, the line is displayed on the left side of the first frozen column.
- Rows on the top or bottom: For rows at the top of the sheet, the line is displayed below the last frozen row. For rows at the bottom of the sheet, the line is displayed above the first frozen row.
In vpAreaName, pass the name of the 4D View Pro area. If you pass a name that does not exist, an error is returned.
You can pass an object defining the columns and rows to freeze in the paneObj parameter. Setting the value of any of the column or row properties equal to zero resets (unfreezes) the property. If a property is set to less than zero, the command does nothing. You can pass:
Property | Type | Description |
---|---|---|
columnCount | Integer | The number of frozen columns on the left of the sheet |
trailingColumnCount | Integer | The number of frozen columns on the right of the sheet |
rowCount | Integer | The number of frozen rows on the top of the sheet |
trailingRowCount | Integer | The number of frozen rows on the bottom of the sheet |
In the optional sheet parameter, you can designate a specific spreadsheet where the range will be defined (counting begins at 0). If omitted, the current spreadsheet is used by default. You can explicitly select the current spreadsheet with the following constant:
vk current sheet
Example
You want to freeze the first three columns on the left, two columns on the right, and the first row:
C_OBJECT($panes)
$panes:=New object
$panes.columnCount:=3
$panes.trailingColumnCount:=2
$panes.rowCount:=1
VP SET FROZEN PANES("ViewProArea";$panes)
See also
VP SET NUM VALUE
VP SET NUM VALUE ( rangeObj : Object ; numberValue : Number { ; formatPattern : Text } )
Parameter | Type | Description | |
---|---|---|---|
rangeObj | Object | -> | Range object |
numberValue | Number | -> | Number value to set |
formatPattern | Text | -> | Format of value |
Description
The VP SET NUM VALUE
command assigns a specified numeric value to a designated cell range.
In rangeObj, pass a range of the cell(s) (created for example with VP Cell
or VP Column
) whose value you want to specify. If rangeObj includes multiple cells, the value specified will be repeated in each cell.
The numberValue parameter specifies a numeric value to be assigned to the rangeObj.
The optional formatPattern defines a pattern for the numberValue parameter.
Example
//Set the cell value to 2
VP SET NUM VALUE(VP Cell("ViewProArea";3;2);2)
//Set the cell value and format it in dollars
VP SET NUM VALUE(VP Cell("ViewProArea";3;2);12.356;"_($* #,##0.00_)")
See also
VP SET PRINT INFO
VP SET PRINT INFO ( vpAreaName : Text ; printInfo : Object { ; sheet : Integer } )
Parameter | Type | Description | |
---|---|---|---|
vpAreaName | Text | -> | 4D View Pro area name |
printInfo | Object | -> | Object containing printing attributes |
sheet | Integer | -> | Sheet index (current sheet if omitted) |
Description
The VP SET PRINT INFO
command defines the attributes to use when printing the vpAreaName.
Pass the name of the 4D View Pro area to print in vpAreaName. If you pass a name that does not exist, an error is returned.
You can pass an object containing definitions for various printing attributes in the printInfo parameter. To view the full list of the available attributes, see Print Attributes.
In the optional sheet parameter, you can designate a specific spreadsheet to print (counting begins at 0). If omitted, the current spreadsheet is used by default. You can explicitly select the current spreadsheet with the following constant:
vk current sheet
Example
The following code will print a 4D View Pro area to a PDF document:
var $printInfo : Object
//declare print attributes object
$printInfo:=New object
//define print attributes
$printInfo.headerCenter:="&BS.H.I.E.L.D. &A Sales Per Region"
$printInfo.firstPageNumber:=1
$printInfo.footerRight:="page &P of &N"
$printInfo.orientation:=vk print page orientation landscape
$printInfo.centering:=vk print centering horizontal
$printInfo.columnStart:=0
$printInfo.columnEnd:=8
$printInfo.rowStart:=0
$printInfo.rowEnd:=24
$printInfo.showGridLine:=True
//Add corporate logo
$printInfo.headerLeftImage:=logo.png
$printInfo.headerLeft:="&G"
$printInfo.showRowHeader:=vk print visibility hide
$printInfo.showColumnHeader:=vk print visibility hide
$printInfo.fitPagesWide:=1
$printInfo.fitPagesTall:=1
//print PDF document
VP SET PRINT INFO ("ViewProArea";$printInfo)
//export the PDF
VP EXPORT DOCUMENT("ViewProArea";"Sales2018.pdf";New object("formula";Formula(ALERT("PDF ready!"))))
The PDF:
See also
4D View Pro print attributes
VP Convert to picture
VP Get print info
VP PRINT
VP SET ROW ATTRIBUTES
VP SET ROW ATTRIBUTES ( rangeObj : Object ; propertyObj : Object )
Parameter | Type | Description | |
---|---|---|---|
rangeObj | Object | -> | Range of rows |
propertyObj | Object | -> | Object containing row properties |
Description
The VP SET ROW ATTRIBUTES
command applies the attributes defined in the propertyObj to the rows in the rangeObj.
In the rangeObj, pass an object containing a range. If the range contains both columns and rows, attributes are applied only to the rows.
The propertyObj parameter lets you specify the attributes to apply to the rows in the rangeObj. These attributes are:
Property | Type | Description |
---|---|---|
height | number | Row height expressed in pixels |
pageBreak | boolean | True to insert a page break before the first row of the range, else false |
visible | boolean | True if the row is visible, else false |
resizable | boolean | True if the row can be resized, else false |
header | text | Row header text |
Example
You want to change the size of the second row and set the header:
var $row; $properties : Object
$row:=VP Row("ViewProArea";1)
$properties:=New object("height";75;"header";"June")
VP SET ROW ATTRIBUTES($row;$properties)
See also
VP Get row attributes
VP get column attributes
VP SET ROW ATTRIBUTES
VP SET ROW COUNT
VP SET ROW COUNT ( vpAreaName : Text ; rowCount : Integer { ; sheet : Integer } )
Parameter | Type | Description | |
---|---|---|---|
vpAreaName | Text | -> | 4D View Pro area form object name |
rowCount | Integer | -> | Number of rows |
sheet | Integer | -> | Sheet index (current sheet if omitted) |
Description
The VP SET ROW COUNT
command defines the total number of rows in vpAreaName.
In vpAreaName, pass the name of the 4D View Pro area. If you pass a name that does not exist, an error is returned.
Pass the total number of rows in the rowCount parameter. rowCount must be greater than 0.
In the optional sheet parameter, you can designate a specific spreadsheet where the rowCount will be applied (counting begins at 0). If omitted, the current spreadsheet is used by default. You can explicitly select the current spreadsheet with the following constant:
vk current sheet
Example
The following code defines five rows in the 4D View Pro area:
VP SET ROW COUNT("ViewProArea";5)
See also
VP Get column count
VP get row-count
VP SET COLUMN COUNT
VP SET SELECTION
VP SET SELECTION ( rangeObj : Object )
Parameter | Type | Description | |
---|---|---|---|
rangeObj | Object | -> | Range object of cells |
Description
The VP SET SELECTION
command defines the specified cells as the selection and the first cell as the active cell.
In rangeObj, pass a range object of cells to designate as the current selection.
Example
$currentSelection:=VP Combine ranges(VP Cells("myVPArea";3;2;1;6);VP Cells("myVPArea";5;7;1;7))
VP SET SELECTION($currentSelection)
See also
VP Get active cell
VP Get selection
VP RESET SELECTION
VP SET ACTIVE CELL
VP ADD SELECTION
VP SHOW CELL
VP SET SHEET COUNT
VP SET SHEET COUNT ( vpAreaName : Text ; number : Integer )
Parameter | Type | Description | |
---|---|---|---|
vpAreaName | Text | -> | 4D View Pro area form object name |
number | Integer | -> | Number of sheets |
Description
The VP SET SHEET COUNT
command sets the number of sheets in vpAreaName.
In number
, pass a number corresponding to how many sheets the document will contain after the command is executed.
Warning: The command will delete sheets if the previous amount of sheets in your document is superior to the number passed. For example, if there are 5 sheets in your document and you set the sheet count to 3, the command will delete sheets number 4 and 5.
Example
The document currently has one sheet:
To set the number of sheets to 3:
VP SET SHEET COUNT("ViewProArea";3)
See also
VP SET SHEET NAME
VP SET SHEET NAME ( vpAreaName : Text ; name : Text {; sheet: Integer} )
Parameter | Type | Description | |
---|---|---|---|
vpAreaName | Text | -> | 4D View Pro area form object name |
name | Text | -> | New name for the sheet |
sheet | Integer | -> | Index of the sheet to be renamed |
Description
The VP SET SHEET NAME
command renames a sheet in the document loaded in vpAreaName.
In vpAreaName, pass the name of the 4D View Pro area.
In name, pass a new name for the sheet.
In sheet, pass the index of the sheet to rename.
Indexing starts at 0.
If no sheet is passed, the command renames the current sheet.
The new name cannot contain the following characters: *, :, [, ], ?,\,/
The command does nothing if:
- the new name contains forbidden characters
- the new name's value is blank
- the new name already exists
- the passed sheet does not exist
Example
Set the third sheet's name to "Total first quarter":
VP SET SHEET NAME("ViewProArea";"Total first quarter";2)
VP SET SHEET OPTIONS
VP SET SHEET OPTIONS ( vpAreaName : Text; sheetOptions : Object { ; sheet : Integer} )
Parameter | Type | Description | |
---|---|---|---|
vpAreaName | Text | -> | 4D View Pro area name |
sheetOptions | Object | -> | Sheet option(s) to set |
sheet | Object | -> | Sheet index (current sheet if omitted) |
Description
The VP SET SHEET OPTIONS
command allows defining various sheet options of the vpAreaName area.
Pass the name of the 4D View Pro area in vpAreaName. If you pass a name that does not exist, an error is returned.
Pass an object containing definitions for the options to set in the sheetOptions parameter. To view the full list of the available options, see the Sheet Options paragraph.
In the optional sheet parameter, you can designate a specific spreadsheet (counting begins at 0). If omitted, the current spreadsheet is used by default. You can explicitly select the current spreadsheet with the following constant:
vk current sheet
Example 1
You want to protect all cells except the range C5:D10:
// Activate protection on the current sheet
var $options : Object
$options:=New object
$options.isProtected:=True
VP SET SHEET OPTIONS("ViewProArea";$options)
// mark cells C5:D10 as 'unlocked'
VP SET CELL STYLE(VP Cells("ViewProArea";2;4;2;6);New object("locked";False))
Example 2
You need to protect your document while your users can resize rows and columns:
var $options : Object
$options:=New object
// Activate protection
$options.isProtected:=True
$options.protectionOptions:=New object
// Allow user to resize rows
$options.protectionOptions.allowResizeRows=True;
// Allow user to resize columns
$options.protectionOptions.allowResizeColumns=True;
// Apply protection on the current sheet
VP SET SHEET OPTIONS("ViewProArea";$options)
Example 3
You want to customize the colors of your sheet tabs, frozen lines, grid lines, selection background and selection border:
var $options : Object
$options:=New object
// Customize color of Sheet 1 tab
$options.sheetTabColor:="Black"
$options.gridline:=New object("color";"Purple")
$options.selectionBackColor:="rgb(255,128,0,0.4)"
$options.selectionBorderColor:="Yellow"
$options.frozenlineColor:="Gold"
VP SET SHEET OPTIONS("ViewProArea";$options;0)
// Customize color of Sheet 2 tab
$options.sheetTabColor:="red"
VP SET SHEET OPTIONS("ViewProArea";$options;1)
// Customize color of Sheet 3 tab
$options.sheetTabColor:="blue"
VP SET SHEET OPTIONS("ViewProArea";$options;2)
Result:
Example 4
You want to hide the grid lines as well as the row and column headers.
var $options : Object
$options:=New object
$options.gridline:=New object()
$options.gridline.showVerticalGridline:=False
$options.gridline.showHorizontalGridline:=False
$options.rowHeaderVisible:=False
$options.colHeaderVisible:=False
VP SET SHEET OPTIONS("ViewProArea";$options)
Result:
See also
4D View Pro sheet options
VP Get sheet options
VP SET SHOW PRINT LINES
VP SET SHOW PRINT LINES ( vpAreaName : Text {; visible : Boolean}{; sheet : Integer} )
Parameter | Type | Description | |
---|---|---|---|
vpAreaName | Text | -> | 4D View Pro area form object name |
visible | Boolean | -> | Print lines displayed if True (default), hidden if False |
sheet | Integer | -> | Sheet index (current sheet if omitted) |
Description
The VP SET SHOW PRINT LINES
command sets whether to display print preview lines in a spreadsheet..
In vpAreaName, pass the name of the 4D View Pro area.
In visible, pass True
to display the print lines, and False
to hide them. True
is passed by default.
In sheet, pass the index of the target sheet. If no index is specified, the command applies to the current sheet.
Indexing starts at 0.
The position of a spreadsheet's print lines varies according to that spreadsheet's page breaks.
Example
The following code displays print lines in a document's second sheet:
VP SET SHOW PRINT LINES("ViewProArea";True;1)
With a page break:
See also
VP SET TABLE COLUMN ATTRIBUTES
History
Release | Changes |
---|---|
19 R7 | Added |
VP SET TABLE COLUMN ATTRIBUTES ( vpAreaName : Text ; tableName : Text ; column : Integer ; attributes : Object {; sheet : Integer } )
Parameter | Type | Description | |
---|---|---|---|
vpAreaName | Text | -> | 4D View Pro area form object name |
tableName | Text | -> | Table name |
column | Integer | -> | Index of the column in the table |
attributes | Object | -> | Attribute(s) to apply to the column |
sheet | Integer | -> | Sheet index (current sheet if omitted) |
Description
The VP SET TABLE COLUMN ATTRIBUTES
command applies the defined attributes to the column in the tableName.
In vpAreaName, pass the name of the 4D View Pro area.
In the attributes parameter, pass an object that contains the properties to set:
Property | Type | Description |
---|---|---|
dataField | text | Table column's property name in the data context. |
name | text | Table column's name. Must be unique in the table. If this name already used by another column, it is not applied and a default name is automaticaly used. |
formula | text | Sets the formula for each column cell. See Structured Reference Formulas in the SpreadJS documentation |
footerText | text | Column footer value. |
footerFormula | text | Column footer formula. |
filterButtonVisible | boolean | Sets whether the table column's filter button is displayed (default is True when the table is created). |
In sheet, pass the index of the target sheet. If no index is specified or if you pass -1, the command applies to the current sheet.
Indexing starts at 0.
If tableName is not found or if column is higher than the number of columns, the command does nothing.
Example
You create a table with a data context:
var $context;$options : Object
$context:=New object()
$context.col:=New collection()
$context.col.push(New object("name"; "Smith"; "firstname"; "John"; "salary"; 10000))
$context.col.push(New object("name"; "Wesson"; "firstname"; "Jim"; "salary"; 50000))
$context.col.push(New object("name"; "Gross"; "firstname"; "Maria"; "salary"; 10500))
VP SET DATA CONTEXT("ViewProArea"; $context)
//Define the columns for the table
$options:=New object()
$options.tableColumns:=New collection()
$options.tableColumns.push(New object("name"; "Last Name"; "dataField"; "name"))
$options.tableColumns.push(New object("name"; "Salary"; "dataField"; "salary"))
VP CREATE TABLE(VP Cells("ViewProArea"; 1; 1; 2; 3); "PeopleTable"; "col"; $options)
Then you want to insert a column with data from the data context and hide some filter buttons:
//insert a column
VP INSERT TABLE COLUMNS("ViewProArea"; "PeopleTable"; 1; 1)
var $param : Object
$param:=New object()
// Bind the column to the firstname field from the datacontext
$param.dataField:="firstname"
// Change the default name of the column to "First name"
// and hide the filter button
$param.name:="First Name"
$param.filterButtonVisible:=False
VP SET TABLE COLUMN ATTRIBUTES("ViewProArea"; "PeopleTable"; 1; $param)
// Hide the filter button of the first column
VP SET TABLE COLUMN ATTRIBUTES("ViewProArea"; "PeopleTable"; 0; \
New object("filterButtonVisible"; False))
See also
VP CREATE TABLE
VP Find table
VP Get table column attributes
VP RESIZE TABLE
VP SET TABLE THEME
History
Release | Changes |
---|---|
19 R8 | Added |
VP SET TABLE THEME ( vpAreaName : Text ; tableName : Text ; options : cs.ViewPro.TableTheme )
Parameter | Type | Description | |
---|---|---|---|
vpAreaName | Text | -> | 4D View Pro area form object name |
tableName | Text | -> | Table name |
options | cs.ViewPro.TableTheme | -> | Table theme properties to modify |
Description
The VP SET TABLE THEME
command modifies the current theme of the tableName.
In vpAreaName, pass the name of the 4D View Pro area and in tableName, the name of the table to modify.
In the options parameter, pass an object of the cs.ViewPro.TableTheme
class that contains the theme properties to modify.
Example 1
You want to set a predefined theme to a table:
var $param : cs.ViewPro.TableTheme
$param:=cs.ViewPro.TableTheme.new()
$param.theme:="medium2"
VP SET TABLE THEME("ViewProArea"; "myTable"; $param)
Example 2
You want to have this alternate column rendering:
var $param : cs.ViewPro.TableTheme
$param:=cs.ViewPro.TableTheme.new()
// Enable the band column rendering
$param.bandColumns:=True
$param.bandRows:=False
// Create the theme object with header and column styles
$param.theme:=cs.ViewPro.TableThemeOptions.new()
var $styleHeader; $styleColumn; $styleColumn2 : cs.ViewPro.TableStyle
$styleHeader:=cs.ViewPro.TableStyle.new()
$styleHeader.backColor:="Gold"
$styleHeader.foreColor:="#03045E"
$param.theme.headerRowStyle:=$styleHeader
$styleColumn1:=cs.ViewPro.TableStyle.new()
$styleColumn1.backColor:="SkyBlue"
$styleColumn1.foreColor:="#03045E"
$param.theme.firstColumnStripStyle:=$styleColumn1
$styleColumn2:=cs.ViewPro.TableStyle.new()
$styleColumn2.backColor:="LightCyan"
$styleColumn2.foreColor:="#03045E"
$param.theme.secondColumnStripStyle:=$styleColumn2
VP SET TABLE THEME("ViewProArea"; "myTable"; $param)
See also
VP CREATE TABLE
VP Get table theme
VP SET TEXT VALUE
VP SET TEXT VALUE ( rangeObj : Object ; textValue : Text { ; formatPattern : Text } )
Parameter | Type | Description | |
---|---|---|---|
rangeObj | Object | -> | Range object |
textValue | Text | -> | Text value to set |
formatPattern | Text | -> | Format of value |
Description
The VP SET TEXT VALUE
command assigns a specified text value to a designated cell range.
In rangeObj, pass a range of the cell(s) (created for example with VP Cell
or VP Column
) whose value you want to specify. If rangeObj includes multiple cells, the value specified will be repeated in each cell.
The textValue parameter specifies a text value to be assigned to the rangeObj.
The optional formatPattern defines a pattern for the textValue parameter.
Example
VP SET TEXT VALUE(VP Cell("ViewProArea";3;2);"Test 4D View Pro")
See also
VP SET TIME VALUE
VP SET TIME VALUE ( rangeObj : Object ; timeValue : Text { ; formatPattern : Text } )
Parameter | Type | Description | |
---|---|---|---|
rangeObj | Object | -> | Range object |
timeValue | Text | -> | Time value to set |
formatPattern | Text | -> | Format of value |
Description
The VP SET TIME VALUE
command assigns a specified time value to a designated cell range.
In rangeObj, pass a range of the cell(s) (created for example with VP Cell
or VP Column
) whose value you want to specify. If rangeObj includes multiple cells, the value specified will be repeated in each cell.
The timeValue parameter specifies a time expressed in seconds to be assigned to the rangeObj.
The optional formatPattern defines a pattern for the timeValue parameter.
Example
//Set the value to the current time
VP SET TIME VALUE(VP Cell("ViewProArea";5;2);Current time)
//Set the value to a specific time with a designated format
VP SET TIME VALUE(VP Cell("ViewProArea";5;2);?12:15:06?;vk pattern long time)
See also
Cell Format
VP SET DATE TIME VALUE
VP SET VALUE
VP SET VALUE
VP SET VALUE ( rangeObj : Object ; valueObj : Object )
Parameter | Type | Description | |
---|---|---|---|
rangeObj | Object | -> | Range object |
valueObj | Object | -> | Cell values and format options |
Description
The VP SET VALUE
command assigns a specified value to a designated cell range.
The command allows you to use a generic code to set and format the types of values in rangeObj, whereas other commands, such as VP SET TEXT VALUE
and VP SET NUM VALUE
, reduce the values to specific types.
In rangeObj, pass a range of the cell(s) (created for example with VP Cell
or VP Column
) whose value you want to specify. If rangeObj includes multiple cells, the value specified will be repeated in each cell.
The parameter valueObj is an object that includes properties for the value and the format to assign to rangeObj. It can include the following properties :
Property | Type | Description |
---|---|---|
value | Integer, Real, Boolean, Text, Date, Null | Value to assign to rangeObj (except- time). Pass null to erase the content of the cell. |
time | Real | Time value (in seconds) to assign to rangeObj |
format | Text | Pattern for value/time property. For information on patterns and formatting characters, please refer to the Cell Format paragraph. |
Example
//Set the cell value as False
VP SET VALUE(VP Cell("ViewProArea";3;2);New object("value";False))
//Set the cell value as 2
VP SET VALUE(VP Cell("ViewProArea";3;2);New object("value";2))
//Set the cell value as $125,571.35
VP SET VALUE(VP Cell("ViewProArea";3;2);New object("value";125571.35;"format";"_($* #,##0.00_)"))
//Set the cell value as Hello World!
VP SET VALUE(VP Cell("ViewProArea";3;2);New object("value";"Hello World!"))
//Set the cell value as current date
VP SET VALUE(VP Cell("ViewProArea";4;2);New object("value";Current date))
//Set the cell value as current hour
VP SET VALUE(VP Cell("ViewProArea";5;2);New object("time";Current hour))
//Set the cell value as specific date and time
VP SET VALUE(VP Cell("ViewProArea";3;9);New object("value";!2024-12-18!);"time";?14:30:10?;"format";vk pattern full date time))
//Erase cell content
VP SET VALUE(VP Cell("ViewProArea";3;9);New object("value";Null))
See also
Cell Format
VP Get values
VP SET VALUE
VP SET BOOLEAN VALUE
VP SET DATE TIME VALUE
VP SET FIELD
VP SET FORMULA
VP SET NUM VALUE
VP SET TEXT VALUE
VP SET TIME VALUE
VP SET VALUES
VP SET VALUES ( rangeObj : Object ; valuesCol : Collection )
Parameter | Type | Description | |
---|---|---|---|
rangeObj | Object | -> | Range object |
valuesCol | Collection | -> | Collection of values |
Description
The VP SET VALUES
command assigns a collection of values starting at the specified cell range.
In rangeObj, pass a range for the cell (created with VP Cell
) whose value you want to specify. The cell defined in the rangeObj is used to determine the starting point.
- If rangeObj is not a cell range, only the first cell of the range is used.
- If rangeObj includes multiple ranges, only the first cell of the first range is used.
The valuesCol parameter is two-dimensional:
- The first-level collection contains subcollections of values. Each subcollection defines a row. Pass an empty collection to skip a row.
- Each subcollection defines cell values for the row. Values can be Integer, Real, Boolean, Text, Date, Null, or Object. If the value is an object, it can have the following properties:
Property | Type | Description |
---|---|---|
value | Integer, Real, Boolean, Text, Date, Null | Value in the cell (except- time) |
time | Real | Time value (in seconds) |
Example
$param:=New collection
$param.push(New collection(1;2;3;False)) //first row, 4 values
$param.push(New collection) //second row, untouched
$param.push(New collection(4;5;Null;"hello";"world")) // third row, 5 values
$param.push(New collection(6;7;8;9)) // fourth row, 4 values
$param.push(New collection(Null;New object("value";Current date;"time";42))) //fifth row, 1 value
VP SET VALUES(VP Cell("ViewProArea";2;1);$param)
See also
VP Get formulas
VP Get value
VP Get Values
VP SET FORMULAS
VP SET VALUE
VP SET WORKBOOK OPTIONS
VP SET WORKBOOK OPTIONS ( vpAreaName : Text ; optionObj : Object)
Parameter | Type | Description | |
---|---|---|---|
vpAreaName | Text | -> | 4D View Pro area form object name |
optionObj | Object | -> | Object containing the workbook options to be set |
Description
VP SET WORKBOOK OPTIONS
sets the workbook options in vpAreaName.
In vpAreaName, pass the name of the 4D View Pro area.
In optionObj, pass the workbook options to apply to vpAreaName.
If optionObj is empty, the command does nothing.
Modified workbook options are saved with the document.
The following table lists the available workbook options:
Property | Type | Description | |||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
allowUserDragMerge | boolean | The drag merge operation is allowed (select cells and drag the selection to merge cells) | |||||||||||||||||||||
allowAutoCreateHyperlink | boolean | Enables automatic creation of hyperlinks in the spreadsheet. | |||||||||||||||||||||
allowContextMenu | boolean | The built-in context menu can be opened. | |||||||||||||||||||||
allowCopyPasteExcelStyle | boolean | Styles from a spreadsheet can be copied and pasted to Excel, and vice-versa. | |||||||||||||||||||||
allowDynamicArray | boolean | Enables dynamic arrays in worksheets | |||||||||||||||||||||
allowExtendPasteRange | boolean | Extends the pasted range if the pasted range is not enough for the pasted data | |||||||||||||||||||||
allowSheetReorder | boolean | Sheet reordering is allowed | |||||||||||||||||||||
allowUndo | boolean | Undoing edits is allowed. | |||||||||||||||||||||
allowUserDeselect | boolean | Deselecting specific cells from a selection is allowed. | |||||||||||||||||||||
allowUserDragDrop | boolean | Drag and drop of range data is allowed | |||||||||||||||||||||
allowUserDragFill | boolean | Drag fill is allowed | |||||||||||||||||||||
allowUserEditFormula | boolean | Formulas can be entered in cells | |||||||||||||||||||||
allowUserResize | boolean | Columns and rows can be resized | |||||||||||||||||||||
allowUserZoom | boolean | Zooming (ctrl + mouse wheel) is allowed | |||||||||||||||||||||
autoFitType | number | Content is formatted to fit in cells, or cells and headers. Available values:
| |||||||||||||||||||||
backColor | string | A color string used to represent the background color of the area, such as "red", "#FFFF00", "rgb(255,0,0)", "Accent 5". The initial backgroundcolor is hidden when a backgroundImage is set. | |||||||||||||||||||||
backgroundImage | string / picture / file | Background image for the area. | |||||||||||||||||||||
backgroundImageLayout | number | How the background image is displayed. Available values:
| |||||||||||||||||||||
calcOnDemand | boolean | Formulas are calculated only when they are demanded. | |||||||||||||||||||||
columnResizeMode | number | Resize mode for columns. Available values:
| |||||||||||||||||||||
copyPasteHeaderOptions | number | Headers to include when data is copied to or pasted. Available values:
| |||||||||||||||||||||
customList | collection | The list for users to customize drag fill, prioritize matching this list in each fill. Each collection item is a collection of strings. See on GrapeCity's website. | |||||||||||||||||||||
cutCopyIndicatorBorderColor | string | Border color for the indicator displayed when the user cuts or copies the selection. | |||||||||||||||||||||
cutCopyIndicatorVisible | boolean | Display an indicator when copying or cutting the selected item. | |||||||||||||||||||||
defaultDragFillType | number | The default drag fill type. Available values :
| |||||||||||||||||||||
enableAccessibility | boolean | Accessibility support is enabled in the spreadsheet. | |||||||||||||||||||||
enableFormulaTextbox | boolean | The formula text box is enabled. | |||||||||||||||||||||
grayAreaBackColor | string | A color string used to represent the background color of the gray area , such as "red", "#FFFF00", "rgb(255,0,0)", "Accent 5", and so on. | |||||||||||||||||||||
highlightInvalidData | boolean | Invalid data is highlighted. | |||||||||||||||||||||
iterativeCalculation | boolean | Enables iterative calculation. See on Grapecity's website. | |||||||||||||||||||||
iterativeCalculationMaximumChange | numeric | Maximum amount of change between two calculation values. | |||||||||||||||||||||
iterativeCalculationMaximumIterations | numeric | Number of times the formula should recalculate. | |||||||||||||||||||||
newTabVisible | boolean | Display a special tab to let users insert new sheets. | |||||||||||||||||||||
numbersFitMode | number | Changes display mode when date/number data width is longer than column width. Available values:
| |||||||||||||||||||||
pasteSkipInvisibleRange | boolean | Paste or skip pasting data in invisible ranges:
| |||||||||||||||||||||
referenceStyle | number | Style for cell and range references in cell formulas. Available values:
| |||||||||||||||||||||
resizeZeroIndicator | number | Drawing policy when the row or column is resized to zero. Available values:
| |||||||||||||||||||||
rowResizeMode | number | The way rows are resized. Available values are the same as columnResizeMode | |||||||||||||||||||||
scrollbarAppearance | number | Scrollbar appearance. Available values:
| |||||||||||||||||||||
scrollbarMaxAlign | boolean | The scroll bar aligns with the last row and column of the active sheet. | |||||||||||||||||||||
scrollbarShowMax | boolean | The displayed scroll bars are based on the entire number of columns and rows in the sheet. | |||||||||||||||||||||
scrollByPixel | boolean | Enable precision scrolling by pixel. | |||||||||||||||||||||
scrollIgnoreHidden | boolean | The scroll bar ignores hidden rows or columns. | |||||||||||||||||||||
scrollPixel | integer | Decides scrolling by that number of pixels at a time when scrollByPixel is true. The final scrolling pixels are the result of scrolling delta * scrollPixel . For example: scrolling delta is 3, scrollPixel is 5, the final scrolling pixels are 15. | |||||||||||||||||||||
showDragDropTip | boolean | Display the drag-drop tip. | |||||||||||||||||||||
showDragFillSmartTag | boolean | Display the drag fill dialog. | |||||||||||||||||||||
showDragFillTip | boolean | Display the drag-fill tip. | |||||||||||||||||||||
showHorizontalScrollbar | boolean | Display the horizontal scroll bar. | |||||||||||||||||||||
showResizeTip | number | How to display the resize tip. Available values:
| |||||||||||||||||||||
showScrollTip | number | How to display the scroll tip. Available values:
| |||||||||||||||||||||
showVerticalScrollbar | boolean | Display the vertical scroll bar. | |||||||||||||||||||||
tabEditable | boolean | The sheet tab strip can be edited. | |||||||||||||||||||||
tabNavigationVisible | boolean | Display the sheet tab navigation. | |||||||||||||||||||||
tabStripPosition | number | Position of the tab strip. Available values:
| |||||||||||||||||||||
tabStripRatio | number | Percentage value (0.x) that specifies how much of the horizontal space will be allocated to the tab strip. The rest of the horizontal area (1 - 0.x) will allocated to the horizontal scrollbar. | |||||||||||||||||||||
tabStripVisible | boolean | Display the sheet tab strip. | |||||||||||||||||||||
tabStripWidth | number | Width of the tab strip when position is left or right. Default and minimum is 80. | |||||||||||||||||||||
useTouchLayout | boolean | Whether to use touch layout to present the Spread component. |
Example
To set the allowExtendpasteRange option in "ViewProArea":
var $workbookOptions : Object
$workbookOptions:= New Object
$workbookOptions.allowExtendPasteRange:=True
VP SET WORKBOOK OPTIONS("ViewProArea";$workbookOptions)
See also
VP SHOW CELL
VP SHOW CELL ( rangeObj : Object { ; vPos : Integer; hPos : Integer } )
Parameter | Type | Description | |
---|---|---|---|
rangeObj | Object | -> | Range object |
vPos | Integer | -> | Vertical view position of cell or row |
hPos | Integer | -> | Horizontal view position of cell or row |
Description
The VP SHOW CELL
command vertically and horizontally repositions the view of the rangeObj.
In rangeObj, pass a range of cells as an object to designate the cells to be viewed. The view of the rangeObj will be positioned vertically or horizontally (i.e., where rangeObj appears) based on the vPos and hPos parameters. The vPos parameter defines the desired vertical position to display the rangeObj, and the hPos parameter defines the desired horizontal position to display the rangeObj.
The following selectors are available:
Selector | Description | Available with vPos | Available with hPos |
---|---|---|---|
vk position bottom | Vertical alignment to the bottom of cell or row. | X | |
vk position center | Alignment to the center. The alignment will be to the cell, row, or column limit according to the view position indicated: | X | X |
vk position left | Horizontal alignment to the left of the cell or column | X | |
vk position nearest | Alignment to the closest limit (top, bottom, left, right, center). The alignment will be to the cell, row, or column limit according to the view position indicated: | X | X |
vk position right | Horizontal alignment to the right of the cell or column | X | |
vk position top | Vertical alignment to the top of cell or row | X |
This command is only effective if repositioning the view is possible. For example, if the rangeObj is in cell A1 (the first column and the first row) of the current sheet, repositioning the view will make no difference because the vertical and horizontal limits have already been reached (i.e., it is not possible to scroll any higher or any more to the left). The same is true if rangeObj is in cell C3 and the view is repositioned to the center or the bottom right. The view remains unaltered.
Example
You want to view the cell in column AY, row 51 in the center of the 4D View Pro area:
$displayCell:=VP Cell("myVPArea";50;50)
// Move the view to show the cell
VP SHOW CELL($displayCell;vk position center;vk position center)
Result:
The same code with the vertical and horizontal selectors changed to show the same cell positioned at the top right of the 4D View Pro area:
$displayCell:=VP Cell("myVPArea";50;50)
// Move the view to show the cell
VP SHOW CELL($displayCell;vk position top;vk position right)
Result:
See also
VP ADD CELL
VP Get active cell
VP Get selection
VP RESET SELECTION
VP SET ACTIVE CELL
VP SET SELECTION
VP SUSPEND COMPUTING
VP SUSPEND COMPUTING ( vpAreaName : Text )
Parameter | Type | Description | |
---|---|---|---|
vpAreaName | Text | -> | 4D View Pro area form object name |
Description
The VP SUSPEND COMPUTING
command stops the calculation of all formulas in vpAreaName. This command is useful when you want to suspend calculations in this 4D View Pro area so you can manually make modifications to formulas without encountering errors before you've finished making the changes.
The command pauses the calculation service in 4D View Pro. Formulas that have already been calculated remain unchanged, however any formulas added after VP SUSPEND COMPUTING
command is executed are not calculated.
In vpAreaName, pass the name of the 4D View Pro area. If you pass a name that does not exist, an error is returned.
The 4D View Pro calculation service maintains a counter of suspend/resume actions. Therefore, each execution of
VP SUSPEND COMPUTING
command must be balanced by a corresponding execution of theVP RESUME COMPUTING
command. Any formula impacted by modifications made while calculations are suspended will be recalculated when the command is executed.
Example
You've added two buttons to the form so that the user can suspend/resume calculations:
The Suspend Computing button code:
//pause calculations while users enter information
If(FORM Event.code=On Clicked)
VP SUSPEND COMPUTING("ViewProArea")
End if
If(FORM Event.code=On Clicked)
VP RESUME COMPUTING("ViewProArea")
End if