The Table (

) form object represents a table with rows and columns. Enter the name of the table object in the
Name field. The table columns include headers. Clear the
Show headers check box to remove the headers.
Select the Automatically add new rows check box to make the table add a new row when the user enters new values in the same way as for tables containing global parameters and variables in the COMSOL Desktop.
To make the table rows sortable, select the Sortable check box. This way, users can sort the rows by clicking the table column headers. The rows are sorted in the following sequence: ascending, descending, and then unsorted (the original row order in the table).
In addition, the Settings window contains the following sections.
In this section, you add the sources for the table data. The section contains a tree with a filtered view of the tree in the Application Builder window. The nodes either represent some sort of data or have children that do. For a table, arrays that you have added under
Declarations are available as the data source for a table. When you select a node that represents data, the
Add to Table toolbar button (

) below the tree becomes enabled. You can click it or, alternatively, press Enter, double-click, or right-click the node and choose
Add to Table. The data source you select becomes the source of the data displayed in the table, and the initial values from the data source appear in the table input object. You can also click the
Create New Declaration and Use It as Source button (

) or the
Create New Form Declaration and Use It as Source button (

) in the
Sources section header to create a new global or local (in the form) variable declaration for the table and use it as the source. A
Create and Use Declaration dialog box opens so that you can select the data type of the source (if applicable), its name, and its initial value (if applicable). The name cannot be in conflict with any existing variable declaration. You can extend the list of available data nodes by clicking the
Switch to Model Builder and Activate Data Access button (

). Click the
Edit Node toolbar button (

) below the tree to move to the corresponding node.
In the table below, there is a row for each column, where you can edit the header text under Header, the width (in pixels) under
Width, and whether or not the table data is editable (the default) under
Editable. The table columns where you select the
Grow check box can grow horizontally. To make it possible for table columns to grow, the form in which you add the table must use the Grid mode and you must select
Fill from the
Horizontal alignment list under
Position and Size (see below). You can adjust the alignment of the column’s data presentation using the lists in the
Alignment column. Choose
Left (the default),
Center, or
Right. The rightmost column,
Data source, lists the sources for the data in each column.
Click the Move Up and
Move Down buttons (

and

) to move and rearrange the column order. Click the
Delete button (

) to delete the selected column.
When you work with data sources for tables, the following rules apply when changing sources to a table from methods, for example, but also if you perform a set command on a specific data source that is part of a table. In the rules below, the
first data source of a table is the source that controls the number of rows in the table. All other sources used by the table will be padded with default element values or cropped to match the length of the first data source. The first data source has a lock symbol on its tree node.
From the Position list, choose where you want to position the toolbar relative to the table:
Below (the default),
Above,
Left, or
Right.
You can choose from two icon sizes: From the Icon size list, choose
Small (the default) or
Large.
Click the Add Toolbar Commands button (

) to open the
Toolbar Buttons dialog box, where you can select and add one or more of the following table commands as toolbar buttons.
Under Move (

), double-click the
Move Up (

) and
Move Down (

) buttons to add corresponding buttons for moving rows.
Under Modify (

):
•
|
Double-click the Clear Table button (  ) to add a button for clearing the entire table of all its contents.
|
Under File (

), double-click the
Load from File (

),
Clear Table and Load from File (

), and
Save to File (

) buttons to add corresponding buttons for loading table data from a file, clearing the table first and then loading new content from a file, and saving table data to a file, respectively. The file types that users can load and save table data to and from include text files (.txt); CSV files (.csv); data files (.dat); and, if the license includes LiveLink™
for Excel®, Microsoft Excel
® files (,xlsx). Allowed data separators are comma, semicolon, and tab for CSV files, and space and tab for other non-Excel
® files.
Double-click the Move,
Modify, and
File buttons to add all buttons in those groups. Alternatively, click the
Add and
Remove buttons to add and remove the selected buttons, respectively. Click the
Custom Button button to open the
Edit Custom Toolbar Item dialog box (see
The Edit Custom Toolbar Item Dialog Box).
Click OK to close the
Toolbar Buttons dialog box and add the selected commands as buttons in the table’s toolbar. If you open the
Toolbar Buttons dialog box again, it’s left side contains only the table commands that you have not added yet.
Click the Add Separator button (

) to add a separator between groups of buttons in the toolbar.
Select a button in the table and click the Edit button (

) if you want to change the appearance or behavior of a custom toolbar button in the
Edit Custom Toolbar Item dialog box. Click the
Move Up and
Move Down buttons (

and

) to move and rearrange the toolbar button order. Click the
Delete button (

) to delete the selected button.
The table contains a row for each added item, showing its name, icon, text, and tooltip in the Name,
Icon,
Text, and
Tooltip columns, respectively. In the leftmost column, an error symbol (

) or a warning symbol (

) appears to indicate a warning or error in the added item. For example, an error symbol appears for a toggle item that is missing a source.
•
|
From the Horizontal alignment list, choose Left, Center, Right, or Fill, which automatically expands the form object to fill the cell in the horizontal or vertical direction (where applicable).
|
•
|
From the Vertical alignment list, choose Middle, Top, Bottom, or Fill, which automatically expands the form object to fill the cell in the horizontal or vertical direction (where applicable).
|
The need to specify the alignment is most obvious when working in the grid mode, as it controls how the form object is aligned in its grid cell. Aligning the form object can be useful in the sketch mode too, and you can then use the alignment tools on the Arrange menu in the
Form toolbar’s
Sketch section. When running the application in any client other than the Windows client, the form objects may not be positioned exactly as seen in the form windows. This is because the form objects may have a different size in other clients, giving them a slightly different positioning. Specifying the alignment ensures that the form objects are aligned as you want them to be in all clients.
You can also specify the height of the table. Enter a height (in points) in the Height field. If you have chosen
Fill from the
Horizontal alignment list, you can instead specify a
Minimum width. Choose
Automatic to compute the minimum width automatically (typically, this means a minimum size of 0) or choose
Manual to specify a minimum width in the text field underneath. The
Width field is unavailable because the width of the table is determined by the software.
Additionally, in the sketch mode, you can specify the absolute position of the table using the Position x and
Position y fields. In the grid mode, you can position the object in the grid and see the grid position as the
Row,
Column,
Row span, and
Column span values.
Under Cell margin (in grid mode only), you can control the margins around the form object. By default, the margins are taken from the parent form. From the
Cell margin list, choose:
•
|
None, for no margin around the form object
|
•
|
Custom, to specify the margins for the form object in the Horizontal and Vertical text fields
|
From the Text color list, select a color to use for the text:
Inherit (the default; the form object then uses the setting from the Form it is located in), any of the predefined basic colors, or
Custom, which makes it possible to select a custom color from a color palette.
The font and the font size for the text in the table use the font settings from the Forms node by default. Select a font from the
Font list:
Default font or any of the available fonts. If needed, choose or enter a font size (in points) in the
Font size combo box. The default font size is
Default size.
You can also select the Bold check box to use a boldface font or the
Italic check box to use italics (an italic font).
Under State, you can control the initial state of the table when users run the application. By default, the table is visible and enabled. Clear the
Visible or
Enabled check box if you want to make the initial state so that the table is hidden or unavailable. You can then make it visible or enable it using a method. In the Form Editor, the state of the form object is indicated by a change in its appearance. Objects that are hidden become visible when selected in the Form Editor.
You can specify a method or command sequence that the application runs when an event such as data entry occurs. The On data change list contains
None (the default) and any available methods or command sequence. You can add the following types of events by choosing from the
Create Global Method menu (

) to the right of the
On data change list:
•
|
Choose Create Global Method (  ) to create a global method. Type the name of the global method in the Name field of the Create Global Method dialog box that opens and then click OK. The global method is then added under Methods, and its Method Editor window opens.
|
•
|
Choose Create Form Method (  ) to create a form method. Type the name of the form method in the Name field of the Create Form Method dialog box that opens and then click OK. The form method is then added under the Methods node under the Form node, and its Method Editor window opens.
|
•
|
Choose Create Local Method (  ) to create a local method. Its Method Editor window opens.
|
•
|
Choose Create Command Sequence (  ) to create a command sequence using the Create Command Sequence dialog box that opens. There you can choose commands from the available Forms, GUI Commands, Declarations, Form Declarations, Methods, Form Methods, Libraries, and Model folders. To add a command, right-click the desired command node and choose the command to use ( Run, for example). The command then appears in the list of commands below. You can edit that command sequence using the toolbar buttons for moving and deleting commands below the table. Click the Convert to Method button (  ) and choose Convert to Method or Convert to Form Method to convert the command sequence to a method. Click the Go to Method button (  ) below the table to select the method in the Application Builder tree and open the method in a Method Editor window. For commands that include arguments, click the Edit Argument button (  ) to choose an argument in the Edit Argument dialog box that opens.
|
There can only be one local method and one command sequence so if you add one or both of them, the menu will instead contain Remove Local Method (

) and
Remove Command Sequence (

), respectively. Click one of them to delete the local method or command sequence.
The selected method in the On data change list then changes to the created method or command sequence. You can also Ctrl+Alt-click the table object or right-click it to create a local method or (by choosing
Edit Method or
Edit Local Method) to open the method associated with the command. To open the selected method or command sequence, click the
Go to Source button (

). The focus then moves to the method’s editor window or the
Command Sequence dialog box, respectively.