Dynamic Table Column Builder
In this topic ...
Related Topics ...
Use the Dynamic Table Column builder to modify the look and content of an existing column in a table. Using this builder we can change the following characteristics of a table column:
- Column display position
- Column header label
- Column cell type
The Dynamic Table Column builder can only operate on the columns defined in a Dynamic Table builder call. If the Dynamic Table builder call uses a variable as its data source, the Dynamic Table Column builder can derive a list of columns from the variable.
If the Dynamic Table builder call uses a method, or Java expression as its data source, enter the column names as a comma-delimited list in the Dynamic Table builder call's Column Elements input, allowing the Dynamic Table Column builder to determine a list of columns on which it can operate.
Quick Tips
- Making column data display as buttons, links, etc. -- Use the Header Cell Type and Data Cell Type inputs to change the way the column displays its heading and data.
Specifying Inputs
The Dynamic Table Column builder takes the inputs described in the table below. For help on inputs common to many or all builders such as those in the Properties and HTML Attributes input groups, see "Using the Builder Call Editor."
Input Name Description Name Enter a name for this builder call. The Designer displays this name in the Builder Call List. Table Name Select the table to which you want to add a column definition. Column Element Select the name of the column to which you want to assign this builder. Any formatting options appear only in the column you selected in the Column Element drop-down menu. Where the column appears in the table depends upon the order entered in the Column Elements field in the builder editor of the Dynamic Table builder. For example, assume you entered company, employee, phone number in the Column Elements field in the builder editor of the Dynamic Table builder. This means the company column appears first, the employee column second, and then the phone number column third.
Important: Make sure that only one Dynamic Table Column builder is assigned to a column.
Header Cell Type Select one of the following object types you want to appear in the header cell:
- Text - Displays the contents of the header as text.
- Link - Displays the contents of the header as a link.
- Button - Displays the contents of the header as a button's label
- Image - Displays the contents of the header as an image
- Image Button - Displays the contents of the header as an image for a button.
Header Text Enter the text you want to appear in the header. You can also enter an indirect value. If you leave this field empty, no header appears for the column.
Header Action Type Defines the behavior of the of the action. Choose an action type based on the action that will process the onClick event and if you want to process any form inputs as part of that action.
- Submit form and invoke action - Choose this option if the specified action is a method in the model or LJO and that method processes the inputs to the form on which the button resides.
- Submit form to URL - Choose this option if the specified action is a URL outside of the Factory that will process the inputs to a form. The specified URL receives the form input values as name/value pairs appended to the URL.
- Link to an action - Choose this option if the specified action is a method in the model or LJO (including Service Calls). Acts as a simple link, transferring control directly to the specified URL. The specified action cannot process any form inputs.
- Link to a URL - Choose this option if you want to navigate to a non-Factory URL. The URL cannot process any form inputs.
Header Action (appears when the Link, Button, or Image Button option is selected in the Header Cell Type drop-down menu.
Select an action you want to occur when the link or button in the header is clicked. Data Cell Type Select one of the following object types you want to place in the cells of the column: Data Action Type Defines the behavior of the of the action. Choose an action type based on the action that will process the onClick event and if you want to process any form inputs as part of that action.
- Submit form and invoke action - Choose this option if the specified action is a method in the model or LJO and that method processes the inputs to the form on which the button resides.
- Submit form to URL - Choose this option if the specified action is a URL outside of the Factory that will process the inputs to a form. The specified URL receives the form input values as name/value pairs appended to the URL.
- Link to an action - Choose this option if the specified action is a method in the model or LJO (including Service Calls). Acts as a simple link, transferring control directly to the specified URL. The specified action cannot process any form inputs.
- Link to a URL - Choose this option if you want to navigate to a non-Factory URL. The URL cannot process any form inputs.
Data Action (appears when one of the following is selected in the Data Cell Type menu: Link, Button, Image Button)
Select an action you want to occur when the link, button, or image button is clicked in the column. (optional) Column Visibility If you want the column to appear to some users but not to others, assign a visibility setter value to the column. The value entered in this field would be to an indirect reference, containing the visibility setter value. This value could change at run time, and as a result, you could define which users would see the column based on their profile. For example, assume you have a table containing four columns and you want some of the columns to appear only to certain users, you would do one of the following:
- If you want only one column not appear to some users, select false; otherwise, assign it the value of true.
- If you want more than one column not to appear to some users, you might want to enter a path to a variable that contains the values for all of the columns, ${Variables/tablecolumns}. The variable of XMLData would resemble the following:
<visibility>
<columntagname1>true</columntagname1>
<columntagname2>false</columntagname2>
<columntagname3>false</columntagname3>
<columntagname4>true</columntagname4>
</visibility>
where
- columntagname1, columntagname2, columntagname3, and columntagname4 correspond to the Column Element for the respective column.
- columntagname1 and columntagname4 appear to the user
- columntagname2 and columntagname3 do not appear to the user
Look & Feel (optional) Horizontal Alignment Select one of the following to determine the horizontal alignment of the objects in the column:
- left
- center
- right
(optional) Vertical Alignment Select one of the following to determine the vertical alignment of the objects in the column:
- left
- center
- right
(optional) CSS Style Class If the page links to a CSS stylesheet or uses styles embedded in a <STYLE /> element, enter the CSS class name to be used for all data elements in the column. Advanced Header / Data (Note: Header inputs are displayed if you select a value for the Header Cell Type input)
(Note that Data inputs are displayed if you select a value for the Data Cell Type input)
Target The window or frame which will display the results of the action. If you do not set this value, the current window/frame will be the target. Valid entries for the Target value include...
- _self - Display results in the frame containing the form. If the Target setting is not specified, _self is the default.
- _blank - Display results in a new browser window.
- _parent - Display results in the frameset above the frame containing the form.
- _top - Display results the topmost frameset.
- We can also specify the name of a Frame in the current frameset.
All of these targets are relative to the form being processed, not the button itself.
Rendering Mode If you know that the specified action returns a specific page, set Rendering Mode to "Normal." If you do not know the specific page that gets returned, set Rendering Mode to "Return Outermost page after running action". For example, use this setting when creating a builder.