From 46be7da59bafa9ed988af67f49ccfab4c99a997b Mon Sep 17 00:00:00 2001 From: John Cardinal Date: Fri, 7 Jan 2022 00:02:48 +0000 Subject: [PATCH] --- .../ayanova/docs/ay-start-form-data-tables.md | 38 +++++++++++++----- .../ayanova/docs/img/form-data-table-sort.png | Bin 0 -> 17586 bytes 2 files changed, 28 insertions(+), 10 deletions(-) create mode 100644 docs/8.0/ayanova/docs/img/form-data-table-sort.png diff --git a/docs/8.0/ayanova/docs/ay-start-form-data-tables.md b/docs/8.0/ayanova/docs/ay-start-form-data-tables.md index d17c62f7..ee0ce399 100644 --- a/docs/8.0/ayanova/docs/ay-start-form-data-tables.md +++ b/docs/8.0/ayanova/docs/ay-start-form-data-tables.md @@ -10,7 +10,7 @@ Most data tables in AyaNova share the same common menu options. One ore more of This menu option opens a list of [reports](ay-report.md) available to be rendered from this data list. -[Filtering](#filtering-data) affects which records will be rendered in reports; what is available in the data table is what is sent to the report rendering engine. So, for example, if you filter for only work orders from the current week that is what will be reflected in the report. +[Filtering](#filtering-columns) affects which records will be rendered in reports; what is available in the data table is what is sent to the report rendering engine. So, for example, if you filter for only work orders from the current week that is what will be reflected in the report. Individual records can be selected for reporting by checking the checkboxes in the leftmost column when available in which case only the records selected will be sent to the report rendering engine. @@ -26,7 +26,7 @@ This menu item shows the name of the last report rendered in this form to save t The Extensions menu item works with data selected similarly to how reporting works: -[Filtering](#filtering-data) affects which records will be sent to the extension for processing; what is available in the data table is what is sent to the extension. +[Filtering](#filtering-columns) affects which records will be sent to the extension for processing; what is available in the data table is what is sent to the extension. So, for example, if you filter to a specific sub-set of records only those records will be processed by the extension. @@ -44,7 +44,7 @@ The help menyu item will open a specific help document from the manual related t About menu option will open the [About form](ay-about.md) which displays the version information and other information and links helpful for technical support and diagnostic / troubleshooting purposes. -## Header +## Table header ![data table header](img/form-data-table-header.png) @@ -67,7 +67,7 @@ You can also select the `-` none option from the saved filter pick list to remov ##### Saving filters -[Create / edit filters](#filtering-data) then click on the edit icon to the left of the saved filter selection list to open the saved filter editor. +[Create / edit filters](#filtering-columns) then click on the edit icon to the left of the saved filter selection list to open the saved filter editor. ![data table saved filter dialog](img/form-data-table-saved-filter-dialog.png) @@ -107,21 +107,39 @@ If a saved filter is selected and one or more of the columns being filtered are In this example the [column selector](#column-selector) is highlighted because there is a filter applied to the `Head Office` column which is not set to display. -It is not necessary to display a hidden column, this highlighting is to indicate to the user that one ore more columns are being filtered that are not visible. +It is not necessary to display a hidden column, this highlighting is to indicate to the user that one or more hidden columns are being filtered. ## Column headers ![data table columns header](img/form-data-table-columns-header.png) -todo: fill in here how to use column headers and integrate infor belo0w in a #### level titles +Column headers not only display the name of that column but also provide controls to [filter](filtering-columns) and [sort](sorting-columns) the columns. -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Column header names are designed to wrap around in cases where they would not all fit horizontally to ensure as much data as possible can be displayed on all screen sizes. -elements of the data table +#### Checkbox record selection column -filtering +In most tables the leftmost column consists of checkboxes for selecting individual records. The checkbox selection column header can be used to select or deselect all visible records in the display. -### Filtering data +Note that this **selects** _visible_ records only so if you are viewing 10 records at a time but there are 100 only the 10 visible records will be selected. However it **de-selects** _all_ previously selected records regardless of whether they are visible or not. + +This is by design to allow a user to make selecting subsets of records easier but clearing all selections easy as well. + +#### Sorting columns + +Columns are sorted by clicking on their names to toggle their sort mode betwen ascending, descending or unsorted. The column headers will display an arrow indicating the sort direction and a number indicating the order they were selected which affects the data returned: + +![data table sort](img/form-data-table-sort.png) + +In this example it can be seen that the data has been sorted by the Customer Name column *first* in *ascending* order indicated by the number 1 beside a downward pointing arrow sort indicator. + +It is sorted by the work order column *secondarily* in *descending* order indicated by the number 2 beside an upward pointing arrow sort indicator. + +This results in a list ordered by customer name first from a to z then by work order number from highest to lowest. + +To remove a sort click on the column header name until the sort arrow indicator disappears. + +#### Filtering columns ### Filtering dates diff --git a/docs/8.0/ayanova/docs/img/form-data-table-sort.png b/docs/8.0/ayanova/docs/img/form-data-table-sort.png new file mode 100644 index 0000000000000000000000000000000000000000..a96afddb757363ad12f67234da1b4660c8ed2e53 GIT binary patch literal 17586 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 J3NfSa{|$9=Pl^Bl literal 0 HcmV?d00001