A grid can group its rows by a column: GroupBy names it, and the grid puts a header above each group with its name, how many records it holds and its subtotals. GroupLevels groups by up to three columns, each within the last. With AllowGrouping, users group the rows themselves by dragging column headers onto the strip above the headers, or from the strip's Add grouping menu. Groups can be collapsed to their header, and a date column is grouped by the day, month, quarter or year.
The contacts start grouped by company. Drag another column header — the birthday or one of the text columns — onto the strip to group each company's contacts by it as well: dropped past the chips it becomes the innermost level, dropped on a chip it goes before it, and a chip dragged elsewhere on the strip moves its level. A date can only be the innermost. A grouped column leaves the table while the groups' headers show each contact's own value of it — not for a birthday grouped by month, quarter or year — and the search still finds contacts by it. On each chip, the arrow reverses the order of its groups, a date column picks its span, and the X takes that level away. A column's menu groups the contacts by that column instead, or adds it as a subgroup. Each header shows how many contacts the group holds, their emails counted and their average age; click a header to collapse the group. Switch to cards to see the same groups above the cards. Export to Excel to get the groups in an outline, collapsed as they are here, with their subtotals as formulas.