The list view field edit type displays an object collection property in a list control on a detail screen. This list contains all of the same definable behaviors as a list screen, but is contained within a detail screen. Multiple list views may be displayed on a single detail screen. This is the default edit type for a field targeting an object collection property.
When a field is defined with a list view edit type, that field will have column child definitions. A list view field can be defined on a wizard detail screen for a transaction or fetch. However, the attributes for the double-click actions will be disabled, as actions may not be executed from a wizard.
List View Child Definitions
- Column Definition: A list screen column defines what object property is displayed for each record in a list control and how it is formatted on the screen.
List View Data/Styles Attributes
The list view data and style attributes set the basic behavior of the view, including how styles can be applied to the list view field.
- Collection: References the object collection property the list view is to display. This collection is normally a property of the object definition the parent screen set is defined to display.
- Include Rule: References a Rule definition expected to return a Boolean value and that is evaluated once for and in the context of each object in the collection displayed by the list view. When an include rule is specified, only those objects for which the rule evaluates to true will be listed in the list view.
- Icons Image: References an image definition containing an image list to be displayed in a column on the list view. This is an image list with the positions of the images in each list then referenced by the child column definition’s Icon attribute. Note that columns may also reference image definitions to use for this same purpose, though they may not be image lists.
- Header Label: The style to apply to the list view’s header label. If no header label is defined this attribute has no affect on the screen.
- Column Labels: The style to apply to the column labels on the screen’s list control.
- Rows: The style to apply to all rows on the list view. The Hyperlinks optional style will override the Rows style for cells with hyperlinks.
- Alternate Rows: The style to apply to every other row in the list, beginning with the second row. The Hyperlinks optional style will override the Alternate Rows style for every other row, specifically cells containing hyperlinks within the row.
- Highlight Rows: The style to apply to a row for the purposes of drawing attention to that row. This style should always be returned via a rule definition that evaluates the object being listed. The optional Hyperlinks style will be applied to the highlighted row’s cells containing a hyperlink.
- Selected Rows: The style to apply to the row currently selected by the user in the list control. The optional Hyperlink style will be applied to any cells within the selected row containing a hyperlink.
- Detail Pane: The style to apply to both the foreground (text) and background of the list view’s detail pane. If no detail pane is defined this attribute has no affect on the screen.
List View Actions/Sorting Attributes
The list view actions and sorting attributes control how the user interacts with the list view, including double-clicking on or off an item in the list and behaviors related to sorting and reordering the columns. Note that the double-click attributes will be disabled for list view fields defined on wizard detail screens.
- Double-Click On Item - Action: Specifies the action to execute when the user double-clicks a list view record.
- Double-Click On Item - Target: Specifies the target of the Double-Click On Item - Action. A target must always be specified for the action and is typically the selected object in the list view.
- Double-Click Off Item - Action: Specifies an action to be executed when the user double-clicks the list view without clicking on an item. This is most commonly used to execute an action that instantiates an add transaction for the object type being listed.
- Double-Click Off Item - Target: Specifies the target of the Double-Click off Item - Action. A target must always be specified for the action. Typically the target is the parent object of the object collection property displayed by the list view.
- Fixed Sort Property: Specifies the property definition within the object type being listed by which to sort the items in the list. Selecting a property here prevents the user from resorting the list on any other column. The Order option to this attribute is set to specify the sort order, either ascending or descending.
- Allow Sort: Specifies if the user can sort the list by clicking on a column header. This is enabled by default, and is disabled if a Fixed Sort Property is set.
- Initial Sort Column: Specifies a column definition by which the list will be sorted upon initial display of the list view. This attribute requires that a column definition exist before it can be set. The Order option to this attribute is set to specify the sort order, either ascending or descending. If the list view allows the list to be sorted (Allow Sort is true) the list will be displayed sorted in the order of the last sort action. If a Fixed Sort Property is set, this attribute is disabled.
- Allow Multi-Row Select: Specifies if the user can select more than one record in the list at the same time. If multiple items are selected in a list, actions that target the selected object in the list will be executed once for each selected object. The default for selecting multiple objects requires a Ctrl+Click combination (mouse input) or a click and drag operation (stylus input) by the user, depending on the device type. The Enable Single Click option to this attribute may be set to allow multiple records to be selected with a single click by the user. Deselecting a record requires the user to click it again. This feature is normally most useful on touch screen devices using a stylus, as it allows non-sequential records in the list to be selected.
- Allow Reorder: Specifies whether or not the user can reorder the columns displayed in the list view by dragging and dropping the column headers. This is enabled by default.
- Allow Filter: Specifies whether or not the user can filter the items in the list. A filter icon is displayed at the bottom of the list view field when enabled. The user can click this icon to select filter options. Individual column definitions may be defined to prohibit filtering on those columns.
List View Header/Detail Pane Attributes
Using these attributes, a header label or a detail pane may be added to the list view field. Header label and Detail pane attributes are set to display additional information about the list as a whole or about the currently selected item in the list. The Header Label is a static line of text displayed above the list view, within the area given to the field. This text may be static, set via certain available format strings, or set via a rule. A rule referenced for this purpose is expected to return a string value and is evaluated in the context of the object displayed by the parent screen set.
The Detail Pane is redrawn each time a new object is selected in the list and almost always contains either format strings or is set via a rule’s return value. Rules are evaluated in the context of the selected object in the list and are expected to return a string value. The detail pane drawn on the screen is a multi-line, read-only text box that may be scrolled horizontally or vertically if needed. The detail pane is drawn within the are given to the list view field and will reduce the amount of space for the list items.
- Header Label: Specifies the header text for the list view. A common use for this header label is the total number of objects displayed in the list vs. the total number of objects in the collection, which may be different when a filter is enabled. The format strings used for this purpose are %DisplayedCount and %TotalCount.
- Detail Pane: When true, a text box on the list view. The detail pane is updated each time the user changes their selection in the list view.
- Position: Controls where the detail pane is displayed on the screen in relation to the list control. This may below the list or to its right.
- Size: Sets the pixel size of the detail pane within the list view field. The default is 50. If the Position is “Bottom” the detail pane will span the width of the space given to the field and the Size will set its height. If the Position is “Right” the detail pane will span the height of the space given to the field and the Size will set its width.
- Word Wrap: When enabled, lines of text longer than the width of the detail pane will be wrapped to the next line. When disabled, text will continue off the detail pane. The user will need to scroll the detail pane to view the text.
- Format: Sets the values displayed in the detail pane. This pane can be set to a combination of static text and format strings, which take the form %propertyName. The propertyName is the name of a property defined within the selected object and will be updated with the value of that property each time a different object is selected. It may also be set to the return value of a rule, which is evaluated in the context of the selected object instance and is expected to return a string.
List View Scanner Attributes
The scanner attributes for a list view affect only those list view fields defined for a detail screen that is used by a scanner platform only when the detail screen is displayed on a client device with a barcode scanner. At least one column definition within the list view must be defined to support scan filtering.
- Show Button: This attribute specifies whether or not a button is displayed to activate the device’s barcode scanner.
- Single Match Action: Specifies what action is executed when a scanned barcode value matches one of the records displayed in the list view. The target of the action will always be the object instance found to match.
- No Match Action: Specifies what action is executed when the scan filter criteria does not match any records in the list. The target of the action is the parent object to the collection property displayed by the list view.
- Label Types: Specifies what barcode types are accepted by the Agentry Client. If no Label Type is specified, all types supported by the client device’s scanner will be supported. To restrict the label types, enter the name of each label type to support, separated by a comma.
- Minimum Value: The minimum number of characters accepted by the Agentry Client from the device scanner. If the value scanned in contains fewer characters, it will be ignored.
- Maximum Value: The maximum number of characters to be accepted by the Agentry Client from the device scanner. If the value scanned in contains more characters, it will be ignored.
- Shortcut Key: This attribute can define a shortcut key combination to activate the device’s barcode scanner. This shortcut cannot be the same as any other shortcut defined for the current screen or any system level shortcuts configured on the client device.