PC SOFT

ONLINE HELP
FOR WINDEV, WEBDEV AND WINDEV MOBILE

Home | Sign in | English US
  • Overview
  • How to proceed?
  • Adding a break into a Table control
  • Break header and footer
  • How to fill a Table control with breaks?
  • Handling the controls found in the break headers and footers
  • How to proceed?
  • Example
  • Automatic calculations in the breaks of a Table control
  • Handling the break headers and footers
  • To initialize the break headers and footers
  • Properties associated with the break headers and footers
  • WLanguage functions specific to the Table controls with breaks
  • Managing breaks in the Table controls by programming
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaReports and QueriesUser code (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Browser code
WINDEV Mobile
AndroidAndroid Widget iPhone/iPadApple WatchUniversal Windows 10 AppWindows Mobile
Others
Stored procedures
Overview
A break in a Table control is used to group rows according to one or more criteria.
For example, you have the ability to group:
  • the customers by country and by city,
  • the products according to their family, ...
Versions 16 and later
WINDEVWindows Mobile Implementing a total on a break is used to automatically perform a calculation (sum, count, average) for all the rows found in a given break. For example, a total on a break is used to calculate the turnover generated by each customer.
New in version 16
WINDEVWindows Mobile Implementing a total on a break is used to automatically perform a calculation (sum, count, average) for all the rows found in a given break. For example, a total on a break is used to calculate the turnover generated by each customer.
WINDEVWindows Mobile Implementing a total on a break is used to automatically perform a calculation (sum, count, average) for all the rows found in a given break. For example, a total on a break is used to calculate the turnover generated by each customer.
The breaks in a Table control are available for:
  • the browsing Table controls loaded in memory,
  • the memory Table controls.
  • Versions 20 and later
    WEBDEV - Server codeWEBDEV - Browser codePHP the Table controls in Standard, Ajax and Browser mode.
    New in version 20
    WEBDEV - Server codeWEBDEV - Browser codePHP the Table controls in Standard, Ajax and Browser mode.
    WEBDEV - Server codeWEBDEV - Browser codePHP the Table controls in Standard, Ajax and Browser mode.
Versions 20 and later
WINDEV Notes:
New in version 20
WINDEV Notes:
WINDEV Notes:
Versions 22 and later
Android This feature is now available for the Android applications.
iPhone/iPad This feature is now available for the iPhone/iPad applications.
New in version 22
Android This feature is now available for the Android applications.
iPhone/iPad This feature is now available for the iPhone/iPad applications.
Android This feature is now available for the Android applications.
iPhone/iPad This feature is now available for the iPhone/iPad applications.
How to proceed?

Adding a break into a Table control

To add a break into a Table control:
  1. Display the description of the Table control ("Description" from the popup menu).
  2. In the "Content" tab, click Icon for break addition . The window for break management is displayed.
    Note: The breaks are not available for the browsing Table controls with direct access.
  3. Select the item on which the break must be performed. Several items can be selected in order to perform several breaks. The proposed items depend on the type of the Table control:
    • Browsing Table control loaded in memory:
      • automatic browse: the search item, the column linked to the search item and the columns linked to no item are proposed. If the search item corresponds to a composite key, the components of this composite key, the columns linked to these components and the columns linked to no item are proposed.
      • programmed browse: the items of data file and the columns linked to these items are proposed.
    • Browsing Table control linked to a query:
      • automatic browse: the search item, the columns linked to this search item and the columns linked to no item are proposed. If the search item is not specified ("<Automatic>" option), the sorted items of the query, the columns linked to these items and the columns linked to no item are proposed.
      • programmed browse: the query items, the columns linked to these items and the columns linked to no item are proposed.
    • Memory Table control: all the columns found in the Table control are proposed.
  4. The breaks are performed according to their display order. Modify (if necessary) this order via the arrow buttons found on the right of the table.
  5. Validate.

Break header and footer

When adding a new break, a break header and a break footer are automatically added to the Table control. If the Table control includes several breaks, there will be as many break headers and break footers as the number of breaks.
The break headers and the break footers appear in edit in the Table control.
The characteristics of these break headers and footers (name, visibility, background color, ...) can be modified in their description window ("Description" from the popup menu).
Each break header and break footer is associated with the "Row display" process. This process is run when a new break header or break footer is displayed in the Table control.
These break headers and footers can contain controls. These controls can be handled by programming.
Versions 16 and later
WINDEVWindows Mobile The sums, means and counts are automatically performed in the breaks of the Table control. The controls found in the break headers and footers can display these calculations. See Automatic calculations in the table breaks for more details.
New in version 16
WINDEVWindows Mobile The sums, means and counts are automatically performed in the breaks of the Table control. The controls found in the break headers and footers can display these calculations. See Automatic calculations in the table breaks for more details.
WINDEVWindows Mobile The sums, means and counts are automatically performed in the breaks of the Table control. The controls found in the break headers and footers can display these calculations. See Automatic calculations in the table breaks for more details.
Notes:
  • WINDEVAndroidiPhone/iPadWindows Mobile In the description of the Table control ("Content" tab), you have the ability to specify whether the breaks must display (or not) a button used to collapse/expand the break ("Breaks with collapse/expand" option).
  • Versions 20 and later
    WEBDEV - Server codeWEBDEV - Browser codePHP In the description of the Table control ("Details" tab), if the type of fill is "Loaded in memory", the breaks can be collapsed/expanded via a simple click in the background of the break ("Collapsible/Expandable breaks via simple click in the background").
    New in version 20
    WEBDEV - Server codeWEBDEV - Browser codePHP In the description of the Table control ("Details" tab), if the type of fill is "Loaded in memory", the breaks can be collapsed/expanded via a simple click in the background of the break ("Collapsible/Expandable breaks via simple click in the background").
    WEBDEV - Server codeWEBDEV - Browser codePHP In the description of the Table control ("Details" tab), if the type of fill is "Loaded in memory", the breaks can be collapsed/expanded via a simple click in the background of the break ("Collapsible/Expandable breaks via simple click in the background").
  • Versions 15 and later
    WINDEVAndroidiPhone/iPadWindows Mobile In the description of the Table control, you have the ability to configure the image used to draw the "+" and "-" buttons in the table breaks. To do so, select the "Break, border in creation" element in the "Style" table then click the "Plus/Minus image of breaks" button.
    New in version 15
    WINDEVAndroidiPhone/iPadWindows Mobile In the description of the Table control, you have the ability to configure the image used to draw the "+" and "-" buttons in the table breaks. To do so, select the "Break, border in creation" element in the "Style" table then click the "Plus/Minus image of breaks" button.
    WINDEVAndroidiPhone/iPadWindows Mobile In the description of the Table control, you have the ability to configure the image used to draw the "+" and "-" buttons in the table breaks. To do so, select the "Break, border in creation" element in the "Style" table then click the "Plus/Minus image of breaks" button.
  • Versions 18 and later
    WINDEVAndroidiPhone/iPadWindows Mobile A break header can be always visible. In this case, during the scroll, the bar of the break will not be moved. In order for a break header to be always visible:
    • Select the break header and display its description ("Description" from the popup menu).
    • In the "GUI" tab, check "Break header always visible".
    New in version 18
    WINDEVAndroidiPhone/iPadWindows Mobile A break header can be always visible. In this case, during the scroll, the bar of the break will not be moved. In order for a break header to be always visible:
    • Select the break header and display its description ("Description" from the popup menu).
    • In the "GUI" tab, check "Break header always visible".
    WINDEVAndroidiPhone/iPadWindows Mobile A break header can be always visible. In this case, during the scroll, the bar of the break will not be moved. In order for a break header to be always visible:
    • Select the break header and display its description ("Description" from the popup menu).
    • In the "GUI" tab, check "Break header always visible".

How to fill a Table control with breaks?

For the browsing Table controls, the addition of records is automatically performed according to the file or to the associated query. The sort is performed according to the search item.
For the memory Table controls, the data additions are performed by TableAddLine. In order for a Table control to be sorted according to the specified breaks, you must use TableSort.
Example: Memory Table control: A break was defined on the Country and City columns:
// Fill the Table control
TableAddLine(TABLE_Breaks, "FRANCE", "Montpellier", "TEXT1", "Text1")
TableAddLine(TABLE_Breaks, "FRANCE", "Paris", "TEXT2", "Text2")
TableAddLine(TABLE_Breaks, "FRANCE", "Montpellier", "TEXT3", "Text3")
TableAddLine(TABLE_Breaks, "FRANCE", "Lille", "TEXT4", "Text4")

TableAddLine(TABLE_Breaks, "SPAIN", "Madrid", "TEXT1", "Text1")
TableAddLine(TABLE_Breaks, "SPAIN", "Barcelona", "TEXT3", "Text3")
TableAddLine(TABLE_Breaks, "SPAIN", "Barcelona", "TEXT4", "Text4")

TableAddLine(TABLE_Breaks, "ALGERIA", "Alger", "TEXT5", "Text5")
TableAddLine(TABLE_Breaks, "ALGERIA", "Oran", "TEXT6", "Text6")
TableAddLine(TABLE_Breaks, "ALGERIA", "Alger", "TEXT7", "Text7")
TableAddLine(TABLE_Breaks, "ALGERIA", "Chlef", "TEXT8", "Text8")
TableAddLine(TABLE_Breaks, "ALGERIA", "Alger", "TEXT9", "Text9")

TableAddLine(TABLE_Breaks, "SPAIN", "Madrid", "TEXT2", "Text2")

// Sort the content of the Table control according to the breaks
TableSort(TABLE_Breaks, TABLE_Breaks.Country..Name, TABLE_Breaks.City..Name)
Handling the controls found in the break headers and footers

How to proceed?

To handle the controls found in the break headers and footers
  • handle each control found in all the break headers and footers:
    <Control Name> .. <Property Name> = <Value>
    or
    <Table Name>.<Name of Break Header/Footer>.<Control Name>..<Property Name> = <Value>
  • handle each control found in a given break:
    <Table Name>[<Subscript>].<Control Name>..<Property Name> = <Value>

    <Subscript> corresponds to the row number for the break.
Notes:
  • These code lines must be found in the "Row display" process of the break header and footer.
  • Special case: Check Box control: a Check Box control containing several options and located in the break headers and footers cannot be assigned by programming. If several check boxes are required in the break headers and footers, we recommend that you use a Check Box control for each checkmark.

Example

This code is used to display in the "STC_Country" control the name of the country displayed in the Country column. This code is entered in the code for displaying a row of BreakHeader:
// Code for displaying the break
// Retrieves the subscript of the break (BRK_BreakHeader)
BreakSubscript is int = TableBreakSubscript(BRK_BreakHeader)

// Fixes the value of the static found in the break
TABLE_CUSTOMERS[BreakSubscript].STC_COUNTRY = "Country: " + TABLE_Articles.COL_CountryName
Versions 16 and later
Automatic calculations in the breaks of a Table control
WINDEVWindows Mobile
You have the ability to perform automatic calculations (sum, count and average) in the break headers and footers.
To implement the automatic calculations:
  1. Insert a Static control or an edit control into the break header and footer. This control will contain the automatic calculation.
  2. Display the description window of control ("Description" from the popup menu).
  3. In the "GUI" tab, in the "In a break, display" area, click the "No calculation" link or click the calculation description (if an automatic calculation was already defined). The description window of an automatic calculation is displayed.
  4. Select the calculation to perform. You can choose:
    • "The sum of": the control will display the sum per break.
    • "The average of": the control will display the average on the break.
    • "The number (count) of": the control will count the number of elements per break.
  5. Select the element on which the calculation must be performed. You have the ability to perform the calculation on a column of the Table control.
  6. Validate the different windows.
Tips:
  • Don't forget to modify the input mask of the control that displays the calculation according to the type of calculated information.
  • Don't hesitate to use the "eye magnet" technology on the edit controls that display calculations in the breaks. This gives you the ability you to highlight a calculation (displaying an insufficient turnover in red for example).
New in version 16
Automatic calculations in the breaks of a Table control
WINDEVWindows Mobile
You have the ability to perform automatic calculations (sum, count and average) in the break headers and footers.
To implement the automatic calculations:
  1. Insert a Static control or an edit control into the break header and footer. This control will contain the automatic calculation.
  2. Display the description window of control ("Description" from the popup menu).
  3. In the "GUI" tab, in the "In a break, display" area, click the "No calculation" link or click the calculation description (if an automatic calculation was already defined). The description window of an automatic calculation is displayed.
  4. Select the calculation to perform. You can choose:
    • "The sum of": the control will display the sum per break.
    • "The average of": the control will display the average on the break.
    • "The number (count) of": the control will count the number of elements per break.
  5. Select the element on which the calculation must be performed. You have the ability to perform the calculation on a column of the Table control.
  6. Validate the different windows.
Tips:
  • Don't forget to modify the input mask of the control that displays the calculation according to the type of calculated information.
  • Don't hesitate to use the "eye magnet" technology on the edit controls that display calculations in the breaks. This gives you the ability you to highlight a calculation (displaying an insufficient turnover in red for example).
Automatic calculations in the breaks of a Table control
WINDEVWindows Mobile
You have the ability to perform automatic calculations (sum, count and average) in the break headers and footers.
To implement the automatic calculations:
  1. Insert a Static control or an edit control into the break header and footer. This control will contain the automatic calculation.
  2. Display the description window of control ("Description" from the popup menu).
  3. In the "GUI" tab, in the "In a break, display" area, click the "No calculation" link or click the calculation description (if an automatic calculation was already defined). The description window of an automatic calculation is displayed.
  4. Select the calculation to perform. You can choose:
    • "The sum of": the control will display the sum per break.
    • "The average of": the control will display the average on the break.
    • "The number (count) of": the control will count the number of elements per break.
  5. Select the element on which the calculation must be performed. You have the ability to perform the calculation on a column of the Table control.
  6. Validate the different windows.
Tips:
  • Don't forget to modify the input mask of the control that displays the calculation according to the type of calculated information.
  • Don't hesitate to use the "eye magnet" technology on the edit controls that display calculations in the breaks. This gives you the ability you to highlight a calculation (displaying an insufficient turnover in red for example).
Handling the break headers and footers

To initialize the break headers and footers

All the break headers and footers can handled:
<Name of Break Header/Footer>..<Property Name> = <Value>
Note: These code lines must be found in the "Row display" process of the break header and footer.
Example: Code used to modify the height of the break headers:
BreakHeader1..Height += 10

Properties associated with the break headers and footers

The following properties are associated with the break headers and footers:
CollapsedAllows you to find out and modify the "collapsed" status of a break.
HeightAllows you to find out and modify the height of a break header or footer.
NameReturns the name of a break header or footer.
TypeReturns the type of an element.
VisibleAllows you to find out whether a break header or footer is visible and to make a break header or footer visible.
To find out the entire list of available properties, see Properties available for the breaks (Table).
WLanguage functions specific to the Table controls with breaks
The following functions can be used to handle the breaks in the Table controls:
Versions 15 and later
TableBreakSubscript
New in version 15
TableBreakSubscript
TableBreakSubscript
Returns the subscript of the break header and footer for a given break in a Table control.
Versions 11 and later
TableCollapse
New in version 11
TableCollapse
TableCollapse
Collapses:
  • a branch that was previously expanded in a TreeView Table control
  • a break that was previously expanded in a Table control
  • a detailed window displayed for a row.
Versions 11 and later
TableCollapseAll
New in version 11
TableCollapseAll
TableCollapseAll
Collapses:
  • the entire hierarchy (all nodes) of a TreeView Table control.
  • all breaks of a Table control
Versions 11 and later
TableExpand
New in version 11
TableExpand
TableExpand
Expands:
  • a branch that was previously collapsed in a TreeView Table control.
  • a branch that was previously collapsed in a Table control.
  • a detailed window displayed for a row.
Versions 11 and later
TableExpandAll
New in version 11
TableExpandAll
TableExpandAll
Expands:
  • the entire hierarchy (all the nodes) of a TreeView Table control.
  • all breaks of a Table control
Versions 22 and later
WINDEV
Managing breaks in the Table controls by programming
The following functions are used to create and handle breaks in the tables:
Versions 22 and later
BreakAdd
New in version 22
BreakAdd
BreakAdd
Adds a break into a Table control or into a Looper control.
Versions 22 and later
BreakDelete
New in version 22
BreakDelete
BreakDelete
Deletes a break from a Table control or from a Looper control.
Versions 22 and later
BreakDeleteAll
New in version 22
BreakDeleteAll
BreakDeleteAll
Deletes all the breaks from a Table control or from a Looper control.
Adding a break into a table is performed by BreakAdd. The created break corresponds to a Control variable that can be handled by the same WLanguage properties as a break created in the editor.
Example:
// Add a green break on the date into the Table control
x is Control
x <- BreakAdd(TABLE_Order.COL_DATE, "BrkDate", brkHeader, 50)
x..BrushColor = DarkGreen // Colors the break in green
New in version 22
WINDEV
Managing breaks in the Table controls by programming
The following functions are used to create and handle breaks in the tables:
Versions 22 and later
BreakAdd
New in version 22
BreakAdd
BreakAdd
Adds a break into a Table control or into a Looper control.
Versions 22 and later
BreakDelete
New in version 22
BreakDelete
BreakDelete
Deletes a break from a Table control or from a Looper control.
Versions 22 and later
BreakDeleteAll
New in version 22
BreakDeleteAll
BreakDeleteAll
Deletes all the breaks from a Table control or from a Looper control.
Adding a break into a table is performed by BreakAdd. The created break corresponds to a Control variable that can be handled by the same WLanguage properties as a break created in the editor.
Example:
// Add a green break on the date into the Table control
x is Control
x <- BreakAdd(TABLE_Order.COL_DATE, "BrkDate", brkHeader, 50)
x..BrushColor = DarkGreen // Colors the break in green
WINDEV
Managing breaks in the Table controls by programming
The following functions are used to create and handle breaks in the tables:
Versions 22 and later
BreakAdd
New in version 22
BreakAdd
BreakAdd
Adds a break into a Table control or into a Looper control.
Versions 22 and later
BreakDelete
New in version 22
BreakDelete
BreakDelete
Deletes a break from a Table control or from a Looper control.
Versions 22 and later
BreakDeleteAll
New in version 22
BreakDeleteAll
BreakDeleteAll
Deletes all the breaks from a Table control or from a Looper control.
Adding a break into a table is performed by BreakAdd. The created break corresponds to a Control variable that can be handled by the same WLanguage properties as a break created in the editor.
Example:
// Add a green break on the date into the Table control
x is Control
x <- BreakAdd(TABLE_Order.COL_DATE, "BrkDate", brkHeader, 50)
x..BrushColor = DarkGreen // Colors the break in green
Related Examples:
The Table control with break Unit examples (WINDEV): The Table control with break
[ + ] Using the Table control with break.
Minimum required version
  • Version 14
This page is also available for…
Comments
Click [Add] to post a comment