+getVisibleValue( rowElement : Element, columnNumber : int ) : Object
+getVisibleValue( rowNumber : int, columnNumber : int ) : Object
+getVisibleValueAsString( rowElement : Element, columnNumber : int ) : String
+getVisibleValueAsString( rowNumber : int, columnNumber : int ) : String
Getting generic table data
A Generic Table is a special diagram. You can retrieve it by using the variable $Diagram. Thus, every method must accept the diagram instance or diagram name.
Use the following method to get the Generic Table instance. We use Generic Table instances to retrieve table information such as row elements and column names.
Getting generic table instances from diagram elements
To get a Generic Table instance from a specified diagram element, use the following code.
getTable( diagram : Diagram) : Table
Code Block
language
text
#set($table = $generic.getTable($diagram))
Where the parameter is:
diagram – the diagram element.
Return the instance of a Generic Table.
Example code:
Code Block
language
text
#foreach($diagram in $project.getDiagrams("Generic Table"))
#set($table = $generic.getTable($diagram))
#end
Getting generic table instances from diagram names
To get a Generic Table instance from a specific diagram name, use the following code.
Use the following method to close a table diagram.
Closing all diagram tables
CloseTables() : Void
Code Block
language
text
$generic.closeTables()
Closing a specific table diagram
closeTable(diagram: Diagram) : Void
Code Block
language
text
$generic.closeTable($diagram)
Where the parameter is:
diagram – a table diagram you want to close.
Closing a table diagram with a specific diagram name
closeTable(diagramName: String) : Void
Code Block
language
text
$generic.closeTable($diagramName)
Where the parameter is:
diagramName – the name of a table diagram you want to close.
Getting row elements
The Generic Table consists of a series of row elements and column names. Use the following methods to retrieve a list of row elements.
Getting all row elements
getRows() : List<Element>
Code Block
language
text
$table.getRows()
The returned value is a list of Elements. The following shows an example of how to print all row element names.
Code Block
language
text
#foreach($row in $table.rows)
$row.name
#end
Getting all filtered row elements
getFilteredRows() : List<Element>
$table.getFilteredRows()
The returned value is a list of Elements that have been filtered by the Filter field.
#foreach($row in $table.getFilteredRows())
$row.name
#end
The figure below shows the rows returned after applying the filter.
Rows returned after filtering.
Getting row elements in specific row numbers
getRow( rowNumber : int ) : Element
Code Block
language
text
$table.getRow($rowNumber)
Where the parameter is:
rowNumber – the row number starts with 0.
The returned value is an Element.
Getting column names
Column names are referred by column IDs. A column is a MagicDraw QProperty ID that is not readable or accessible by the user. We need to create other methods that provide better usability than using QProperty ID. Use the following methods to retrieve column names.
Info
The methods in this section retrieves column names from the list returned by Show Columns menu item from generic table diagram. The methods in the preceding section, however, retrieves column names from the diagram itself and not from the list returned by Show Columns menu item.
Getting column names from column ID
getColumn( columnId : String) : String
Code Block
language
text
$table.getColumn($columnId)
Where the parameter is:
columnId – the ID of a column. Using column IDs has a benefit of consistency between different languages, for example, French and English. The column ID can be retrieved by the method getColumnIds().
The returned value is the name of a column.
Getting column names from column numbers
getColumn(columnNumber : int) : String
Code Block
language
text
$table.getColumn($columnNumber)
Where the parameter is:
columnNumber – a column number starts with 1. The column number 0 is the row number.
The returned value is the name of a column.
Getting all column names
getColumnNames() : List<String>
Code Block
language
text
$table.getColumnNames()
The returned value is a list of column names.
Example code:
Prints all column names.
Code Block
language
text
#foreach($colname in $table.getColumnNames())
$colname
#end
Getting all column IDs
getColumnIds() : List<String>
Code Block
language
text
$table.getColumnIds()
The returned value is a list of column IDs.
Example code:
Print all columns IDs
Code Block
language
text
#foreach($colid in $table.getColumnIds())
$table.getColumn($colid)
#end
Getting cell values
A cell value is the value in a row element with a column name. To get a cell value, you need to provide both the row element and column. A cell value is an Element or row number. Use the following methods to retrieve a cell value.
A visible cell value is the column which is visible on a diagram. Unlike the methods described in section 23.1.5 Getting Cell Values, the following methods will retrieve only the value which is visible on a diagram.
Getting all visible column IDs
getVisibleColumnIds() : List<String>
Code Block
language
text
$table.getVisibleColumnIds()
The returned value is a list of visible column IDs.
Getting visible column names from column numbers
getVisibleColumn( columnNumber : int) : String
Code Block
language
text
$table.getVisibleColumn($columnNumber)
Where the parameter is:
columnNumber – a column number starts with 1. The column number 0 is the row number.
The returned value is the name of a visible column.
Getting visible values from row elements and column number
getVisibleValue( rowElement : Element, columnNumber : int ) : Object